CUDA8.0とCUDA9.0はUbuntu16.04で共存します

CUDA8.0とCUDA9.0はUbuntu16.04で共存します

序文

Github にある以前のコードには、CUDA 8.0 環境が必要なものもあります。初心者の場合、環境設定には最新バージョンを選択するのが一般的です。ここでは、コンピューティングに GPU を使用する場合に CUDA 8.0 と CUDA 9.0 の共存を解決する方法について簡単に説明します。

1. 設置前の検査

次のコマンドを実行して、コンピュータの現在のCUDAバージョンを確認します。

nvcc --バージョン

私のコンピュータでは次のように表示されます: (CUDA 9.0 が現在コンピュータにインストールされています)

2. 適切なCUDA 8.0バージョンをダウンロードする

CUDA 8.0 バージョンを選択するときは、お使いのコンピュータ システムと対応する環境に応じて選択する必要があります。ダウンロード リンクは対応するダウンロード リンク インターフェイスにあり、次の手順に従ってください: (私の場合は Ubuntu サーバー、16.04 です。ここでは、runfile インストール方法を選択します)



ヒント: 私はサーバー側でインストールしているので、誰かがサーバー側でインストールする場合は、ダウンロードしたファイルを最初にサーバーにアップロードすることを忘れないでください。

3. 対応するインストールを実行する

ダウンロードしたフォルダーで、次の操作を行います。

cd CUDA8 # 上記のダウンロードしたファイルを含むフォルダーに移動します sudo chmod 777 cuda_8.0.61_375.26_linux.run ## ファイルに特定の権限を与えます ./cuda_8.0.61_375.26_linux.run ## インストールを開始します

インストール手順を実行すると、以下に示すような Nvidia からの紹介ドキュメントが表示されます。


最も重要な点は、導入ドキュメントではユーザー側でいくつかのアクションが必要であり、そうしないとインストール プロセスを続行できないということです。導入ドキュメントをスキップするには、次の 2 つの方法があります。

  • YまたはNを入力する必要があるオプションが表示されるまでEnterキーを押し続けます。
  • 紹介文書を終了するにはEscキーを押してください

紹介文書をスキップすると、選択できるいくつかのオプションが表示されます: (各ステップの入力は、下の図で赤い丸でマークされています。説明は次のとおりです: CUDA 9.0 をサポートするドライバーがすでにインストールされているため、ドライバーを n に設定する必要があります。新しいドライバーをインストールする必要はありません)

4. 対応する環境設定を実行する

次のインストールパスを入力し、bashrcファイルを開いて、一番下に移動します(操作手順については下の図を参照してください)


ご覧のとおり、私のコンピューターでは、インポートされたパスはすべて cuda9.0 です。


ここで、先ほどインストールした CUDA 8.0 を使用する場合は、次の操作を行うだけです。
次の図に示すように、対応する cuda-9.0 を cuda-8.0 に置き換えます (保存して終了します)


次に、ターミナルで次のコマンドを実行してソースを取得します。

ソース ~/.bashrc 


次に、対応する検証を実行します。(下の図に示すように、CUDA 8.0 バージョンが正常にインストールされていることがわかります)

5. 複数のcudaバージョンを切り替える

上記の説明は、どちらか一方だけを使いたい場合です。頻繁にバージョンを切り替えたい場合は、次の方法をお勧めします。
~/.bashrc 内のすべての cuda 関連のパスを、/usr/local/cuda-8.0/ または /usr/local/cuda-9.0/ ではなく、/usr/local/cuda/ に変更します。

 #cuda バージョンを切り替える場合 rm -rf /usr/local/cuda# 以前に作成したソフトリンクを削除します sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda
  nvcc --version # 現在の Cuda バージョンを表示します nvcc: NVIDIA (R) Cuda コンパイラ ドライバー
  著作権 (c) 2005-2016 NVIDIA Corporation
  Mon_Jan_23_12:24:11_CST_2017 に作成
  Cuda コンパイル ツール、リリース 8.0、V8.0.62
  
  #cuda8.0 から cuda9.0 への切り替え 
  rm -rf /usr/local/cuda
  sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
  nvcc --バージョン

