数日前、インストールを確認するためにCUDAToolkit5.0サンプルをコンパイルして作成しようとしました。しかし、makeプロセス中に、simpleMPIサンプルの作成中にエラーが発生しました。詳細に立ち入ることなく、OpenMPIをホストにインストールする必要があると思いました。その瞬間の最新バージョン、たとえばopenmpi-1.6.2をダウンロードしました。次に、OpenMPIFAQページによると私は実行しました
./configure --prefix=/usr/local
make all install
しかし、残念ながら、makeコマンド中にエラーが発生しました。私は深く掘り下げて、MacOSXにはOpenMPIバンドルが組み込まれていることを理解することにしました。Mac OS Xユーザー向けのFAQページをもう1つ見つけ、OpenMPIを/opt/openmpiフォルダーにこの方法でインストールしようとしました。
./configure --prefix=/opt/openmpi 2>&1 | tee config.out
shell$ make -j 4 2>&1 | tee make.out`
二度と運がなかった。失敗しました。その瞬間、simpleMPIサンプルをスキップできることを理解しました。
もう一度、詳細に立ち入ることなく、不要なファイルからシステムをクリーンアップすることにしmake unistall
、の代わりに愚かなことをしmake clean
ました。
現在、nvccコンパイラが壊れているようで、組み込みのOpenMPIバンドルを再インストールまたは修復する必要があります。
問題は、どうすればそれを達成できるかということです。また、TimeMachineのバックアップがあります。
PSsimpleMPICUDAサンプルの問題はここで説明されています。simpleMPIサンプルビルドを作成する方法については、すでに明確な答えがあります。
更新[22:09UTC03 NOV 2012]
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をDocksにロックしようとしたので、これは重要です。しかし、Dockから実行している場合、NSightはGPUデバイスを見つけることができませんでした。だから私はターミナルを使うたびに。
新しいCUDAランタイムC/C ++プロジェクトを作成して、それを実行しようとしました。しかし、NSightmakeは毎回同じように失敗します。ここにあります:
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:36UTC]
brewを介してFortranコンパイラをインストールしました。そして、プレフィックスurs / localを使用してOMPI(OSX FAQエンティティによる)を構築しようとしました。1、2時間後、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日13:40UTC]
次のパラメータを使用して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-scriptがcuda/binディレクトリ内のトップレベルのバイナリにアクセスしようとして、makeが失敗したようです。make-scriptは、cuda binディレクトリを使用して、システム全体の比較的高速な呼び出しmv
または絶対パスに誤って変換するようです。echo
それは間違った設定オプションまたはOpenMPIのバグですか?
または、おそらくOpen MPIは大きな問題ではありませんか?多分私は何か他のものを探すべきですか?私の主な石炭はCUDAコードを実行しています!