1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CUDA,pytorchは動くのに command 'nvcc' not found

Last updated at Posted at 2024-10-03

状況

環境はUbuntu20.04 + VSCode + CUDA12.1
説明が長いので一言でまとめると、cudaはある、pytorchの実行もできる、けどnvcc -Vが認識してない

途中でubuntuとvscodeでnvccのバージョンが違う状態に陥った。

pip install flash-attn --no-build-isolation

を実行したときに、subprocess errorでnvcc command has not foundとなり、vscodeのbash上ではnvcc -Vを実行しても反応しなかった。

解決方法

環境変数の設定として

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

を実行するとVSCodeのbash上でnvcc -Vに反応。

(env) tell@tell:~/devenv/Creativity$ 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のバージョン(今回は12.1)と異なるものが表示された。

VSCodeのbash上でバージョンを指定した上で以下を実行しても反応がない…

export PATH=/usr/local/cuda-12.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH

そこでUbuntuのterminal上で環境変数として

tell@tell:~$ export PATH=/usr/local/cuda-12.1/bin:$PATH
tell@tell:~$ export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH

を実行するとubuntuのターミナル上では

tell@tell:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb__7_19:32:13_PST_2023
Cuda compilation tools, release 12.1, V12.1.66
Build cuda_12.1.r12.1/compiler.32415258_0

となりnvccを無事認識。

しかし、vscodeのbashでは release 10.0のままになった。

つまり、Ubuntuのterminal ⇒12.1 vscodeのbash⇒10.0という状況が発生

VSCodeのterminalとUbuntuのbashでnvcc -Vが異なるときの解決方法

VSCODEの設定ファイルsetting.jsonにCUDA12.1を常に使用するように環境変数を追加

  1. VsCodeでコマンドパレットを開く(Ctrl + Shift + P)

  2. Preferences: Open User Settings(JSON)と入力してsetting.jsonを開く

  3. 以下のように環境変数を設定する

    {
      "terminal.integrated.env.linux": {
        "PATH": "/usr/local/cuda-12.1/bin:${env:PATH}",
        "LD_LIBRARY_PATH": "/usr/local/cuda-12.1/lib64:${env:LD_LIBRARY_PATH}"
      }
    }
    

    もともとなにか書き込まれている場合はこちら(私がそうだった)

    {
      "explorer.confirmDelete": false,
      "explorer.confirmDragAndDrop": false,
      "terminal.integrated.profiles.linux": {
        "bash": {
          "path": "/bin/bash",
          "args": [],
          "env": {
            "PATH": "/usr/local/cuda-12.1/bin:${env:PATH}",
            "LD_LIBRARY_PATH": "/usr/local/cuda-12.1/lib64:${env:LD_LIBRARY_PATH}"
          }
        }
      }
    }
    
    

    これでVSCodeでもnvcc -Vが認識する

    (env) tell@tell:~/devenv/Creativity$ nvcc -V
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2023 NVIDIA Corporation
    Built on Tue_Feb__7_19:32:13_PST_2023
    Cuda compilation tools, release 12.1, V12.1.66
    Build cuda_12.1.r12.1/compiler.32415258_0
    

以上!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?