~/.bahsrc ファイルの変更方法は上記と同じです。

6. まとめ

上記では、CUDA9.0 から CUDA8.0 に変換する方法についてのみ説明しています。CUDA9.0 に戻す場合は、逆のプロセスを実行し、bashrc ファイル内の cuda-8.0 を cuda-9.0 に置き換えてから、ソースを実行します。

Ubuntu16.04でのCUDA8.0とCUDA9.0の共存についての記事はこれで終わりです。CUDA8.0とCUDA9.0の共存についての詳細は、123WORDPRESS.COMの過去記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • UbuntuはCUDAの複数のバージョンをインストールし、いつでも切り替えることができます
  • Ubuntu での CUDA と CUDNN のインストールとアンインストールの実装
  • Ubuntu16.04にCUDA9.0をインストールするための詳細なチュートリアル
  • Ubuntu 20.04 に cuda10.1 をインストールする手順 (グラフィック チュートリアル)
  • Ubuntu インストール cuda10.1 ドライバ実装手順
  • Ubuntu 20.04 CUDA & cuDNN のインストール方法 (グラフィカル チュートリアル)
  • Ubuntu 16.04 に nvidia ドライバー + CUDA + cuDNN をインストールする詳細なチュートリアル
  • ubuntu16.04 に複数のバージョンの CUDA をインストールする方法

<<:  Vue.js スロットにおけるスコープ付きスロットの使用法の詳細な説明

>>:  node_modulesを削除して再インストールする方法

推薦する

CSS3は遷移を高速化し、遅延させる

1. 速度制御機能を使用して、トランジション効果(加速、減速など)の速度曲線を制御します。速度制御機...

MySQL シリーズ 12 バックアップとリカバリ

目次チュートリアルシリーズ1. バックアップ戦略の説明1. バックアップの種類2. バックアップで考...

Vue 3 カスタムディレクティブ開発の概要

指令とは何ですか? Angular と Vue はどちらもディレクティブの概念を持っており、これは通...

Tomcat が設定ファイルを外部に配置するためのソリューション

質問通常の開発では、プロジェクトを Tomcat にデプロイする場合、プロジェクトを war パッケ...

HTML マークアップ言語 - テーブルタグ

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

MySQL のマスター スレーブ レプリケーション オプションをオンラインで変更する方法

序文: MySQL で最も一般的に使用されるアーキテクチャは、マスター スレーブ レプリケーションで...

VMWare ネットワーク アダプタの 3 つのモードの実装プロセスの分析

3つのモードブリッジ(ブリッジ モード)、NAT(ネットワーク アドレス変換モード)、ホストオンリー...

よく使うLinuxコマンドのまとめ

私は2年間運用保守に携わり、多くのコマンドを使用しました。特定のLinuxコマンドを習得すると、どれ...

JavaScript による Web ページ カルーセルの超詳細な実装

目次HTML ページの作成js部分の機能を実装する1. 左ボタンと右ボタン2. 小さな円を動的に生成...

Linux mysql-5.6 でルート パスワードをリセットする方法

1. MySQL サービスが起動しているかどうかを確認します。起動している場合は、MySQL サービ...

MySQL グローバルロックとテーブルレベルロックの具体的な使用法

目次序文グローバルロックテーブルロックテーブルロックメタデータ ロック (MDL ロック)要約する参...

印刷広告を成功させるための「3I」基準

国内の多くの広告主にとって、印刷広告の制作と評価は、しばしばかなり主観的です。自分の感情や美的感覚に...

JavaScript でカルーセル効果を実装する

この記事では、カルーセルの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...

コンテナDockerCommitを介してイメージを送信し、DockerPushでイメージをプッシュします。

ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを D...

jsでユーザー登録機能を実装する

この記事の例では、ユーザー登録機能を実装するためのjsの具体的なコードを参考までに共有しています。具...