【发布时间】:2013-10-27 13:24:42
【问题描述】:
我需要做的是使用MPI 中的派生数据类型将二维数组旋转 90 度(3 个处理器上为 3x3,4 个处理器上为 4x4 等)。我发现在 C 中对数组使用 Alltoall 函数:
[ 1][ 2][ 3][ 4]
[ 5][ 6][ 7][ 8]
[ 9][10][11][12]
[13][14][15][16]
我会像这样分发数据:
1:[ 1][ 5][ 9][13]
2:[ 2][ 6][10][14]
3:[ 3][ 7][11][15]
4:[ 4][ 8][12][16]
接下来我应该做什么(我应该采取什么步骤)以正确的顺序(反映 90 度旋转的顺序)在一个处理器(根)上将此向量作为数组收集?
提前致谢。
【问题讨论】:
标签: arrays matrix parallel-processing rotation mpi