Cuda 修复Mac OS X中内置的开放MPI包

Cuda 修复Mac OS X中内置的开放MPI包,cuda,mpi,osx-mountain-lion,openmpi,repair,Cuda,Mpi,Osx Mountain Lion,Openmpi,Repair,几天前,我尝试编译并制作CUDA Toolkit 5.0示例来验证安装。 但是,在制作过程中,在制作simpleMPI样本时出现了错误。 在没有详细说明的情况下,我假设我需要在主机上安装openmpi。 我已经下载了当时的最新版本,例如openmpi-1.6.2。 那么根据我的跑步记录 但不幸的是,make命令过程中出现了错误。我决定深入研究,并发现MacOSX有一个内置的开放MPI包。我又找到了一个,并尝试以这种方式在/opt/openmpi文件夹中安装openmpi ./config

几天前,我尝试编译并制作CUDA Toolkit 5.0示例来验证安装。 但是,在制作过程中,在制作simpleMPI样本时出现了错误。 在没有详细说明的情况下,我假设我需要在主机上安装openmpi。 我已经下载了当时的最新版本,例如openmpi-1.6.2。 那么根据我的跑步记录

但不幸的是,make命令过程中出现了错误。我决定深入研究,并发现MacOSX有一个内置的开放MPI包。我又找到了一个,并尝试以这种方式在/opt/openmpi文件夹中安装openmpi

    ./configure --prefix=/opt/openmpi 2>&1 | tee config.out
    shell$ make -j 4 2>&1 | tee make.out`
又没有运气了。使失败。在那个一刻,我明白我可以跳过simpleMPI示例,我做到了

再一次,在没有详细说明的情况下,我决定从不必要的文件中清理我的系统,并做了愚蠢的事情
makeunistall
,而不是
makeclean

现在,nvcc编译器似乎已损坏,我需要重新安装或修复内置的OpenMPI包

问题是我如何才能做到这一点?虽然我有时间机器备份

另外,还描述了simpleMPI CUDA样本的问题。如何进行simpleMPI示例构建已经有了一个明确的答案

更新[2012年11月3日UTC 22:09]

成功安装MPICH2后没有运气。添加到路径的正确值:

    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运行时C/C++项目,并简单地运行它。但NSight make每次都以同样的方式失败。这是:

    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
每个项目都缺少相同的问题major.o文件

更新[2012年11月4日UTC 10:36]

我已经通过brew安装了Fortran编译器。并尝试构建前缀为urs/local的OMPI(根据OSX FAQ实体)。 一两个小时后,make失败,出现错误:

    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日UTC 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
现在make失败,出现类似错误:

   sh: usr/local/cuda/bin/mv: No such file or directory
看起来make脚本试图访问cuda/bin目录中的顶级二进制文件,但make失败。似乎make脚本使用cuda-bin目录错误地将相对快速的系统范围调用(如
mv
echo
)转换为绝对路径。这是不正确的配置选项还是打开MPI错误

或者,开放式MPI不是主要问题?也许我应该找点别的?
我的主要任务是运行CUDA代码

事实证明,问题是由文件路径中的空格引起的,类似于中的情况。

从Mac OS X Lion(10.7)开始,苹果不再在操作系统中提供开放MPI二进制文件。顺便说一句,您的
.bash\u配置文件中有两个拼写错误:CUDA二进制文件路径中缺少首字母
/
,而CUDA动态库路径中缺少
w
。@HristoIliev昨天已经删除了该拼写错误!我运气不好(我决定重新安装操作系统。现在就准备一切:)@HristoIliev谢谢你提供关于OMPI和Lion的宝贵信息!我的主要问题不是OMPI,而是文件路径()中的空格。我不能发布答案,所以你可以吗?)奇怪的是,你应该可以发布自己问题的答案,但可能是你没有必要的信誉点数。@HristoIliev我在该网站上的前3条评论被删除,这可能是原因:)
   sh: usr/local/cuda/bin/mv: No such file or directory