几天前,我尝试编译并制作CUDA Toolkit 5.0示例以验证安装。 但是,在制作过程中,制作simpleMPI样本时出错。 没有详细说明我假设我需要将Open MPI安装到我的主机上。 我已经下载了最新版本,例如的openmpi-1.6.2。 然后根据Open MPI FAQ page我已经运行
./configure --prefix=/usr/local
make all install
但遗憾的是,make命令出错了。我决定深入研究,Mac OS X有一个内置的Open MPI捆绑包。我又发现了一个FAQ page for Mac OS X users,并尝试以这种方式在/ opt / openmpi文件夹中安装Open MPI
./configure --prefix=/opt/openmpi 2>&1 | tee config.out
shell$ make -j 4 2>&1 | tee make.out`
再没有运气了。失败了。那一刻我明白我可以跳过simpleMPI样本而且我这样做了!
再一次,没有详细说明,我决定从不必要的文件清理我的系统,做了愚蠢的事make unistall
而不是make clean
。
现在, nvcc 编译器似乎已损坏,我需要重新安装或修复内置的Open MPI捆绑包。
问题是如何实现这一目标? Alsough我有TimeMachine备份。
P.S。 simpleMPI CUDA示例的问题是here。如何制作simpleMPI样本构建已经有了明确的答案。
更新[2012年11月3日22:09]
成功安装MPICH2后没有运气。适当的值添加到PATH:
vim ~/.bash_profile
export MPI_DIR=/usr/local/Cellar/mpich2/1.5/
export PATH=$MPI_DIR/bin:/usr/local/cuda/bin:/Developer/NVIDIA/CUDA-5.0/bin:$PATH
export LD_LIBRARY_PATH=$MPI_DIR/lib:$LD_LIBRARY_PATH
export DYLD_LIBRARY_PATH=/usr/local/cuda/lib:$DYLD_LIBRARY_PATH
export EDITOR=vim
通过终端呼叫nsight
运行NSight。这很重要,因为我试图将NSight锁定到码头。但是当从Dock运行时,NSight找不到GPU设备。所以每次我使用终端。
我尝试创建新的CUDA Runtime C / C ++项目并运行它。但是NSight每次都以同样的方式失败。这是:
nvcc -G -g -O0 "src/Simple CUDA RT Proj.o" "../src/Simple CUDA RT Proj.cu"
i686-apple-darwin11-llvm-g++-4.2: src/Simple CUDA RT Proj.o: No such file or directory
make: *** [src/Simple CUDA RT Proj.o] Error 1
每个项目都有相同的问题,主要.o文件丢失。
更新[2012年11月4日10:36 UTC]
我已经通过 brew 安装了Fortran编译器。并尝试使用前缀urs / local构建OMPI(根据OSX FAQ实体)。 一两个小时后失败并出现错误:
sh: usr/local/cuda/bin/echo: No such file or directory
make[2]: *** [util/hostfile/orte_hosts.7] Error 127
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
更新[2012年11月5日13:40]
尝试使用以下参数构建open-mpi-v1.9:
./configure --enable-shared --enable-sharedlibs=osx-gcc --enable-fast=all --prefix=/usr/local --with-cuda=/usr/local/cuda --with-cudalib=/usr/local/cuda/lib
现在因类似错误而失败:
sh: usr/local/cuda/bin/mv: No such file or directory
看起来make-script尝试访问cuda / bin目录中的顶级二进制文件并使失败。似乎make-script错误地将相对快速的系统范围调用(如mv
或echo
)转换为使用cuda bin目录的绝对路径。这是不正确的配置选项还是Open MPI错误?
或者,Open MPI可能不是主要问题?也许我应该寻找别的东西? 我的主要煤炭正在运行CUDA代码!