mpi:MPI_INIT_THREAD提供了支持级别

时间:2012-05-08 01:55:00

标签: multithreading mpi openmp cray

我在群集上使用openmp。当我使用具有所需级别的线程支持的MPI_INIT_THREAD 作为MPI_THREAD_MULTIPLE时,提供的级别是支持仅为2.我不知道,我是在做错误还是缺少编译器标志。在这个集群上,可以使用mpi,openmp等。

在我的带有mpich2的ubuntu笔记本电脑上,我提供的支持级别为3,代码相同。但是,我需要使用群集进行研究。我的程序是C ++。

如果我需要改变什么,请告诉我。谢谢。如果我需要提供更多信息,请告诉我。

1 个答案:

答案 0 :(得分:4)

在大多数当前的Cray机器上,您可以通过设置环境变量来启用所需的MPI_THREAD_MULTIPLE

MPICH_MAX_THREAD_SAFETY=multiple

对于Cray XT4,您必须加载一个模块才能启用它(它将替换默认的MPI库);我再也无法访问XT4了,所以我不记得该模块的名称。