开发者

Gaussian elimination forward and backward - parallelization?

is there any way how to make gaussian elimination backwards? I mean, I solved with forward Gaussian elimination half of a matrix (under matrix there are zeros under diagonal) and then I have made backward substitution. But for future MPI parallelization I don't see much of a perspective, so I thin开发者_运维知识库k it could be better to parrallelize forward and backward gaussian elimination. What do you think?

Thanks


How did you parallelize the first step of the elemination?

I mean, the backward parallelization is basically the same algorithm, just done from bottom to top. So why not use your algorithm again?

Just one algorithm that came to my mind, should be easy to implement:

Assume a Matrix of size [k x k] where A_x_y is the y'th element in the x'th line. So now just go backwards like this:

 i = k
 while(i > 1)
      broadcast A_i_i
      if(line < i)
           do Gaussion elimination step
      i--

The important part is basically that you only need to broadcast one element (or two if you have a LSE), because all other parts of a line are already zero I assumed that you split up several lines to each processor, which seems the most reasonable MPI data split for me.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