Debian 8(Jessie)または9(Stretch)にCUDA Toolkit 7/8/9をインストールするには?

Debian 8(Jessie)または9(Stretch)にCUDA Toolkit 7/8/9をインストールするには?

インストールする方法CUDAツールキット7.0それともDebian 8から8ですか?

Debian 8 は次のオプションを提供していることを知っています。CUDA Toolkit 6.0のダウンロードとインストールapt-get install nvidia-cuda-toolkitCUDAツールキットバージョン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.

ベストアンサー1

次のガイドラインは、CUDA 7.0、7.5、および複数の以前(および可能であればそれ以降)のバージョンに適用されます。 Debianディストリビューションに関する限り、Jessie、Stretchなどのディストリビューションにも適用されます。 amd64(x86_64) アーキテクチャが特徴ですが、x86(x86_32) に簡単に適用できます。

設置前提条件

  • g++- 使用しているCUDAバージョンでサポートされている最新のGCCバージョンを使用する必要があります。 CUDA 7.xの場合は4.xシリーズの最後のバージョンである4.9.3となり、CUDA 8.0の場合はGCC 5.xのバージョンがサポートされます。ディストリビューションがデフォルトでGCC 5.xを使用している場合はそれを使用し、それ以外の場合はGCC 5.4.0を使用する必要があります。以前のバージョンを使用できますが、ホスト側のコードの最新のC ++機能をよりよくサポートするためにはお勧めできません。
  • 湾岸協力協議会- g++で。場合によっては、CMakeがデフォルトでg ++の代わりにgccを呼び出すnvccに設定される可能性があると思います-x(しかしこれについてはわかりません)。
  • ライブラリGLU- Mesa OpenGLライブラリ(+開発ファイル?)
  • libXi- X Window System Xinput拡張ライブラリ(+開発ファイル?)
  • 図書館Xmu- X Window System「その他のユーティリティ」ライブラリ(+開発ファイル?)
  • Linuxカーネル- 実行中のカーネルバージョンのヘッダー。

特定のパッケージのリストが必要な場合は、使用しているディストリビューションによって異なります。ただし、次のことを試すことができます(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シンボルをデバッグできます。

はい美しいもちろん、これにはすべての内容が含まれます。しかし、ちょうどあなたがインストールしたものを逃したかもしれません。返品、CUDAはclangで使用できます、少なくとも実験的ですが、まだ試していません。

CUDAカーネルドライバのインストール

  1. Nvidiaに行くCUDAダウンロードページ
  2. 選ぶLinux > x86_64 > Ubuntuそして、最新バージョン(作成時:Ubuntu 15.04)を選択します。
  3. 選ぶ.run ファイルオプション。
  4. .runファイルをダウンロードします(現在これ)。確実にするいいえに入れてください/tmp
  5. .runファイルを実行可能にしますchmod a+x cuda_7.5.18_linux.run
  6. 根になる
  7. .run ファイルを実行します。愚かで圧縮されたライセンスを受け入れるふりをしてください。 NVIDIAカーネルドライバだけをインストールするには「はい」と言い、他のすべてには「いいえ」と言ってください。

インストーラはNVIDIAカーネルドライバがインストールされると予想していますが、ツールキットのインストールを継続/再試行する前に再起動する必要があることを伝えます。だから...

  1. 成功したようです。再起動してください。

CUDAセルフインストール

  1. 根になる
  2. 検索して実行するcuda_7.5.18_linux.run
  3. 今回はドライバのインストールについて「いいえ」と言い、他のすべての項目をインストールするには「はい」と言ってデフォルトのパスを受け入れます(または必要に応じて変更)。

これでインストーラが可能です失敗する。これが私たちが期待している種類の失敗であると仮定するのは良いことです。コンパイラのバージョンがサポートされていないことをお知らせします。 CUDA 7.0または7.5は最大gcc 4.9までサポートされており、デフォルトではいくつかの5.xバージョンがあります。今行方不明のメッセージを受け取ったら図書館これは、前提条件に関する上記のガイドラインが何らかの方法で失敗したことを意味し、私が修正できるようにここにコメントを残す必要があります。 「良い失敗」が発生したとし、次の手順に進みます。

  1. 今回は --override オプションを使用して .run ファイルを再度読み込みます。
  2. 手順11と同じように選択します。

CUDAはデフォルトの場所/usr/local/cuda(シンボリックリンク)にインストールする必要があります。しかし、まだ終わっていません!

NVIDIAのnvccコンパイラに正しいg ++バージョンを使用するように指示する

NVIDIAのCUDAコンパイラは、実際には接続プロセスの一部としてg ++を呼び出すか、.cuファイルの代わりに実際のC ++をコンパイルします。私の考えでは。とにかく、デフォルトではパス内のすべてのエントリを実行しますg++が、次のように入力します。その他g++以下で/usr/local/cuda/bin最初に使用されます!だから...

  1. 実行symlink /usr/bin/g++-4.9 /usr/local/cuda/bin/g++(良い測定のためにおそらくsymlink /usr/bin/gcc-4.9 /usr/local/cuda/bin/gcc

それはすべてです。

インストールを試みる

  1. cd /root/NVIDIA_CUDA-7.5_Samples/0_Simple/vectorAdd
  2. make

完了したら、ビルドを正常に終了する必要があります。

  1. ./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

ノート

  • NVIDIA GDK(GPU開発キット)をインストールする必要はありませんが、有害ではなく、一部には便利です。システムのルートディレクトリにインストールします。非常に安全で、後でアンインストールプログラムがあります/usr/bin/uninstall_gdk.pl。 CUDA 8では、CUDA自体のIIANMに統合されました。
  • nvidia-...またはcuda...と同じ名前の別のパッケージをインストールしないでください。有害ではありませんが、確かに役に立ちません。
  • これらの作業を実行する前にを使用できますlspci | grep -i nvidia

おすすめ記事