对于矩阵乘法,我们一般会用三重循环来实现,但当矩阵维数相当大时,将矩阵分分块分割成为近似CPU缓存大小,会大大提高计算效率.原因就是直接三重循环会导致单个矩阵元素来来回回的从缓存进出,而分块后,进出的数据是以分块矩阵的大小为单位的.另外,平时我们估算算法的效率主要矛盾不在于CPU浮点运算有多快,而是看缓存到内存的搬运速度有多快,因为缓存到内存的速度跟CPU运算差的不是一个数量级.
为什么大型矩阵乘法要用分块
最新推荐文章于 2024-08-26 21:46:59 发布
对于矩阵乘法,我们一般会用三重循环来实现,但当矩阵维数相当大时,将矩阵分分块分割成为近似CPU缓存大小,会大大提高计算效率.原因就是直接三重循环会导致单个矩阵元素来来回回的从缓存进出,而分块后,进出的数据是以分块矩阵的大小为单位的.另外,平时我们估算算法的效率主要矛盾不在于CPU浮点运算有多快,而是看缓存到内存的搬运速度有多快,因为缓存到内存的速度跟CPU运算差的不是一个数量级.