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版本,这里通常可以使用
您可以按照这些说明为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时,它会正确构建.
或者只使用MacPorts安装.命令是
sudo port install mpich
Run Code Online (Sandbox Code Playgroud)
由于它们托管了最新版本,因此将来也可以更容易地进行更新.
或者只使用Homebrew安装.命令是
brew install mpich2
Run Code Online (Sandbox Code Playgroud)
我可以通过自制软件安装mpich后编译所有CUDA样本.