在制作 CUDA 5.0 示例时遇到 Open MPI 相关问题 (Mac OS X ML)
Posted
技术标签:
【中文标题】在制作 CUDA 5.0 示例时遇到 Open MPI 相关问题 (Mac OS X ML)【英文标题】:Having Open MPI related issues while making CUDA 5.0 samples (Mac OS X ML) 【发布时间】:2012-10-20 20:53:54 【问题描述】:当我尝试制作 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
我现在真的很困惑,我不知道该怎么办。
【问题讨论】:
如果使用单个进程在 simpleMPI 目录中运行 make 会发生什么? 对于 CUDA 5 示例构建,如果您不关心 simpleMPI 示例而只想构建其余示例,请尝试使用 make -k @talonmiescd /Developer/NVIDIA/CUDA-5.0/samples/0_Simple/simpleMPI/ make Makefile:79: *** MPI not found, not building simpleMPI.. Stop.
@RobertCrovella,好的,我现在就试试
我不熟悉为 mac 构建 openMPI,但是 make clean 命令可用的情况并不少见,它应该删除由 make 命令构建的任何文件。 make uninstall 通常只会在成功的 make 和 make install 之后使用。由于您从未成功制作过 openMPI,因此我假设您没有进行 make 安装。 make clean,然后删除源树(甚至只是删除源树,因为可能所有构建的对象都在该树下。)
【参考方案1】:
正如 cmets 中提到的,simpleMPI 示例可以通过使用 make -k 有效地绕过,或者完全删除 simpleMPI 子目录,或者重命名该目录中的 Makefile。但是,如果希望在 mac 上实际安装 MPI 版本以便能够构建 simpleMPI 示例,这些说明应该会有所帮助:
这里的问题是您没有安装 MPI 编译器。您需要为 Mac OSX 安装 MPICC 编译器。这些说明将使用 MPICH2 版本的 MPI,一般可用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 时,它会正确构建。
【讨论】:
【参考方案2】:或者只是使用MacPorts 安装。命令是
sudo port install mpich
这也将使将来更容易更新,因为它们托管的是最新版本。
【讨论】:
【参考方案3】:或者只是使用Homebrew 安装。命令是
brew install mpich2
通过 homebrew 安装 mpich 后,我可以编译所有 CUDA 示例。
【讨论】:
谢谢大家!由于某些原因,我的 CUDA 开发暂时冻结了!以上是关于在制作 CUDA 5.0 示例时遇到 Open MPI 相关问题 (Mac OS X ML)的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 7 中使用 Open MPI 和 CUDA
我正在尝试运行 CUDA 示例,但我在 Ubuntu 16.04 LTS 上遇到了 openGL (libGLEW.a) 问题