NVIDIA をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&color(magenta){nvidiaドライバ};を入れてみる
&color(magenta){nvidiaドライバ};は、
-「NVIDIAドライバダウンロード」ページから&color(magenta){...
[[https://www.nvidia.co.jp/Download/index.aspx?lang=jp>+h...
-「CUDA Toolkit」ページで&color(orangered){CUDAライブラリ...
[[https://developer.nvidia.com/cuda-downloads>+https://de...
の2つの経路があるのかなと思っている.
片方はドライバのみ、もう片方は&color(orangered){cudaライ...
前者を選ぶと&color(orangered){cudaライブラリ};がインスト...
前者の利点は、最新の&color(magenta){nvidiaドライバ};が利...
anaconda/minicondaで構築するアプリは「&color(magenta){nvi...
cudatoolkitらの名前で自ら引き込むので. relionとかはそのソ...
&size(10){なのでcryoSPARCも「&color(magenta){nvidiaドライ...
&size(10){[[NVIDIA/ubuntu]]};
では&color(magenta){nvidiaドライバ};を淹れてみる.
現状確認
#code(nonumber){{
[root@centos7 ~]# uname -r
3.10.0-1160.el7.x86_64
[root@centos7 ~]# lspci -v |grep NVIDIA
13:00.0 VGA compatible controller: NVIDIA Corporation Dev...
Subsystem: NVIDIA Corporation Device 151d
[root@centos7 ~]#
}}
GUI環境のログイン画面であると、&color(magenta){nvidiaドラ...
&size(10){「systemctl isolate multi-user.target」の後で「...
#code(nonumber){{
[root@centos7 ~]# systemctl set-default multi-user.target
}}
っで次に開発環境を用意する.
&size(10){カーネル部分に関しては使用したusbに入っているke...
#code(nonumber){{
[root@centos7 ~]# yum install kernel-devel-$(uname -r) ke...
[root@centos7 ~]# yum groupinstall "Development Tools"
[root@centos7 ~]# yum install epel-release
[root@centos7 ~]# yum install dkms
}}
あと、boot段階でnouveauを排除するようにしてからreboot
#code(nonumber){{
[root@centos7 ~]# vi /etc/default/grub
:
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
↓
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet nouveau.m...
:
[root@centos7 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@centos7 ~]# grub2-mkconfig -o /boot/efi/EFI/centos/...
[root@centos7 ~]# reboot
}}
boot後に「lsmod | grep nouveau」でnouveauがないことを確認...
#code(nonumber){{
[root@centos7 ~]# lsmod | grep nouveau
}}
っで&color(magenta){nvidiaドライバ};をインストール
#code(nonumber){{
[root@centos7 ~]# bash NVIDIA-Linux-x86_64-525.105.17.run...
For some distributions, Nouveau can be disabled by ad...
--> Yes -> OK
Would you like to register the kernel module sources ...
--> Yes
Install NVIDIA's 32-bit compatibility libraries?
--> No
Would you like to run the nvidia-xconfig utility to a...
--> No -> OK
(ここをYesで選択したら「rm /etc/X11/xorg.conf」で削除...
[root@centos7 ~]#
}}
確認は「nvidia-smi」が正しく出力されたら.
#code(nonumber){{
[root@centos7 ~]# nvidia-smi
}}
あとはGUI環境に戻すとかで
#code(nonumber){{
[root@centos7 ~]# systemctl set-default graphical.target
[root@centos7 ~]# reboot
}}
これで上手く行くみたい
ほか確認方法として「lshw」とかで NVIDIA が見つかればいい...
#code(nonumber){{
[root@centos7 ~]# lshw -class display
*-display
description: VGA compatible controller
product: SVGA II Adapter
vendor: VMware
physical id: f
bus info: pci@0000:00:0f.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: vga_controller bus_master cap_list rom
configuration: driver=vmwgfx latency=64
resources: irq:16 ioport:2040(size=16) memory:e800...
*-display
description: VGA compatible controller
product: NVIDIA Corporation
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:13:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus...
configuration: driver=nvidia latency=248
resources: irq:65 memory:fb000000-fbffffff memory:...
[root@centos7 ~]#
}}
とか
***削除 [#f1bbc5a0]
&color(magenta){nvidiaドライバ};をインストールしたからに...
&color(magenta){nvidiaドライバ};の削除ですが、2通りある...
-nvidia-uninstallで削除
-yum/dnfで削除
***削除(nvidia-uninstallで) [#r1905003]
こちらは&color(magenta){nvidiaドライバ};を「bash NVIDIA-L...
この時 uninstall向けのスクリプト「nvidia-uninstall」も一...
っで削除手順
#code(nonumber){{
systemctl get-default <--現在のモードを確認
systemctl isolate multi-user.target <--もし「graphical.t...
systemctl stop nvidia-persistenced.service <-- nvidia-pe...
lsmod | grep nvidia <-- カーネル...
rmmod nvidia_drm nvidia_modeset nvidia <-- nvidia関...
エラーが...
(slurmで...
lsmod | grep nvidia <-- 再度確認...
nvidia-uninstall <-- っで削除...
dkms status <-- dkmsでエ...
dkms nvidia_drm nvidia/525.105.17 --all
lsinitrd | grep nvidia <-- /boot/ini...
(rm /lib/modules/3.10.0-1160.71.1.el7.x86_64/extra/nvidia...
(dracut --force) <-- /boot/ini...
}}
こんな感じで削除します
***削除(yum/dnf) [#mde466ec]
こちらはCUDAと共に&color(magenta){nvidiaドライバ};を入れ...
コマンド「nvidia-uninstall」がなくて、「yum list installe...
#code(nonumber){{
systemctl get-default <--現在のモードを確認
systemctl isolate multi-user.target <--もし「graphical.t...
systemctl stop nvidia-persistenced.service <-- nvidia-pe...
lsmod | grep nvidia <-- カーネル...
rmmod nvidia_drm nvidia_modeset nvidia <-- カーネル...
lsmod | grep nvidia <-- 再度確認...
yum remove nvidia-driver-latest -y <-- nvidiaド...
}}
これでnvidiaのカーネルモジュールが削除されます.
***&color(magenta){nvidiaドライバ};のバージョンと&color(o...
cuda libraryのインストールファイル(run file)に同封されて...
|BGCOLOR(YELLOW):CUDA Version|BGCOLOR(YELLOW):Driver Vers...
|13.3.0|610.43.02||
|13.2.1|595.58.03||
|13.1.2|590.48.01||
|13.0.3|580.126.20|Maxwell(980,TitanX),Pascal(10x0),Volta...
|12.9.2|575.57.08||
|12.8.2|570.211.01|RTX50x0対応のはじめ|
|12.6.3|560.35.05||
|12.5.1|555.42.06||
|12.4.1|550.45.15||
|12.3.2|545.23.08||
|12.2.2|535.104.05||
|12.1.1|530.30.02||
|12.0|525.60.11|RTX40x0対応|
|11.8|520.56.06|RTX4090対応のはじめ|
|11.7|515.76||
|11.6|510.85.02||
|11.4|470.141.03|Keplerの上限|
RTX40x0を搭載するには520以上が必要. &size(10){520は新機...
***&color(magenta){nvidiaドライバ};をインストールしてから...
[[https://developer.nvidia.com/cuda-downloads>+https://de...
こちらでは「&color(white,darkgreen){ rpm (local) };」なフ...
#code(nonumber){{
cuda-repo-rhel8-11-7-local-11.7.0_515.43.04-1.x86_64.rpm
とか
cuda-repo-rhel8-11-8-local-11.8.0_520.61.05-1.x86_64.rpm
}}
なファイルを取得している. これから必要なライブラリは
#code(nonumber){{
yum localinstall cuda-repo-rhel7-11-7-local-11.7.0_515.43...
yum install cuda-toolkit-11-7
}}
と「cuda-toolkit-<バージョン>」のみを淹れる
***ubuntuで&color(magenta){nvidiaドライバ};を [#x9030ea9]
大抵はaptなんとかで&color(magenta){nvidiaドライバ};のイン...
#code(nonumber){{
root@ubuntu22:~# uname -r
5.19.0-35-generic
root@ubuntu22:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.2 LTS"
:
root@ubuntu22:~# apt install build-essential dkms
}}
#code(nonumber){{
root@ubuntu22:~# vi /etc/default/grub
:
GRUB_CMDLINE_LINUX=""
↓
GRUB_CMDLINE_LINUX="nouveau.modeset=0 modprobe.blacklist=...
:
root@ubuntu22:~# update-grub
root@ubuntu22:~# systemctl set-default multi-user.target
root@ubuntu22:~# reboot
}}
lsmodでnouveauがないことを確認して、
#code(nonumber){{
root@ubuntu22:~# lsmod |grep nouveau
}}
その後に&color(magenta){nvidiaドライバ};をインストールし...
#code(nonumber){{
root@ubuntu22:~# bash /Public/cuda/NVIDIA-Linux-x86_64-52...
root@ubuntu22:~# systemctl set-default graphical.target
root@ubuntu22:~# reboot
}}
***persistence mode [#o13e41e5]
nvidia-smiと実行してしばらくして結果が表示される. これは ...
・・・でもlsmodでみるとnvidia.koはkernelに組み込まれてい...
っでこの「ワンテンポ遅れる」のをさせず即座に応答させるに...
現在の状態はというと
#code(nonumber){{
[root@centos7 ~]# nvidia-smi -q | grep "Persistence Mode"
Persistence Mode : Disabled
[root@centos7 ~]#
}}
と「Disabled」と無効となっている。これを有効にするには「n...
#code(nonumber){{
[root@centos7 ~]# nvidia-smi -pm 1
Enabled persistence mode for GPU 00000000:13:00.0.
All done.
[root@centos7 ~]# nvidia-smi -q | grep "Persistence Mode"
Persistence Mode : Enabled
[root@centos7 ~]#
}}
っがどうやらこの方法はレガシーな方法のようで、今はもっと...
参照先[[https://download.nvidia.com/XFree86/Linux-x86_64/...
ここから下記の中で&color(magenta){nvidiaドライバ};と同じ...
[[https://download.nvidia.com/XFree86/nvidia-persistenced...
ここでは
#code(nonumber){{
[root@centos7 ~]# nvidia-smi -q | grep "Driver Version"
Driver Version : 525.105.17
[root@centos7 ~]#
}}
なので「nvidia-persistenced-525.105.17.tar.bz2」を取得し...
#code(nonumber){{
[root@centos7 ~]# wget https://download.nvidia.com/XFree8...
[root@centos7 ~]# tar xf nvidia-persistenced-525.105.17.t...
[root@centos7 ~]# cd nvidia-persistenced-525.105.17/
[root@centos7 nvidia-persistenced-525.105.17]# make
[root@centos7 nvidia-persistenced-525.105.17]# make install
mkdir -p /usr/local/bin
install -m 755 _out/Linux_x86_64/nvidia-persistenced /usr...
mkdir -p /usr/local/share/man/man1
install -m 755 _out/Linux_x86_64/nvidia-persistenced.1.gz...
[root@centos7 nvidia-persistenced-525.105.17]#
}}
次に自動で「persistence mode」を有効にするserviceをインス...
#code(nonumber){{
[root@centos7 nvidia-persistenced-525.105.17]# cd init/
[root@centos7 init]# ./install.sh systemd
}}
これで「nvidia-persistenced」ユーザが作られて、「nvidia-p...
#code(nonumber){{
[root@centos7 ~]# systemctl list-unit-files | grep nvidia
nvidia-hibernate.service enabled
nvidia-persistenced.service enabled
nvidia-powerd.service disabled
nvidia-resume.service enabled
nvidia-suspend.service enabled
[root@centos7 ~]#
}}
一応「./install.sh systemd」でOS起動時に稼働する設定は施...
#code(nonumber){{
[root@centos7 ~]# systemctl status nvidia-persistenced.se...
● nvidia-persistenced.service - NVIDIA Persistence Daemon
Loaded: loaded (/usr/lib/systemd/system/nvidia-persist...
Active: active (running) since Thu 2023-04-13 01:30:15...
Process: 2753 ExecStart=/usr/bin/nvidia-persistenced --...
Main PID: 2755 (nvidia-persiste)
Tasks: 1
CGroup: /system.slice/nvidia-persistenced.service
mq2755 /usr/bin/nvidia-persistenced --user nvi...
Apr 13 01:30:14 centos7 systemd[1]: Starting NVIDIA Persi...
Apr 13 01:30:14 centos7 nvidia-persistenced[2755]: Starte...
Apr 13 01:30:15 centos7 systemd[1]: Started NVIDIA Persis...
[root@centos7 ~]#
}}
&size(10){「&color(red){nvpd_rpc.h:9:10: fatal error: rpc...
***備考 [#vb48147a]
下記コマンドでの違いについて
「bash /Public/cuda/NVIDIA-Linux-x86_64-525.105.17.run --...
「bash /Public/cuda/NVIDIA-Linux-x86_64-525.105.17.run」
引数をを入れた場合(左) と 何も引数を入れない場合(右) の差
#code(nonumber){{
/usr/lib/modprobe.d
nvidia-installer-disable-nouveau.conf -
/usr/lib64/xorg/modules/extensions/
- libglxser...
/usr/lib64/
libEGL_nv...
libGLESv1...
libGLESv2...
libGLX_nv...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvopti...
/usr/share/glvnd/egl_vendor.d/
- 10_nvidia...
/usr/share/egl/egl_external_platform.d/
10_nvidia...
15_nvidia...
/etc/modprobe.d/
nvidia-installer-disable-nouveau.conf
}}
「--disable-nouveau --no-opengl-files --dkms」とすると「1...
#code(nonumber){{
{
"file_format_version" : "1.0.0",
"ICD" : {
"library_path" : "libEGL_mesa.so.0"
}
}
}}
***expertでインストール [#d6bb91e6]
どうやらこの辺になると上級者っぽい
#code(nonumber){{
NVIDIA-Linux-x86_64-515.105.01.run --expert
}}
***消費電力を下げてみる [#p219a103]
(オプション)どうも計算中にコケるので試してみた. GPUカード...
#code(nonumber){{
[root@xxxxx ~]# nvidia-smi --power-limit=125
Power limit for GPU 00000000:08:00.0 was set to 125.00 W ...
Power limit for GPU 00000000:09:00.0 was set to 125.00 W ...
Power limit for GPU 00000000:43:00.0 was set to 125.00 W ...
Power limit for GPU 00000000:44:00.0 was set to 125.00 W ...
All done.
[root@xxxxx ~]#
}}
手元にあるRTX A2000(6GB)で調べると
#code(nonumber){{
[root@rockylinux9 ~]# nvidia-smi -q
:
GPU Power Readings
Power Draw : 24.26 W
Current Power Limit : 70.00 W
Requested Power Limit : 70.00 W
Default Power Limit : 70.00 W
Min Power Limit : 10.00 W
Max Power Limit : 70.00 W
:
[root@rockylinux9 ~]#
}}
最低値は10Wに定義できるそうな
っで現実的な値「nvidia-smi --power-limit=40」としても再起...
やっぱりsystemdを立てるのがいいみたい
#code(nonumber){{
[root@rockylinux9 ~]# vi /usr/lib/systemd/system/nvidia-p...
[Unit]
Description=set cap power usage of GPU
Wants=syslog.target
After=nvidia-persistenced.service
[Service]
Type=forking
User=root
Restart=on-abort
ExecStart=/usr/bin/nvidia-smi --power-limit=40
[Install]
WantedBy=multi-user.target
[root@rockylinux9 ~]#
[root@rockylinux9 ~]# systemctl daemon-reload
[root@rockylinux9 ~]# systemctl enable nvidia-powerlimit....
}}
いちいち「/usr/lib/systemd/system/nvidia-powerlimit.servi...
問題があるなら「systemd-analyze plot > plot.svg」で起動順...
***VirtualGL [#r0d41e3e]
[[VirtualGL]]を使い場合、nvidiaドライバー由来のopenglファ...
#code(nonumber){{
bash /Public/cuda/NVIDIA-Linux-x86_64-525.105.17.run --di...
}}
と「&color(magenta){--no-opengl-files}; &color(magenta){...
終了行:
&color(magenta){nvidiaドライバ};を入れてみる
&color(magenta){nvidiaドライバ};は、
-「NVIDIAドライバダウンロード」ページから&color(magenta){...
[[https://www.nvidia.co.jp/Download/index.aspx?lang=jp>+h...
-「CUDA Toolkit」ページで&color(orangered){CUDAライブラリ...
[[https://developer.nvidia.com/cuda-downloads>+https://de...
の2つの経路があるのかなと思っている.
片方はドライバのみ、もう片方は&color(orangered){cudaライ...
前者を選ぶと&color(orangered){cudaライブラリ};がインスト...
前者の利点は、最新の&color(magenta){nvidiaドライバ};が利...
anaconda/minicondaで構築するアプリは「&color(magenta){nvi...
cudatoolkitらの名前で自ら引き込むので. relionとかはそのソ...
&size(10){なのでcryoSPARCも「&color(magenta){nvidiaドライ...
&size(10){[[NVIDIA/ubuntu]]};
では&color(magenta){nvidiaドライバ};を淹れてみる.
現状確認
#code(nonumber){{
[root@centos7 ~]# uname -r
3.10.0-1160.el7.x86_64
[root@centos7 ~]# lspci -v |grep NVIDIA
13:00.0 VGA compatible controller: NVIDIA Corporation Dev...
Subsystem: NVIDIA Corporation Device 151d
[root@centos7 ~]#
}}
GUI環境のログイン画面であると、&color(magenta){nvidiaドラ...
&size(10){「systemctl isolate multi-user.target」の後で「...
#code(nonumber){{
[root@centos7 ~]# systemctl set-default multi-user.target
}}
っで次に開発環境を用意する.
&size(10){カーネル部分に関しては使用したusbに入っているke...
#code(nonumber){{
[root@centos7 ~]# yum install kernel-devel-$(uname -r) ke...
[root@centos7 ~]# yum groupinstall "Development Tools"
[root@centos7 ~]# yum install epel-release
[root@centos7 ~]# yum install dkms
}}
あと、boot段階でnouveauを排除するようにしてからreboot
#code(nonumber){{
[root@centos7 ~]# vi /etc/default/grub
:
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
↓
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet nouveau.m...
:
[root@centos7 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@centos7 ~]# grub2-mkconfig -o /boot/efi/EFI/centos/...
[root@centos7 ~]# reboot
}}
boot後に「lsmod | grep nouveau」でnouveauがないことを確認...
#code(nonumber){{
[root@centos7 ~]# lsmod | grep nouveau
}}
っで&color(magenta){nvidiaドライバ};をインストール
#code(nonumber){{
[root@centos7 ~]# bash NVIDIA-Linux-x86_64-525.105.17.run...
For some distributions, Nouveau can be disabled by ad...
--> Yes -> OK
Would you like to register the kernel module sources ...
--> Yes
Install NVIDIA's 32-bit compatibility libraries?
--> No
Would you like to run the nvidia-xconfig utility to a...
--> No -> OK
(ここをYesで選択したら「rm /etc/X11/xorg.conf」で削除...
[root@centos7 ~]#
}}
確認は「nvidia-smi」が正しく出力されたら.
#code(nonumber){{
[root@centos7 ~]# nvidia-smi
}}
あとはGUI環境に戻すとかで
#code(nonumber){{
[root@centos7 ~]# systemctl set-default graphical.target
[root@centos7 ~]# reboot
}}
これで上手く行くみたい
ほか確認方法として「lshw」とかで NVIDIA が見つかればいい...
#code(nonumber){{
[root@centos7 ~]# lshw -class display
*-display
description: VGA compatible controller
product: SVGA II Adapter
vendor: VMware
physical id: f
bus info: pci@0000:00:0f.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: vga_controller bus_master cap_list rom
configuration: driver=vmwgfx latency=64
resources: irq:16 ioport:2040(size=16) memory:e800...
*-display
description: VGA compatible controller
product: NVIDIA Corporation
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:13:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus...
configuration: driver=nvidia latency=248
resources: irq:65 memory:fb000000-fbffffff memory:...
[root@centos7 ~]#
}}
とか
***削除 [#f1bbc5a0]
&color(magenta){nvidiaドライバ};をインストールしたからに...
&color(magenta){nvidiaドライバ};の削除ですが、2通りある...
-nvidia-uninstallで削除
-yum/dnfで削除
***削除(nvidia-uninstallで) [#r1905003]
こちらは&color(magenta){nvidiaドライバ};を「bash NVIDIA-L...
この時 uninstall向けのスクリプト「nvidia-uninstall」も一...
っで削除手順
#code(nonumber){{
systemctl get-default <--現在のモードを確認
systemctl isolate multi-user.target <--もし「graphical.t...
systemctl stop nvidia-persistenced.service <-- nvidia-pe...
lsmod | grep nvidia <-- カーネル...
rmmod nvidia_drm nvidia_modeset nvidia <-- nvidia関...
エラーが...
(slurmで...
lsmod | grep nvidia <-- 再度確認...
nvidia-uninstall <-- っで削除...
dkms status <-- dkmsでエ...
dkms nvidia_drm nvidia/525.105.17 --all
lsinitrd | grep nvidia <-- /boot/ini...
(rm /lib/modules/3.10.0-1160.71.1.el7.x86_64/extra/nvidia...
(dracut --force) <-- /boot/ini...
}}
こんな感じで削除します
***削除(yum/dnf) [#mde466ec]
こちらはCUDAと共に&color(magenta){nvidiaドライバ};を入れ...
コマンド「nvidia-uninstall」がなくて、「yum list installe...
#code(nonumber){{
systemctl get-default <--現在のモードを確認
systemctl isolate multi-user.target <--もし「graphical.t...
systemctl stop nvidia-persistenced.service <-- nvidia-pe...
lsmod | grep nvidia <-- カーネル...
rmmod nvidia_drm nvidia_modeset nvidia <-- カーネル...
lsmod | grep nvidia <-- 再度確認...
yum remove nvidia-driver-latest -y <-- nvidiaド...
}}
これでnvidiaのカーネルモジュールが削除されます.
***&color(magenta){nvidiaドライバ};のバージョンと&color(o...
cuda libraryのインストールファイル(run file)に同封されて...
|BGCOLOR(YELLOW):CUDA Version|BGCOLOR(YELLOW):Driver Vers...
|13.3.0|610.43.02||
|13.2.1|595.58.03||
|13.1.2|590.48.01||
|13.0.3|580.126.20|Maxwell(980,TitanX),Pascal(10x0),Volta...
|12.9.2|575.57.08||
|12.8.2|570.211.01|RTX50x0対応のはじめ|
|12.6.3|560.35.05||
|12.5.1|555.42.06||
|12.4.1|550.45.15||
|12.3.2|545.23.08||
|12.2.2|535.104.05||
|12.1.1|530.30.02||
|12.0|525.60.11|RTX40x0対応|
|11.8|520.56.06|RTX4090対応のはじめ|
|11.7|515.76||
|11.6|510.85.02||
|11.4|470.141.03|Keplerの上限|
RTX40x0を搭載するには520以上が必要. &size(10){520は新機...
***&color(magenta){nvidiaドライバ};をインストールしてから...
[[https://developer.nvidia.com/cuda-downloads>+https://de...
こちらでは「&color(white,darkgreen){ rpm (local) };」なフ...
#code(nonumber){{
cuda-repo-rhel8-11-7-local-11.7.0_515.43.04-1.x86_64.rpm
とか
cuda-repo-rhel8-11-8-local-11.8.0_520.61.05-1.x86_64.rpm
}}
なファイルを取得している. これから必要なライブラリは
#code(nonumber){{
yum localinstall cuda-repo-rhel7-11-7-local-11.7.0_515.43...
yum install cuda-toolkit-11-7
}}
と「cuda-toolkit-<バージョン>」のみを淹れる
***ubuntuで&color(magenta){nvidiaドライバ};を [#x9030ea9]
大抵はaptなんとかで&color(magenta){nvidiaドライバ};のイン...
#code(nonumber){{
root@ubuntu22:~# uname -r
5.19.0-35-generic
root@ubuntu22:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.2 LTS"
:
root@ubuntu22:~# apt install build-essential dkms
}}
#code(nonumber){{
root@ubuntu22:~# vi /etc/default/grub
:
GRUB_CMDLINE_LINUX=""
↓
GRUB_CMDLINE_LINUX="nouveau.modeset=0 modprobe.blacklist=...
:
root@ubuntu22:~# update-grub
root@ubuntu22:~# systemctl set-default multi-user.target
root@ubuntu22:~# reboot
}}
lsmodでnouveauがないことを確認して、
#code(nonumber){{
root@ubuntu22:~# lsmod |grep nouveau
}}
その後に&color(magenta){nvidiaドライバ};をインストールし...
#code(nonumber){{
root@ubuntu22:~# bash /Public/cuda/NVIDIA-Linux-x86_64-52...
root@ubuntu22:~# systemctl set-default graphical.target
root@ubuntu22:~# reboot
}}
***persistence mode [#o13e41e5]
nvidia-smiと実行してしばらくして結果が表示される. これは ...
・・・でもlsmodでみるとnvidia.koはkernelに組み込まれてい...
っでこの「ワンテンポ遅れる」のをさせず即座に応答させるに...
現在の状態はというと
#code(nonumber){{
[root@centos7 ~]# nvidia-smi -q | grep "Persistence Mode"
Persistence Mode : Disabled
[root@centos7 ~]#
}}
と「Disabled」と無効となっている。これを有効にするには「n...
#code(nonumber){{
[root@centos7 ~]# nvidia-smi -pm 1
Enabled persistence mode for GPU 00000000:13:00.0.
All done.
[root@centos7 ~]# nvidia-smi -q | grep "Persistence Mode"
Persistence Mode : Enabled
[root@centos7 ~]#
}}
っがどうやらこの方法はレガシーな方法のようで、今はもっと...
参照先[[https://download.nvidia.com/XFree86/Linux-x86_64/...
ここから下記の中で&color(magenta){nvidiaドライバ};と同じ...
[[https://download.nvidia.com/XFree86/nvidia-persistenced...
ここでは
#code(nonumber){{
[root@centos7 ~]# nvidia-smi -q | grep "Driver Version"
Driver Version : 525.105.17
[root@centos7 ~]#
}}
なので「nvidia-persistenced-525.105.17.tar.bz2」を取得し...
#code(nonumber){{
[root@centos7 ~]# wget https://download.nvidia.com/XFree8...
[root@centos7 ~]# tar xf nvidia-persistenced-525.105.17.t...
[root@centos7 ~]# cd nvidia-persistenced-525.105.17/
[root@centos7 nvidia-persistenced-525.105.17]# make
[root@centos7 nvidia-persistenced-525.105.17]# make install
mkdir -p /usr/local/bin
install -m 755 _out/Linux_x86_64/nvidia-persistenced /usr...
mkdir -p /usr/local/share/man/man1
install -m 755 _out/Linux_x86_64/nvidia-persistenced.1.gz...
[root@centos7 nvidia-persistenced-525.105.17]#
}}
次に自動で「persistence mode」を有効にするserviceをインス...
#code(nonumber){{
[root@centos7 nvidia-persistenced-525.105.17]# cd init/
[root@centos7 init]# ./install.sh systemd
}}
これで「nvidia-persistenced」ユーザが作られて、「nvidia-p...
#code(nonumber){{
[root@centos7 ~]# systemctl list-unit-files | grep nvidia
nvidia-hibernate.service enabled
nvidia-persistenced.service enabled
nvidia-powerd.service disabled
nvidia-resume.service enabled
nvidia-suspend.service enabled
[root@centos7 ~]#
}}
一応「./install.sh systemd」でOS起動時に稼働する設定は施...
#code(nonumber){{
[root@centos7 ~]# systemctl status nvidia-persistenced.se...
● nvidia-persistenced.service - NVIDIA Persistence Daemon
Loaded: loaded (/usr/lib/systemd/system/nvidia-persist...
Active: active (running) since Thu 2023-04-13 01:30:15...
Process: 2753 ExecStart=/usr/bin/nvidia-persistenced --...
Main PID: 2755 (nvidia-persiste)
Tasks: 1
CGroup: /system.slice/nvidia-persistenced.service
mq2755 /usr/bin/nvidia-persistenced --user nvi...
Apr 13 01:30:14 centos7 systemd[1]: Starting NVIDIA Persi...
Apr 13 01:30:14 centos7 nvidia-persistenced[2755]: Starte...
Apr 13 01:30:15 centos7 systemd[1]: Started NVIDIA Persis...
[root@centos7 ~]#
}}
&size(10){「&color(red){nvpd_rpc.h:9:10: fatal error: rpc...
***備考 [#vb48147a]
下記コマンドでの違いについて
「bash /Public/cuda/NVIDIA-Linux-x86_64-525.105.17.run --...
「bash /Public/cuda/NVIDIA-Linux-x86_64-525.105.17.run」
引数をを入れた場合(左) と 何も引数を入れない場合(右) の差
#code(nonumber){{
/usr/lib/modprobe.d
nvidia-installer-disable-nouveau.conf -
/usr/lib64/xorg/modules/extensions/
- libglxser...
/usr/lib64/
libEGL_nv...
libGLESv1...
libGLESv2...
libGLX_nv...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvidia...
libnvopti...
/usr/share/glvnd/egl_vendor.d/
- 10_nvidia...
/usr/share/egl/egl_external_platform.d/
10_nvidia...
15_nvidia...
/etc/modprobe.d/
nvidia-installer-disable-nouveau.conf
}}
「--disable-nouveau --no-opengl-files --dkms」とすると「1...
#code(nonumber){{
{
"file_format_version" : "1.0.0",
"ICD" : {
"library_path" : "libEGL_mesa.so.0"
}
}
}}
***expertでインストール [#d6bb91e6]
どうやらこの辺になると上級者っぽい
#code(nonumber){{
NVIDIA-Linux-x86_64-515.105.01.run --expert
}}
***消費電力を下げてみる [#p219a103]
(オプション)どうも計算中にコケるので試してみた. GPUカード...
#code(nonumber){{
[root@xxxxx ~]# nvidia-smi --power-limit=125
Power limit for GPU 00000000:08:00.0 was set to 125.00 W ...
Power limit for GPU 00000000:09:00.0 was set to 125.00 W ...
Power limit for GPU 00000000:43:00.0 was set to 125.00 W ...
Power limit for GPU 00000000:44:00.0 was set to 125.00 W ...
All done.
[root@xxxxx ~]#
}}
手元にあるRTX A2000(6GB)で調べると
#code(nonumber){{
[root@rockylinux9 ~]# nvidia-smi -q
:
GPU Power Readings
Power Draw : 24.26 W
Current Power Limit : 70.00 W
Requested Power Limit : 70.00 W
Default Power Limit : 70.00 W
Min Power Limit : 10.00 W
Max Power Limit : 70.00 W
:
[root@rockylinux9 ~]#
}}
最低値は10Wに定義できるそうな
っで現実的な値「nvidia-smi --power-limit=40」としても再起...
やっぱりsystemdを立てるのがいいみたい
#code(nonumber){{
[root@rockylinux9 ~]# vi /usr/lib/systemd/system/nvidia-p...
[Unit]
Description=set cap power usage of GPU
Wants=syslog.target
After=nvidia-persistenced.service
[Service]
Type=forking
User=root
Restart=on-abort
ExecStart=/usr/bin/nvidia-smi --power-limit=40
[Install]
WantedBy=multi-user.target
[root@rockylinux9 ~]#
[root@rockylinux9 ~]# systemctl daemon-reload
[root@rockylinux9 ~]# systemctl enable nvidia-powerlimit....
}}
いちいち「/usr/lib/systemd/system/nvidia-powerlimit.servi...
問題があるなら「systemd-analyze plot > plot.svg」で起動順...
***VirtualGL [#r0d41e3e]
[[VirtualGL]]を使い場合、nvidiaドライバー由来のopenglファ...
#code(nonumber){{
bash /Public/cuda/NVIDIA-Linux-x86_64-525.105.17.run --di...
}}
と「&color(magenta){--no-opengl-files}; &color(magenta){...
ページ名:
1