如何启用Linux中的openmpimultithreading标志?

我尝试在openmpi中使用MPI_THREAD_MULTIPLE选项。 为了这个工作,我发现我需要在openmpiconfiguration中启用multithreading选项。 我不知道该怎么做? 有人可以帮助我在这个。 先谢谢您。我在我的系统中检查了openmpi设置。 线程的设置如下:

Thread support: posix (MPI_THREAD_MULTIPLE: no, OPAL support: yes, OMPI progress: no, ORTE progress: yes, Event lib: yes) FT Checkpoint support: no (checkpoint thread: no) 

如何启用MPI_THREAD_MULTIPLE标志?

在openMPI 2.0.1中,它是./configure --enable-mpi-thread-multiple 。 使用这个来重新编译openmpi,并使用int ret = MPI_Init_thread(&argc, &argv, MPI_THREAD_MULTIPLE, &prov); assert(ret == 0 && prov == MPI_THREAD_MULTIPLE); int ret = MPI_Init_thread(&argc, &argv, MPI_THREAD_MULTIPLE, &prov); assert(ret == 0 && prov == MPI_THREAD_MULTIPLE); 启动MPI。

默认打开MPI主分支在MPI_THREAD_MULTIPLE,因此你不会在./configure中看到这个选项–help

如果你想配置那个尝试检查到v2.x或类似的,并用该选项重新编译

  • ./configure –help | grep线程 – > –enable-mpi-thread-multiple