中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

数据分布

SCALAPACK中的进程以进程网格的形式排列,一般情况下进程网格是2D的,当然也存在1D的进程网格。

在2D网格中,若进程形成的进程网格拥有P个进程行和Q个进程列,可以用它在进程网格中的坐标表示为(pq),其中0≤p≤P ,0≤q≤Q ,下面为6个节点的进程分布。

上图中进程是以行优先顺序分布至进程网格上,除此之外还可以使用列优先顺序分布至进程网格上。在默认情况下,使用行优先顺序进行进程网格映射。

当进程网格确定后,矩阵按照预先设置的分块大小mb x nb,循环往复地分配至进程网格上。下面是将矩阵分布在进程网格上,各块所在的进程编号情况:

当P或Q被设置为1时,进程网格被设置为1D,在进程网格中的坐标可以按照进程编号设置为p或者q,其中0≤p≤P或0≤q≤Q。

将相同大小的矩阵分配至该1D进程网格上,矩阵划分及每个列块所在进程编号如下图所示:

上图为将P置为1的1D进程网格的数据分布情况,在实际应用中,也可以将Q置为1,此时进程网格上的数据块以行为基本划分单元。