我正在使用MPI解决PDE问题。为此,我将2D域分解为不同的单元格(每个单元格的大小为“xcell,ycell
”xcell = size_x_domain/(number of X subdomains)
和ycell = size_y_domain/(number of Y subdomains)
。
所以,我正在使用number of processes = (number of X subdomains)*(number of Y subdomains)
相对于顺序版本的增益是我在表示子域的每个进程之间进行通信。
这里的图说明我的8个进程的细分(X的2个子域和Y的4个子域):
(xs,xe
)代表单元格的x_start
和x_end
,
(ys,ye
)代表单元格的y_start
和y_end
我想知道是否必须设置x(i,j)
数组, i索引为行索引而 j为列索引?
将第一个索引放在行中,第二个索引放在列中是一般规则吗? (例如,用C,Fortran和Matlab语言或者更多)
感谢您的帮助。
答案 0 :(得分:-1)
我不确定,但也许可以尝试为所有4个通信设置不同的标志。