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

Amm*_*mar 9 clang openmpi

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

我试过了:

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

mpiCC --help
Run Code Online (Sandbox Code Playgroud)

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

2)使用--showme:compile选项

mpiCC --showme:compile ./test-boost.cc -lboost_mpi -lboost_serialization -o test-boost
Run Code Online (Sandbox Code Playgroud)

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

Dmi*_*rov 13

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 ++.