Cuda Toolkit 7. または8をDebian 8にインストールする方法
Debian 8にapt-get install nvidia-cuda-toolkit
を使用して CUDAツールキット6.0をダウンロードしてインストールする のオプションが付属していることを知っていますが、CUDAツールキットバージョン7.0または8でこれをどのように行うのですか?
以下に説明するように、Ubuntuインストーラーを使用してインストールを試みました。
Sudo wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.0-28_AMD64.deb
dpkg -i cuda-repo-ubuntu1404_7.0-28_AMD64.deb
Sudo apt-get update
Sudo apt-get install -y cuda
ただし、機能せず、次のメッセージが返されました。
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
cuda : Depends: cuda-7-0 (= 7.0-28) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
以下の手順は、CUDA 7.0、7.5、およびいくつかの以前の(そしておそらくそれ以降の)バージョンに有効です。 Debianディストリビューションについては、JessieとStretch、そしておそらく他のバージョンでも有効です。それらはAMD64(x86_64)アーキテクチャーを想定していますが、x86(x86_32)に簡単に適合させることができます。
-x
スイッチを使用する場合に、デフォルトでnvccがg ++ではなくgccを呼び出すようにすることさえできると思います(ただし、これについては不明です)。特定のパッケージのリストが必要な場合、それは正確にどのディストリビューションに依存しますが、以下を試してください(CUDA 7.xの場合):
Sudo apt-get install gcc g++ gcc-4.9 g++-4.9 libxi libxi6 libxi-dev libglu1-mesa libglu1-mesa-dev libxmu6 libxmu6-dev linux-headers-AMD64 linux-source
そして、シンボルをデバッグするためにそれらのパッケージのいくつかの-dbg
バージョンを追加するかもしれません。
私はprettyで十分ですが、すでにインストールしたばかりのものが見当たらない可能性があります。また、少なくとも実験的に CUDAはclangで機能します ですが、私は試していません。
/tmp
に含めることを確認してください。chmod a+x cuda_7.5.18_linux.run
。インストールでは、NVIDIAカーネルドライバーがインストールされていると予想されますが、ツールキットのインストールを続行/再試行する前に再起動する必要があります。そう...
cuda_7.5.18_linux.run
を見つけて実行しますインストーラーはおそらくfailです。それは私たちが予期する種類の障害であると仮定すると良いことです:コンパイラーのバージョンがサポートされていないことを伝えるはずです-CUDA 7.0または7.5は最大gcc 4.9をサポートし、デフォルトでいくつかの5.xバージョンを持っています。 librariesが見つからないというメッセージが表示された場合、上記の前提条件に関する指示がなんらかの理由で失敗したことを意味します。ここでコメントして、修正できるようにしてください。 「良好な障害」が発生したと想定して、次の手順に進みます。
これで、CUDAがデフォルトで/usr/local/cuda
(シンボリックリンク)にインストールされます。しかし、これで終わりではありません!
NVIDIAのCUDAコンパイラは、リンクプロセスの一部として実際にg ++を呼び出したり、.cuファイルではなく実際のC++をコンパイルしたりします。おもう。とにかく、デフォルトではg++
としてパスにあるものをすべて実行します。しかし、あなたがanother g++
を/usr/local/cuda/bin
の下に配置すると、それが最初に使用されます!そう...
symlink /usr/bin/g++-4.9 /usr/local/cuda/bin/g++
を実行します(適切な方法としては、symlink /usr/bin/gcc-4.9 /usr/local/cuda/bin/gcc
も実行します。それでおしまい。
cd /root/NVIDIA_CUDA-7.5_Samples/0_Simple/vectorAdd
make
ビルドは正常に終了するはずです。
./vectorAdd
次の出力が表示されます。
root@mymachine:~/NVIDIA_CUDA-7.5_Samples/0_Simple/vectorAdd# ./vectorAdd
[Vector addition of 50000 elements]
Copy input data from the Host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Copy output data from the CUDA device to the Host memory
Test PASSED
Done
/usr/bin/uninstall_gdk.pl
。 CUDA 8では、すでにCUDA自体IIANMに統合されています。lspci | grep -i nvidia
を使用して、GPUがまったく認識されていることを確認してください。私はバックポートを使用してそれを行うべきだと思います。私は実際にnvidia-cuda-toolkit
7.5をdebian jessieにスムーズにインストールしています。
フリーではないバックポートを/etc/apt/sources.list
に追加します。私(ジェシー上)の場合、これをファイルの下部に配置します。
# jessie-backports
deb http://httpredir.debian.org/debian jessie-backports main contrib non-free
保存、apt-get update、そして最後に:
apt-get install -t jessie-backports nvidia-cuda-toolkit
Sources.listにcontribおよびnon-freeリポジトリを追加し、apt-get updateを実行した後、CUDAツールキットはnvidia-cuda-toolkitの下のSynapticにあります。
古いGPU(GT 720)を使用したDebian 9の「ストレッチ」では、追加の手順が必要です。上記の誰か(@celavek)がこれを持っているのを私は見たので、私がうまくいったことを記入します。受け入れられた答えは必要なほとんどすべてをカバーします。これを認識することはかなりニッチな例ですが、うまくいけば、ここにいくつかのグーグル検索を節約するいくつかの有用なものが存在するかもしれません。
ステップ1のCUDA 8.0の場合、[レガシーリリース]をクリックし、[CUDAツールキット8.0 GA 2 ")を選択します。次に、Linux、x86_64、Ubuntu、16.04、runfile(ローカル)。
パッケージ化されたドライバーを受け入れず、代わりに、以前にインストールした384.130ドライバーをGPUに使用しました。詳細はこちら Debian Wiki 。あなたの走行距離は変わるかもしれません、私はGT 720以外のカードについて話すことはできません。これは私が選択した道でした、私には後悔はありません(まだ)。
手順12でローカルのInstallUtils.pmを実行できないためにインストールが失敗した場合は、-tar mxvfフラグを指定してcuda_8.0.61_375.26_linux.runファイルを解凍する必要があります。次に(ルートとして)InstallUtils.pmを/ usr/lib/x86_64-linux-gnu/pearl-baseにコピーします。
./cuda_8.0.61_375.26_linux.run --tar mxvf
Sudo cp InstallUtils.pm /usr/lib/x86_64-linux-gnu/Perl-base
これで、手順12のコマンドが成功するはずです。
Debian 9.0にはg ++バージョン6以降が付属していますが、これには対応していません。手順15でのvectorAddのコンパイルは失敗します。このホワイトペーパーをフォローしました: GCCの複数バージョンのインストール でバージョン5.5.0をインストールしました。 5.5.0の場合、このファイルが必要になります
wget http://mirrors.concertpass.com/gcc/releases/gcc-5.5.0/gcc-5.5.0.tar.xz
そしてこれでtarballを解凍します:
tar -xJf gcc-5.5.0.tar.xz
これを機能させるには、いくつかのことを更新する必要があります(ライブラリーと32ビットコンパイルの追加)。
Sudo apt-get install libgmp3-dev libmpfr-dev libmpc-dev
Sudo dpkg --add-architecture i386
Sudo apt-get update
Sudo apt-get install build-essential gcc-multilib rpm libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
これで、コンパイラーを構成、作成、およびインストールできます。
-prefix =/usr/local/gcc/5.5.0フラグを使用して設定することを忘れないでください
これで、ステップ15のvectorAddの例を次のようにコンパイルできます。
make Host_COMPILER=/usr/local/gcc/5.5.0/bin/g++
またはこれ:
export Host_COMPILER=/usr/local/gcc/5.5.0/bin/g++
make
Makefileを変更する必要はありません。Makefileはコンパイラーのオーバーライドを正しく処理します。
これで、ストレッチでCUDA 8.0インストールが機能するはずです。
このページからUbuntuのネットワークインストーラーを使用してみてください。
https://developer.nvidia.com/cuda-downloads#linux
Ubuntu 14. *のインストーラーは十分な互換性があります。
Einpoklum 上記の回答は、Debian 9 StretchにCUDA 10.0をインストールするのに役立ちました。
CUDAを正常にインストールした後、私はバージョンを確認できませんでした、それは 編集してPATHとLD_LIBRARY_PATHを永続的に変更する必要があるためでした.bashrcファイル