2011-12-03 19 views
7

私はpycudaをインストールし、[OK]を、それを使用していたが、それはないwork.Soへ(STHを実行せずに)始め、IIが再びインストールを行うことを試みたが、私はpycuda - 'CUDA_ROOTが設定されておらず、nvccがパスにありません。'

のpython configure.pyをしていたときに - cuda-root =/usr/local/cuda/bin

タイトルに誤りがあります。

nvccファイルは上記のディレクトリにあります。

答えて

8

pycudaはnvccを検出していません。 env PATH変数に/ usr/local/cuda/binを追加しようとしましたか?それは私がこの設定を持っている方法です。

編集:私の知る限りconfigure.pyはそれだけでメイクファイルを作成し、NVCCコンパイラを呼び出すことはありません言うことができるように

。私はあなたがsetup.pyを呼び出すsudo -c "make install"を実行するときにこの問題が発生すると考えています。

お試しください。あなたはCUDA_ROOTセットを持っていることを確認してください:

echo $CUDA_ROOT 

それが空なら、とそれを設定します。

export CUDA_ROOT=/usr/local/cuda/bin 

が再びmakeコマンドを実行してみてください。今あなたのenvを保存する-Eと:

sudo -E sh -c "make install" 
+0

#pATH =〜/ bin:$ PATH エクスポートPATH =/usr/local/cuda/bin:$ PATH エクスポートLD_LIBRARY_PATH =/usr/local/cuda/lib64: $ LD_LIBRARY_PATH。nvccはokuchです。どこからでも – George

+0

あなたは、ユーザーを切り替えるか、python configure.pyを実行するときにsudoを使用していますか? – jkysam

+0

私は 'make install'.iを行うときにsudoを使用していますが、これまでのユーザの切り替えはありません。(pythonの設定時にsudoは使用しません) – George

1

私はSlackware64 13.37で同じ問題が発生しました。

su -c "make install"ルート(0bv10u5Ly)にスイッチをインストールすると、ルートのプロファイルにCUDA_ROOTを設定する必要があります。 CUDA_ROOTは環境変数ではなく、setup.pyによって使用されます。 PATHに/ usr/local/cuda/binを追加し、CUDA_ROOT=/usr/local/cuda/binを定義してから、もう一度インストールしてください。

これはすばやく汚い方法ですが、上記のどれも私のようにうまくいかない場合、以下は間違いなく機能します。 (:。。

nvcc_path = search_on_path(["nvcc", "nvcc.exe"]) 
if nvcc_path is None: 
    print("*** CUDA_ROOT not set, and nvcc not in path. Giving up.") 
    sys.exit(1) 

を削除し、su -c "make install"を試してみてくださいそして、setup.pyファイルに

cuda_root_default = "/usr/local/cuda/bin" 

を設定

1

を私の場合、私は理由/usr/local/cuda/binパスでCUDA_ROOT=/usr/local/cudaを設定する必要がありました、それはインクルードフォルダを見つけることができませんでしたし、エラーで失敗していたが見つかりませんでしたcuda.h

関連する問題