web-dev-qa-db-ja.com

ルートなしでCudaをインストールする

私は次のようにCudaをインストールできることを知っています:

 wget http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run
chmod + x cuda_7.0.28_linux.run 
 ./ cuda_7.0.28_linux.run -extract = `pwd`/nvidia_installers 
 cd nvidia_installers 
 Sudo ./NVIDIA-Linux-x86_64-346.46.run 
 Sudo modprobe nvidia 
 Sudo ./cuda-linux64-rel-7.0.28-19326674.run 

ルートなしでCudaをインストールできるかどうか疑問に思っていますか?

おかげで、

13
user200340

CUDAをインストールしてプログラムをコンパイルすることはできますが、デバイスにアクセスできないためにプログラムを実行することはできません。

3

Update_10.1_のインストールUIが変更されました。以下の作品:

  • ドライバーのインストールの選択を解除します(ENTERonを押す)
  • _options -> root install path_を非Sudoディレクトリに変更します。
  • _+_でマークされた行でAを押して、詳細オプションにアクセスします。 _create symbolic link_の選択を解除し、_toolkit install path_を変更します。
  • これでインストールはroot権限なしで動作するはずです

質問のヒントをどうもありがとう! this Gist にも触発された有効な方法でそれを完成させたいのですが、有効なドライバーがインストールされている状況で root権限のないLinux上の最新のCUDAがまだ必要です

TL; DR:DebianにCUDA9 + CUDNN7をインストールし、Python2.7にTensorFlow1.4のプリコンパイルバージョンをインストールする手順は次のとおりです。すべてが機能することをテストします。 root権限がなく、ターミナルを介したすべて。他のCUDA、CUDNN、TensorFlow、およびPythonバージョンも他のLinuxシステムで動作します。


INSTALLATION

  1. NVIDIAのCUDAの公式リリースWebにアクセスします(2017年11月現在、CUDA9はリリースされています): https://developer.nvidia.com/cuda-downloads

  2. Linuxディストリビューションで、runfile (local) optionを選択します。 root権限なしでこのインストーラーを実行することが可能であるため、インストール手順にあるSudoの表示は誤っていることに注意してください。サーバーでは、1つの簡単な方法は、Downloadボタンの_<LINK>_をコピーし、ホームディレクトリの任意の場所で_wget <LINK>_を実行することです。 _<INSTALLER>_ファイルをダウンロードします。

  3. _chmod +x <INSTALLER>_を実行して実行可能にし、_./<INSTALLER>_を実行します。

  4. accept EULA、_say no to dr_ iverのインストール、およびホームディレクトリの下の_<CUDA>_の場所を入力してツールキットをインストールし、サンプルの_<CUDASAMPLES>_を入力します。

  5. ここでは尋ねられませんが推奨されます公式Web から互換性のあるCUDNNファイルをダウンロードします(サインインする必要があります)。私の場合、CUDA9と互換性のある_cudnn-9.0-linux-x64-v7.tgz_を_<CUDNN>_フォルダーにダウンロードしました。圧縮解除します:_tar -xzvf ..._。

  6. オプション:サンプルをコンパイルします。 _cd <CUDASAMPLES> && make_。そこにはいくつかの非常に素晴らしい例があり、いくつか 自分のCUDAスクリプト を書くための非常に優れた出発点があります。

  7. (5を実行した場合):CUDNNに必要なファイルをCUDAにコピーし、ユーザーに読み取り権限を付与します(必要かどうかは不明です):

_cp -P <CUDNN>/cuda/include/cudnn.h <CUDA>/include/
cp -P cudnn9/cuda/lib64/libcudnn* cuda9/lib64
chmod a+r cuda9/include/cudnn.h cuda9/lib64/libcudnn*
_
  1. ライブラリを環境に追加します。これは通常、次の2行を_~/.bashrc_ファイルに追加します(この例では、_<CUDA>_ディレクトリは_~/cuda9/_でした:
_export PATH=$HOME/cuda9/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/cuda9/lib64/
_

クイックテストの場合OR TENSORFLOWのユーザー

CUDA9およびCUDNN7と互換性のあるTensorFlowを取得する最も簡単な方法(およびこれをテストする非常に迅速な方法)は、プリコンパイルされたwheelファイルをダウンロードし、_pip install <WHEEL>_を使用してインストールすることです。必要なバージョンのほとんどは mind's repo にあります(多くの人に感謝します)。 CUDNNも機能していることを確認する最小限のテストでは、 _tf.nn.conv2d_ を使用します。

_import tensorflow as tf
x = tf.nn.conv2d(tf.ones([1,1,10,1]), tf.ones([1,5,1,1]), strides=[1, 1, 1, 1], padding='SAME')
with tf.Session() as sess:
    sess.run(x) # this should output a tensor of shape (1,1,10,1) with [3,4,5,5,5,5,5,5,4,3]
_

私の場合、 ここに で説明されているように、 インストールしたホイール にはIntelのMKLライブラリが必要です。繰り返しますが、ターミナルから、ルートユーザーなしで、これは私がライブラリをインストールしてTensorFlowにそれを見つけさせるために実行した手順です( 参照 ):

  1. _git clone https://github.com/01org/mkl-dnn.git_
  2. _cd mkl-dnn/scripts && ./prepare_mkl.sh && cd .._
  3. _mkdir -p build && cd build_
  4. _cmake -D CMAKE_INSTALL_PREFIX:PATH=<TARGET_DIR_IN_HOME> .._
  5. make#しばらく時間がかかります
    1. _make doc_#doxygenがある場合、オプションでこれを実行します
  6. _make test_#も少し時間がかかります
  7. _make install # installs into <TARGET_DIR_IN_HOME>_
  8. 以下を_~/.bashrc_に追加します:_export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<TARGET_DIR_IN_HOME>/lib_

お役に立てれば!
アンドレス

27
fr_andres

次のコマンドでcondaを使用してインストールできます。

conda install -c anaconda cudatoolkit

ただし、デバイス(GPU)に事前にアクセスする必要があります。

編集:anacondaリポジトリーでエラーを見つけた場合は、リポジトリーを頻繁に更新されるconda-forgeに変更します。

conda install -c conda-forge cudatoolkit
5
Tessaracter