3

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

在我的带有 mpich2 的 ubuntu 笔记本电脑上,我确实获得了 3 级的支持,并且具有相同的代码。但是,我需要使用集群进行研究。我的程序是 C++。

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

4

1 回答 1

6

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

MPICH_MAX_THREAD_SAFETY=multiple

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

于 2012-07-30T04:04:42.993 回答