使用c进行OpenMP优化

我应该优化下面的代码,使其使用openMP和内存阻塞运行至少16倍。 到目前为止,我只能想到使用下面的简单语句来折叠for循环。 这使它运行速度提高了3倍。 有什么想让它接近16?

int i,j; #pragma omp parallel for collapse(2) //my inserted code for (i = 0; i < MSIZE; i++) for (j = 0; j < MSIZE; j++) d[i][j] = c[j][i]; 

在外部作用域中声明内部循环索引时,必须使用private子句为每个线程提供自己的副本。 崩溃可能会干扰simd矢量化。