有没有一种简单的方法来使用Open MPI?

时间:2013-01-22 17:30:39

标签: clang openmpi

OpenMPI strongly recommends使用他们的包装器编译器。在幕后,他们的包装器编译器mpiCC调用gcc(默认情况下?)并为MPI代码添加必要的标志进行编译。但是,其他编译器提供比gcc更多的描述性错误消息(例如clang,它也是GCC兼容的)。所以,我希望能够在Open MPI中使用clang。

我试过了:

1)找到用于指定编译器的mpiCC选项,但

mpiCC --help

只是吐出g ++帮助页面。

2)使用--showme:compile选项

mpiCC --showme:compile ./test-boost.cc -lboost_mpi -lboost_serialization -o test-boost

,而不是调用gcc,打印编译MPI代码所需的标志。然后我可以使用那些与clang(因为它是GCC兼容的)。这应该有效,但我正在寻找一个更简单的解决方案。

1 个答案:

答案 0 :(得分:11)

Open MPI FAQ说明可以设置哪些环境变量来覆盖包装器调用的编译器的默认选择。

http://www.open-mpi.org/faq/?category=mpi-apps#override-wrappers-after-v1.0

根据OpenMPI的版本,您应设置OMPI_CXX=clang++OMPI_MPICC=clang。对于OpenMPI v.1.1及更高版本,使用OMPI_CXX然后调用包装器编译器。包装器将依次调用clang ++。