13

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

Makefile:79: * MPI not found, not building 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

我现在真的很困惑,我不知道该怎么办。

4

3 回答 3

13

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

这里的问题是您没有安装 MPI 编译器。您需要为 Mac OSX 安装 MPICC 编译器。这些说明将使用 MPI 的 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

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

现在创建指向 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 时,它会正确构建。

于 2012-10-31T21:57:04.580 回答
7

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

sudo port install mpich

这也将使将来更容易更新,因为它们托管的是最新版本。

于 2013-01-12T18:53:35.170 回答
5

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

brew install mpich2

通过自制软件安装 mpich 后,我可以编译所有 CUDA 示例。

于 2013-05-16T08:27:06.963 回答