0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Anacondaを使用したLinuxでのGPU環境構築

Last updated at Posted at 2024-11-25

機械学習実行時のGPU環境構築について

様々なオープンソースのモデルが出てきている中で、ちょっと試してみたいと思ってgitからクローンしてきても色々バージョンが合わずに環境構築に手間取ってしまい、結局環境構築だけで1日潰れてしまった、、みたいなことが多々あり、その度に調べてというのを繰り返していたので、一度まとめようと思います。

今回はローカルのcudaを変更するのではなく全てanaconda上で設定する方法を記録します。

目次

1. Nvidia-driverのバージョン確認
2. conda環境の作成
3. CUDAのインストール
4. Pytorchのインストール
5. 遭遇したエラー集
6.おわりに

1. Nvidia-driverのバージョン確認

nvidia-driverはローカルのマシン内に入っていないといけないので、無い場合はインストールしてください。
nvidia-smi を実行してGPUの詳細が表示されればインストールできています。

2. conda環境の作成

condaで環境を構築します。(anacondaはすでにインストール済みという前提で進めます。)

$ conda create -n 環境名

pythonのバージョンを指定したい場合は

$ conda create -n 環境名 python==x.x.x

のように指定して環境を作成します。

環境作成後は

$ conda activate 環境名

で作成した環境に入っておいてください。

3. CUDAのインストール

$ nvidia-smi

を実行しドライバの詳細を表示します。
この時に、Driver Version: **** という部分に対応しているCUDAをインストールします。

例えばCUDA12.6のリリースノートに書いてある以下の表を見ると、driverバージョンが525.60.13以上ならばCUDA12.x以上のものを使わないといけない、となっています。
ここのバージョンを合わせないと後々エラーになってしまいます。

スクリーンショット 2024-11-24 12.30.44.png

インストールしたいCUDAのバージョンが確認できたので、condaを使ってインストールします。

ここからインストールしたいバージョンのコマンドを探します。
例えば12.1をインストールしたい場合、以下を実行します。

$ conda install nvidia/label/cuda-12.1.0::cuda-toolkit

インストール後、

$ conda list cuda

を実行して cuda-toolkitが含まれていればOKです。

また

$ nvcc -V

を実行し、cudaのバージョンが表示されるかどうかも確認します。
以下は例です。

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

これが表示されない、もしくはインストールしたものとは別のバージョン(ローカルのバージョンなど)が表示される場合は、conda環境にnvccがインストールされていない可能性があるので、インストールします。
先ほどインストールしたcudaと同じバージョンをインストールします。

$ conda install nvidia/label/cuda-12.1.0::cuda-nvcc

4. Pytorchのインストール

pytorchの公式サイトからcudaのバージョンを確認し、あったものをインストールします。

自分の環境(linux, windowsなど)に合わせたコマンドをコピペして実行してください。
例えば、pytorch 2.5.0をインストールしたい場合は以下のコマンドを実行します。

$ conda install pytorch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 pytorch-cuda=12.1 -c pytorch -c nvidia

確認のためターミナルでpython環境に入り、

$ import torch
$ torch.cuda.is_available()

を実行し

$ True

が返ってくることを確認します。
ここまで確認できれば、cuda, pytorchの環境が作成できているはずです。

5. 遭遇したエラー集

上で作成した環境に、gitからクローンしてきたものライブラリをインストールしようとしていた時に発生したエラーです。
wheelをビルドしている時に以下のようなエラーが発生しうまく実行できませんでした。

/home/user_name/miniconda3/envs/env_name/compiler_compat/ld: cannot find -lcudart: No such file or directory
collect2: error: ld returned 1 exit status
error: command '/home/user_name/miniconda3/envs/anv_name/bin/x86_64-conda-linux-gnu-c++' failed with exit code 1
[end of output]

これはlcudartが存在しない、もしくはシンボリックリンクが壊れていることが原因で起こるエラーだと思います。
私の場合はシンボリックリンクが壊れていてうまくいきませんでした。

まず

$ ls -l /home/user_name/miniconda3/envs/env_name/lib/libcudart.so.*

でlibcudart.so.*が存在するかを確認します。
無い場合はcondaでインストールします。
存在するがエラーが発生している場合は

$ file /home/user_name/miniconda3/envs/env_name/lib/libcudart.so

とし

/home/user_name/miniconda3/envs/env_name/lib/libcudart.so: broken symbolic link to libcudart.so.12.1.55

のように表示された場合、シンボリックリンクが壊れているので作成しなおします。

$ rm /home/user_name//miniconda3/envs/env_name/lib/libcudart.so
$ ln -s /home/user_name//miniconda3/envs/env_name/lib/libcudart.so.12.1.105 /home/user_name//miniconda3/envs/env_name/lib/libcudart.so

その後以下のコマンドでシンボリックリンクがうまく作成できているか確認します。

$ ldd /home/rin/miniconda3/envs/sam2/lib/libcudart.so

6. おわりに

linuxにおけるcondaでのGPU環境の構築方法について説明しました。
今後様々なエラーが発生した場合に追記していこうと思います。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?