質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

condaでインストールしたCUDAのバージョンが反映されない?(nvcc -Vと異なる)

tetsutail_study
tetsutail_study

総合スコア22

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1回答

0評価

0クリップ

438閲覧

投稿2022/05/12 06:47

conda仮想環境に以下のようにしてcudnnとcudaをインストールしました。

conda install cudnn=8.2.1=cuda11.3_0

仮想環境内で認識されるCUDAのバージョンがnvcc -Vコマンドで出力されるバージョンと一致することを期待したのですが、結果は異なるバージョンが表示されていました。

(gg) user@dgx1:~/Projects/M/gangealing$ conda list | grep cu cudatoolkit 11.3.1 h2bc3f7f_2 cudnn 8.2.1 cuda11.3_0 ncurses 6.3 h7f8727e_2 (gg) user@dgx1:~/Projects/M/gangealing$ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Sun_Jul_28_19:07:16_PDT_2019 Cuda compilation tools, release 10.1, V10.1.243

これは、何かしらの原因でインストールに失敗していることになるのでしょうか?
もしそうだとしたら、仮想環境内で指定したCUDAのバージョンになるような解決方法を教えていただきたいです。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

jbpb0

2022/05/12 07:24 編集

cudaをcondaで入れたこと無いので詳細は分かりませんが、下記を見ると、「cudnn」とは別に「cudatoolkit」もcondaで入れてますね https://yann-leguilly.gitlab.io/post/2019-10-08-tensorflow-and-cuda/ > conda install cudnn=8.2.1=cuda11.3_0 でインストールされるのはcudnnだけで、cuda本体は含まれてないのでは?
jbpb0

2022/05/17 06:07 編集

> 「cudatoolkit」は「cudnn」インストール前の環境に入っていました。 https://anaconda.org/anaconda/cudatoolkit/files から「cudatoolkit-11.3.1-h2bc3f7f_2.tar.bz2」を落として展開して、含まれてるファイルを確認したら、cudaのライブラリ(libcudart.soとか)は入ってますが、「nvcc」は入ってませんでした 「nvcc -V」で実行してる「nvcc」は、condaで入れたのとは別のcudaのではありませんか? 下記を実行して、「nvcc」の場所(パス)がどこか確認してみてください それがcondaの仮想環境下ではないなら、condaで入れたのとは別のでしょうね which -a nvcc
tetsutail_study

2022/05/12 08:28

/opt/cuda/10.1/bin/nvcc このように出てきました。これは、仮想環境のとは違うっぽいですかね?? ↓仮想環境内でも conda install -c conda-forge nvcc_linux-64 でnvccをインストールして、nvcc -Vを実行したところ、以下のようにエラーが出てしまいました。 (gg) t-akatsuka@dgx1:~/Projects/M$ nvcc -V /home/user/.pyenv/versions/anaconda3-5.3.1/envs/gg/bin/nvcc: line 8: /bin/nvcc: No such file or directory ※気になる点として「Version of installed CUDA didn't match package」という文言がnvccインストール時に出てきました。。
jbpb0

2022/05/12 08:53 編集

> /opt/cuda/10.1/bin/nvcc このように出てきました。これは、仮想環境のとは違うっぽいですかね?? anacondaの仮想環境が作られる場所とは全然違うので、別のですよね condaとは別に(aptとかで)cudaを入れてませんか? cuda 10.1のnvccだから、「nvcc -V」で「Cuda compilation tools, release 10.1, V10.1.243」と出るのは、当然ですよね > conda install -c conda-forge nvcc_linux-64 でnvccをインストール そもそも、nvccコマンドは要るのですか? condaでcudatoolkit, cudnnを入れたのは、pythonからcudaを使いたいのですよね? その用途にnvcc要ります?
tetsutail_study

2022/05/12 09:15

> condaでcudatoolkit, cudnnを入れたのは、pythonからcudaを使いたいのですよね? おっしゃる通りで、本来の目的はcudaが必要なコードを動かすことです。 しかし、以下のような経緯から仮想環境内で適用されているCUDA(もしくは正常に適用されているか)を調べたいと考え、nvccを試したいと考えました。 先に示したgithubコードをREADMEにある手順で試そうとしたところ、以下のようなエラーが出ました。 ``` RuntimeError: Error building extension '_splat'da3-5.3.1/envs/gg/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1357, in _jit_compile ``` splat拡張機能というもののビルディングに失敗したとあるのですが、これについてissueで共有者が言及しており、CUDAさえしっかり入っていれば問題ないとのニュアンスでした。 エラーが起きたということは仮想環境内の指定したバージョンcudaが正常に機能していないと考えたため、nvcc -Vコマンドでインストールされたcudaが認識されているか確認しようとしました。 (いくつかの調べた記事で、cudaの確認方法としてnvcc -Vが有効と書かれていたため) nvccでなくても、今仮想環境内でインストールしたcudaは正常に機能しているのかを確認できたら、上記のエラーは他に原因があると考えられ、次に進むことができます。
jbpb0

2022/05/13 13:44

> splat拡張機能というもののビルディングに失敗したとあるのですが、これについてissueで共有者が言及しており、CUDAさえしっかり入っていれば問題ないとのニュアンスでした。 失敗したビルドにcudaのソースからコンパイルする過程が含まれてるのなら、condaで入れたcudatoolkitではビルドできないのではないですかね 上に書いたように、それにはnvccコマンドが含まれてないからです condaで入れるのではなく、(/opt/cuda/10.1にインストールした時と同様に)使いたいバージョン(11.3.1?)のcudaを普通にインストールしたらいいと思うのですが > (いくつかの調べた記事で、cudaの確認方法としてnvcc -Vが有効と書かれていたため) それは、普通にインストールしたcudaの場合で、nvccコマンドが含まれてないcondaで入れたcudatoolkitには当てはまらないと思います
jbpb0

2022/05/18 05:32

> 仮想環境内で認識されるCUDAのバージョン https://github.com/NVIDIA/cuda-python/issues/16 を見ると、pythonが認識してるCUDAのバージョンは、下記を実行したら分かるようです import numba.cuda major, minor = numba.cuda.runtime.get_version() print(str(major) + "." + str(minor))

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。