小编Naw*_*wal的帖子

块矩阵矩阵乘法的最佳块大小值

我想用以下 C 代码进行块矩阵矩阵乘法。在这种方法中,大小为 BLOCK_SIZE 的块被加载到最快的缓存中,以减少计算过程中的内存流量。

void bMMikj(double **A , double **B , double ** C , int m, int n , int p , int BLOCK_SIZE){

   int i, j , jj, k , kk ;
   register double jjTempMin = 0.0 , kkTempMin = 0.0;

   for (jj=0; jj<n; jj+= BLOCK_SIZE) {
       jjTempMin = min(jj+ BLOCK_SIZE,n); 
       for (kk=0; kk<n; kk+= BLOCK_SIZE) {
           kkTempMin = min(kk+ BLOCK_SIZE,n); 
           for (i=0; i<n; i++) {
               for (k = kk ; k < kkTempMin ; k++) { …
Run Code Online (Sandbox Code Playgroud)

parallel-processing caching hpc matrix matrix-multiplication

7
推荐指数
1
解决办法
3301
查看次数