Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
268 views
in Technique[技术] by (71.8m points)

c - Transpose matrix with MPI_Alltoallv

I'd like to transpose a matrix b using MPI_Alltoallv and store it in bt.

Each process contain nlocal rows of b. For example:

Proc0: 0 | 10 | 20 | 30

Proc0: 1 | 11 | 21 | 31

Proc1: 100 | 110 | 120 | 130

Proc1: 101 | 111 | 121 | 131

I'd like bt being like:

Proc0: 0 | 1 | 100 | 101

Proc0: 10 | 11 | 110 | 111

Proc1: 20 | 21 | 120 | 121

Proc1: 30 | 31 | 130 | 131

The submatrices are stored in 2d arrays (b[0] contains the first row and b[1] the second row). I found the solution when each process contains only one row, but not when I have several. Any ideas ?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...