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

时间:2012-10-31 11:50:07

标签: 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

我现在很困惑,我不知道该怎么做。

3 个答案:

答案 0 :(得分:13)

正如评论中所提到的,可以通过使用make -k,或者完全删除simpleMPI子目录,或者重命名该目录中的Makefile来有效地绕过simpleMPI示例。但是,如果希望在Mac上实际安装MPI版本以便能够构建simpleMPI示例,那么这些说明应该有所帮助:

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

Direct link to MPICH2 1.4 download

您可以按照these instructions为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

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

现在创建指向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++

或者,另一种选择是添加

/usr/local/mpich2-optimized/bin 

到你的路上。

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

答案 1 :(得分:7)

或者只使用MacPorts进行安装。命令是

sudo port install mpich

由于它们托管最新版本,因此将来更容易更新。

答案 2 :(得分:5)

或者只使用Homebrew进行安装。命令是

brew install mpich2

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