在调用MPI_Init()之前获取MPI线程数

时间:2018-11-07 12:51:07

标签: c++ mpi

我有一个用C ++编写的程序,该程序能够使用MPI例程。因此,我的主要功能是

int main(int argc, char **argv)
{
    MPI_Init(&argc, &argv);
    //Other code

    MPI_Finalize();
    return 0;
}

现在,我正在为MPI_Init()使用第三个变量的自定义函数。我想根据mpirun -n x main调用中使用的线程数量来设置此变量。因此,在调用MPI_Init()之前,我需要知道线程数量。我可以使用MPI_Comm_size(MPI_COMM_WORLD, &world_size);来获取此号码,但为此我必须已经致电MPI_Init()。因此,有没有办法在调用MPI_Init()之前获取MPI线程数?

1 个答案:

答案 0 :(得分:0)

不,这不可能。

通常,您仍然应该尽早执行MPI_Init