我正在使用pdpotrf()来执行 Cholesky 分解。然后我想调用pdpotri()来反转矩阵。该函数从每个进程调用,就在pdpotrf()
. 我应该在那里设置一个障碍,以便我确定所有过程都通过 Cholesky 分解完成,然后继续进行反演部分,还是不需要?
我写了一些输入很小的例子,这表明它不是必需的,但我想确定我不只是(不)幸运并且面临更大输入的问题。
请注意,我所说的障碍是指:MPI_Barrier(MPI_COMM_WORLD);
编辑
我只是担心在其他一些过程终止 Cholesky 分解之前可能会开始反转。pdpotri()
照顾这个吗?我的意思是,如果需要,它会检查并等待。还是pdpotri()
仅在其调用过程的子矩阵中起作用?如果是这样,则不需要屏障。