在制作CUDA 5.0样本时遇到与MPI相关的问题(Mac OS X ML)

Ger*_*_RU 13 macos cuda makefile mpi openmpi

当我尝试制作CUDA 5.0样本时,会出现错误:

Makefile:79:*未找到MPI,没有构建simpleMPI ..停止.

我已经尝试下载并构建最新版本的Open MPI,以支持Open MPI"FAQ/Platforms/OS X/6.我如何不使用OS X捆绑的Open MPI?" 页面,它没有解决错误.

make -j 4 2>&1 | tee make.out
[ lots of output ]
make[2]: *** [mpi/man/man3/MPI_Comm_disconnect.3] Error 127
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
Run Code Online (Sandbox Code Playgroud)

我现在很困惑,我不知道该怎么办.

Rob*_*lla 13

如注释中所述,可以通过使用make -k,或者完全删除simpleMPI子目录,或者重命名该目录中的Makefile来有效地绕过simpleMPI示例.但是,如果需要在mac上实际安装MPI版本以便能够构建simpleMPI示例,这些说明应该有所帮助:

这里的问题是您没有安装MPI编译器.您需要为Mac OSX安装MPICC编译器.这些说明将使用MPICH的MPICH2版本,这里通常可以使用

直接链接到MPICH2 1.4下载

您可以按照这些说明为Mac OSX构建和配置MPICH2.在配置步骤中,还要添加--disable-f77和--disable-fc:

./configure --enable-shared --enable-sharedlibs=osx-gcc --enable-fast=all --prefix=/usr/local/mpich2-optimized --disable-f77 --disable-fc
Run Code Online (Sandbox Code Playgroud)

然后按照指南说明进行制作然后进行安装

现在创建到MPICC的符号链接,以便您可以轻松地构建CUDA MPI

sudo ln -s /usr/local/mpich2-optimized/mpicxx /usr/bin/mpicxx 
sudo ln -s /usr/local/mpich2-optimized/mpic++ /usr/bin/mpic++
Run Code Online (Sandbox Code Playgroud)

或者,另一种选择是添加

/usr/local/mpich2-optimized/bin 
Run Code Online (Sandbox Code Playgroud)

走向你的道路.

现在制作simpleMPI时,它会正确构建.


Fer*_*Wyk 7

或者只使用MacPorts安装.命令是

sudo port install mpich
Run Code Online (Sandbox Code Playgroud)

由于它们托管了最新版本,因此将来也可以更容易地进行更新.


Rob*_*ldt 5

或者只使用Homebrew安装.命令是

brew install mpich2
Run Code Online (Sandbox Code Playgroud)

我可以通过自制软件安装mpich后编译所有CUDA样本.