幾天前,我試着編譯並製作CUDA Toolkit 5.0示例以驗證安裝。 但是,在製作過程中,製作簡單的MPI樣本時出現錯誤。 沒有進入細節我假設我需要安裝Open MPI到我的主機。 我已經下載了當時的最新版本,例如的openmpi-1.6.2。 然後根據Open MPI FAQ page我已經運行修復在Mac OS X中內置的開放式MPI包
./configure --prefix=/usr/local
make all install
但不幸的是有make命令中的錯誤。我決定深入研究,發現Mac OS X有一個內置的Open MPI軟件包。我發現一個更FAQ page for Mac OS X users,並試圖安裝Open MPI在/ opt /文件夾的openmpi這樣
./configure --prefix=/opt/openmpi 2>&1 | tee config.out
shell$ make -j 4 2>&1 | tee make.out`
有再次沒有運氣。使失敗。那一刻,我明白我可以跳過簡單的MPI樣品,我就這麼做了!
再次,沒有進入細節,我決定清理我的系統從不需要的文件,並做了愚蠢的事情make unistall
而不是make clean
。
現在,nvcc編譯器似乎壞了,我需要重新安裝或修復內置的Open MPI bundle。
問題是我該如何做到這一點?雖然我有TimeMachine備份。
P.S.簡單的CUDA CUDA示例的問題描述如下:here。如何製作簡單的MPI樣本已經有了明確的答案。
UPDATE [22:09 UTC 2012年11月3日]
都有成功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運行時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文件丟失。
UPDATE [10時36 UTC 2012年11月4日]
我已經經由釀造安裝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
UPDATE [13:40 UTC 2012年11月5日]
試圖建立開放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
看起來像化妝腳本嘗試訪問CUDA/bin目錄內頂級的二進制文件,使失敗。看起來make-script錯誤地將諸如mv
或echo
等相對較快的系統範圍調用轉換爲使用cuda bin目錄的絕對路徑。這是不正確的配置選項還是Open MPI錯誤?
或者,也許Open MPI不是主要問題?也許我應該找別的東西? 我的主要煤炭正在運行CUDA代碼!
從Mac OS X Lion(10.7)開始,Apple不再提供操作系統的Open MPI二進制文件。順便說一句,在'.bash_profile'中有兩個拼寫錯誤:CUDA二進制文件路徑中缺少初始'/',CUDA動態庫路徑中沒有'/'。 –
@HristoIliev昨天已經刪除了這個錯字!我沒有運氣( 我決定重新安裝操作系統。準備一切:) –
@HristoIliev感謝您提供有關OMPI和Lion的有價值的信息!我的主要問題不是OMPI,而是文件路徑中的空格([解決方案])(http://stackoverflow.com/questions/13237371/cuda-toolkit-5-0-nsight-build-errors-on-mac-os -x毫升))。我無法發佈答案,所以你可以這樣做嗎? ) –