首页 > 解决方案 > C中的MPI循环

问题描述

我需要遍历一个二维数组,对数组的所有元素执行操作,进行一些迭代。这是我的代码:

for (for_iters=0;for_iters<ITERS;for_iters++) 
   { 
     diff = 0.0;

     for (i=1;i<n;i++)
     {
       for (j=1;j<n;j++)
       {
         tmp = A[i][j];
         A[i][j] = 0.3*(A[I][j] + A[i][j-1] + A[i-1][j] + A[i][j+1] + A[i+1][j]);
       }

     }
     iters++;

    } /*for*/
}

问题是将上面的代码翻译成 MPI。我想我可以划分数组的元素以使每个进程都处理数组的一部分,但是我不知道如果代码的每一行每个进程执行一次,如何制作外循环?如果我有 3 个进程,我会创建 3 个外部循环吗?

标签: cmpi

解决方案


推荐阅读