計算の一部をGPUに回して処理速度を向上させる. そのプログラムを作るのに、動かすのに必要なのがこのCUDAライブラリ
Compute Unified Device Architecture
CUDA自体はnvidia社からリリースされ、nvidia社製VGAカードにのみ有効である.

負荷テスト

インストール

下記サイトからCUDAライブラリを入手します
https://developer.nvidia.com/cuda-downloads

インストール用ファイルは

と3種類ありますが、ここでは「rpm(local)」をいつも使用しています.

CUDAを機能させるためにはNVIDIAドライバが必要です。
これらインストール用ファイルには NVIDIAドライバ を含み一度でドライバとライブラリを入れれますが、NVIDIAドライバが古かったりします.
ここではNVIDIAのように、NVIDIAドライバのみを先行してインストールして、あとからCUDAライブラリを入れております.

「rpm(local)」の場合は、rpmファイルを取得して、localinstallでリポジトリのインストール、その後必要なパッケージをインストールしています
「必要なパッケージ」は「cuda-toolkit」です. この「cuda-toolkit」でnvccやcudaライブラリ(開発/実行)がインストールされます

dnf localinstall cuda-repo-rhel9-12-1-local-12.1.0_530.30.02-1.x86_64.rpm
dnf install cuda-toolkit-12-1
 
dnf remove cuda-repo-rhel9-12-1-local-12.1.0_530.30.02-1         <-- 「必要なパッケージ」のインストールが終わったらリポジトリを削除します

もし、実行ライブラリのみ必要だったら「cuda-libraries」のみを入れます. これでランタイムライブラリのみ入ります.
Gautomatch, GCTFにおいては、cuda-libraries-10-1があればいい

インストール runfileで

nvidiaドライバとcudaライブラリを一緒に入れてみる.
まずは nouveau を強制的に外して、multi-user.targetに切り替える

[root@centos7 ~]# vi /etc/default/grub
 :
GRUB_CMDLINE_LINUX="rhgb quiet"
 ↓
GRUB_CMDLINE_LINUX="rhgb quiet nouveau.modeset=0 modprobe.blacklist=nouveau"
 :
[root@centos7 ~]# grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
[root@centos7 ~]# systemctl set-default multi-user.target
[root@centos7 ~]# reboot
 
[root@centos7 ~]# yum install epel-release -y; yum install dkms -y
[root@centos7 ~]# bash /Public/cuda/cuda_12.1.0_530.30.02_linux.run --driver --kernelobjects --toolkit --no-opengl-libs --no-man-page --silent
[root@centos7 ~]# systemctl set-default graphical.target ; reboot

conda

conda経由で作れるcrYOLOやtopazにはcudaライブラリが必要ですが、別に/usr/local/cudaが必要なわけではない.
cudaの中で独自にcudaライブラリを用意するから. nvidiaドライバは必須ですけど.

なら必要な局面は?となるとrelionとか自らコンパイルするとか自作プログラムを作る際には/usr/local/cudaが必要となる

nvidia-persistenced 

CUDAの動作モード.

cudaライブラリのパッケージから入れるか、nvidiaドライバを入れてからcudaのtoolkitのみを入れるかになる
前者は「Persistence Mode」のツールも入れてくれるが、後者は入らない。

後者の場合 https://download.nvidia.com/XFree86/nvidia-persistencedにてnvidiaドライバと同じバージョンのツールを取得する

bash NVIDIA-Linux-x86_64-520.56.06.run --disable-nouveau --no-opengl-files --no-libglx-indirect
reboot
tar xf nvidia-persistenced-520.56.06.tar.bz2                <-- 取得したファイル
cd nvidia-persistenced-520.56.06
make
make install
cd init
make install    <--- 「nvidia-persistenced.service」がインストールされる

EnvironmentModules

コンパイラ環境でもあるので modulefile を用意します

[root@rockylinux9 ~]# mkdir /apps/modulefiles/cuda
 
[root@rockylinux9 ~]# vi /apps/modulefiles/cuda/12.1
#%Module1.0
 
set cuda /usr/local/cuda-12.1
 
prepend-path PATH            $cuda/bin
prepend-path LD_LIBRARY_PATH $cuda/lib64
prepend-path MANPATH         $cuda/share/man
 
[root@rockylinux9 ~]#

LD_LIBRARY_PATH は「/etc/ld.so.conf.d/」で定義されているから不要かもしれない

最新の60件
2025-12-09 2025-12-08 2025-12-07 2025-12-05 2025-11-30 2025-11-27 2025-11-24 2025-11-23 2025-11-19 2025-11-18 2025-11-16 2025-11-05 2025-11-03 2025-11-02 2025-10-31 2025-10-30 2025-10-29 2025-10-28 2025-10-26 2025-10-25 2025-10-24 2025-10-22 2025-10-21 2025-10-17 2025-10-13 2025-10-11 2025-10-06 2025-10-05 2025-09-30 2025-09-29 2025-09-28 2025-09-25 2025-09-24 2025-09-23 2025-09-21 2025-09-20 2025-09-14 2025-09-13

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-08-06 (水) 02:33:29