LoginSignup
0
1

[備忘録] Cudaについて

Posted at

cuda入れようと思ったけどかなり苦戦した

機械学習系のことをやるためにcudaを入れようとしたらかなり苦戦したときのTipsまとめ.

まず大前提としてcuda入れるときの手順は

  • nvidia関連(もちろんcuda含む)のドライバを全部消す.
  • cudaインストール

という感じで最初に既存の環境を完全に削除しないとめんどくさいことになる.
そして僕の場合グラボ付きのノートPCでやってたんで RTX3060シリーズなんですけど,ドライバの自動インストールされたときの番号が違ってて混乱したのもあってめんどくさいことをしてしまっていました.

nvidia関連の削除

コマンドは↓

uninstall nvidia-driver and cuda
sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" \
 "*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*"
sudo apt-get --purge remove "*nvidia*" "libxnvctrl*"
sudo apt-get autoremove

ここのコマンドは公式ページから引っ張ってきてます.

他にも簡略化されたコマンドが出回ってましたが,なんかエラーはいて進めなくなってたので公式のこれが一番確実だとは思います.

ちなみにどんなエラーをはいていたかというと,
このサイトに書いてあるようなエラーでオーバーライトできないにゃといった内容のもの.解決策もサイト内に書いてありますが一応メモ↓

solution
sudo dpkg -i --force-overwrite /var/cache/apt/archives/"エラーでオーバーライトできないって言われた.debファイル" # 例:nvidia-340_340.107-0ubuntu0~gpu18.04.1_amd64.deb
sudo apt -f install

このへんまでやったら一回reboot.

cudaのインストール

この記事を書いたときの最新は12.3だったのでそれのコマンドを掲載しとく.
バージョン指定したいときは最後のcuda-toolkit-12-3の数字を好きなバージョンに変えればよし.
一応バージョン12.3の公式(自分のインストールしたいバージョンのページを参照することをおすすめする.)

install cuda12.3
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-3

これでインストールするとnvidiaのドライバも自動でインストールされる.
一応この手順でエラーを出さなければcudaのインストールはできてるはず.

確認用のコマンドは↓

nvcc version
/usr/local/cuda/bin/nvcc -V #バージョン確認

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Mon_Apr__3_17:16:06_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105
Build cuda_12.1.r12.1/compiler.32688072_0

私の場合12.1が入ってるのがわかります.いちいち/usr/local...とか打ちたくないならパスを通してください.

おまけ(PyTorchでちゃんと認識できてるかの確認)

私はPyTorchでcudaを使いたかったのでインストールしたので,ちゃんとそっちから認識できるか確認.仮想環境を立ち上げてから下のコマンドで認識できてるかわかる.

cuda check
>>>import torch
>>>print(torch.cuda.is_available())
#True

Pythonの仮想環境に関してはこっちで説明してるので良ければ.

0
1
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
0
1