使用 PETSc 的并行蒙特卡罗模拟

计算科学 并行计算 宠物 本征系统 特征值 蒙特卡洛
2021-11-29 05:44:10

我正在尝试对一个大问题进行蒙特卡罗模拟,该问题需要对每个样本的矩阵进行特征解。矩阵本身非常大,以至于我希望特征解本身也是平行的。

这可能需要将处理器划分为子组,然后在每个组内并行化此特征解。我正在尝试为此使用 PETSc 和 SLEPC。

我可以进行简单的并行化,但我无法使用这样的子分组。有谁知道,如何做到这一点?

1个回答

如果您知道如何将问题静态划分为子组,您可以尝试将 MPI 进程划分为这些子组,然后为每个子组创建一个 MPI 通信器。大多数 PETSc 和 SLEPc 对象创建例程都将通信器作为参数,因此MPI_COMM_WORLD您可以使用通过分区定义的子通信器来代替使用。