はじめに
MD・DFTやプリポスト処理用のサーバーやHPCクラスタとソフトウェアの各種設定について,覚書としてまとめていくページです。このページに記載の設定は筆者の好みが反映された構成に過ぎませんので,あくまで一つの例として参照ください。
個人的に蓄積してきたノウハウやメモのほかに,色々な方々とやりとりして得た情報も含めて,支障ない範囲で記録として書いていく予定です。過去gihub pagesに類似のページは作ってましたが,wordpressの方が画像ごとコピペしやすいため,可能な限りこちらに集約していく見込みです(書きやすい方がたぶん小まめな更新がしやすいので・・)。内容がまとまってきたらQiitaに引っ越すかもしれません。
OS基本設定項目
初回設置時に一部を業者にやってもらうケースもあるため,一から全てのデータとなっているかと言われればそうではないかも。なおRHEL系でセットアップしてまとめますので,基本的にはRHEL/CentOS/AlmaLinux/RockyLinuxユーザーを前提とする。そのためUbuntuなどのDebian系の方はその点ご留意すること。
dnf/yum
手持ちのサーバーはAlmalinux 8.9のためdnfをベースとして記載するが,用法はyumとほぼ同じはず。
[ishii@mdx01 ~]$ cat /etc/redhat-release
AlmaLinux release 8.9 (Midnight Oncilla)
dnfを特段設定を変えるわけではなく,epelとpowertoolsはインストールしておくけど,基本的には無効化設定とする。
[ishii@mdx01 ~]$ grep enabled /etc/yum.repos.d/epel.repo
enabled=0
enabled=0
enabled=0
[ishii@mdx01 ~]$ grep enabled /etc/yum.repos.d/almalinux-powertools.repo
enabled=0
enabled=0
enabled=0
epelやpowertoolsを使いたいときは,$ sudo dnf install --enablerepo=epel <new packages>
などとするほうが,意図しないパッケージの更新は起きづらいと判断。なおpowertoolsはCentOS/AlmaLinux/RockyLinuxのためのリポジトリで,RHELだとcodeready-builder-for-rhel-8などという名称になるので注意する。
HPCクラスタを構築する際は,dnfによるパッケージ・ライブラリは共通項のもののみとする。管理者権限でパッケージを入れすぎると,タイミングによっては同様の環境を再構築することが難しくなるのと,パッケージの導入を計算ノードでも処理するのが面倒になる。
gromacsなどのソフトウェアだけでなくfftwなどのライブラリもソースコードからビルドして,NFSで計算ノードへ公開するストレージ領域で共有設定しておく。あとgnuplotもソースコードからビルドする(dnfでいれるgnuplotは,tabによる予測変換などの誤作動が多い気がしてあまり・・)
ssh
opensshは学内などのセキュアな環境が保証されている場合はあまり変更しなくて良いか。学外開放する場合はportの変更が推奨だが,全学的なfirewallの設定とHPCサービスとしての運用次第。研究室サーバーとしては以下の項目を調整。
[ishii@mdx01 ~]$ sudo vi /etc/ssh/sshd_config
...
PermitRootLogin yes # 管理目的のため,設置後しばらくはrootによるログイン可に
...
PasswordAuthentication yes # 同上の理由からパスワード認証を可のまま
...
その後,/etc/hostsに管理対象のストレージー・計算サーバーのIPアドレスを記載した後,sshアクセスの詳細は各ユーザの.ssh/configへ記載。
[ishii@mdx01 ~]$ sudo vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
XX.XX.XX.XX mdx01.external
192.168.1.1 mdx01.local mdx01
192.168.1.2 mdx02.local mdx02
192.168.1.3 mdx03.local mdx03
192.168.1.4 mdx04.local mdx04
192.168.1.5 mdx05.local mdx05
[ishii@mdx01 ~]$ cat .ssh/config
ServerAliveInterval 30
ServerAliveCountMax 2880
Host localhost mdx0*
GSSAPIAuthentication no
StrictHostKeyChecking no
IdentityFile ~/.ssh/mdx_id_rsa
UserKnownHostsFile ~/.ssh/known_hosts
configファイルにて StrictHostKeyChecking no
を入力しておかないと,ノード間並列計算を実行する時にうまく実行されない場合があるため要注意。つまり,ジョブスケジューラを通じて並列計算が実行される際,計算ノード間でのデータのやり取りの間で,Are you sure you want to continue connecting (yes/no/[fingerprint])?
の状態で止まってしまう。一度計算ノードへとsshでアクセスしてknown_hostsに記録させるか,上記のようにconfigに書くか,/etc/ssh/sshd_config
でknows_hostsを記録しないようにする対応などが必要となる。
NFS
計算クラスタを構築する以上,同じディレクトリツリーが管理ノードと計算ノード上で参照可能でないと(おそらく)いけないため,NFSを利用する。Lustreなどの分散ファイルシステムのほうが高速だが,高価なため研究室レベルではやはり難しい。なおRHELの場合,ファイルシステムに応じて利用可能なストレージ容量の最大値が変わるので要注意(https://access.redhat.com/ja/articles/1271503)。
NFS関係のパッケージを以下の通り導入したら,/etc/exports
ファイルへイントラネットへ公開するディレクトリの情報を記載する。この/etc/exports
を作成する際は,IPアドレス→サブネットマスクのあとにNFS共有オプションを記載することができるが,サブネットマスクと共有オプションの間にスペースを入れないように要注意。またサブネットマスクは省略可能。
[ishii@mdx01 ~]$ sudo dnf -y install nfs-utils
[ishii@mdx01 ~]$ sudo vi /etc/exports
/home 192.168.1.0/24(rw,async,no_root_squash)
/etc/exportsにイントラネットへ公開するディレクトリを書いただけでは,当該ディレクトリの公開が反映されないため,nfsサービスを開始した後,exportfs -aコマンドで設定を反映して,イントラネットへと公開する。
[ishii@mdx01 ~]$ sudo systemctl start nfs-server
[ishii@mdx01 ~]$ sudo systemctl enable nfs-server
[ishii@mdx01 ~]$ sudo exports -a # 公開開始
[ishii@mdx01 ~]$ sudo exports -v # 公開設定を確認
/home 192.168.1.0/24(async,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
[ishii@mdx01 ~]$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
Drop-In: /run/systemd/generator/nfs-server.service.d
└─order-with-mounts.conf
Active: active (exited) since Mon 2024-09-09 17:49:02 JST; 9min ago
Process: 896846 ExecStopPost=/usr/sbin/exportfs -f (code=exited, status=0/SUCCESS)
Process: 896841 ExecStopPost=/usr/sbin/exportfs -au (code=exited, status=0/SUCCESS)
Process: 896839 ExecStop=/usr/sbin/rpc.nfsd 0 (code=exited, status=0/SUCCESS)
Process: 896894 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
Process: 896879 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
Process: 896877 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
Main PID: 896894 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 819416)
Memory: 0B
CGroup: /system.slice/nfs-server.service
RAID
複数のHDDを元にして,一つのストレージ領域を作成し,データ管理の容易さと冗長性をもたせたいため,RAIDを活用する。安価なサーバー上ではmdadmパッケージによるソフトウェアRAIDを使うが,業者から購入するお高いサーバーではハードウェアRAIDがやはり好ましい。
以下ではまず,mdadmを導入してから,HDDのパーティションを作成する。
[ishii@mdx00 ~]# dnf install mdadm
# 必ずsmartctlコマンドで,RAID対象となるデバイスの名称を確認すること。
# 今回の場合は,/dev/sd[bcdef] の5台でRAID領域を構築。
[root@mdx00 ishii]# smartctl -a /dev/sdb | grep "Device Model"
Device Model: WDC WD120EFBX-68B0EN0
[root@mdx00 ishii]# smartctl -a /dev/sdc | grep "Device Model"
Device Model: WDC WD120EFBX-68B0EN0
[root@mdx00 ishii]# smartctl -a /dev/sdd | grep "Device Model"
Device Model: WDC WD120EFBX-68B0EN0
[root@mdx00 ishii]# smartctl -a /dev/sde | grep "Device Model"
Device Model: WDC WD120EFBX-68B0EN0
[root@mdx00 ishii]# smartctl -a /dev/sdf | grep "Device Model"
Device Model: WDC WD120EFBX-68B0EN0
[root@mdx00 ishii]#
# 以下の作業を/dev/sdb, /dev/sdc, /dev/sdd, /dev/sde, /dev/sdfの5台分に対して実行
[root@mdx00 ishii]# parted --script /dev/sdb "mklabel gpt"
[root@mdx00 ishii]# parted --script /dev/sdb "mkpart primary 0% 100%"
[root@mdx00 ishii]# parted --script /dev/sdb "set 1 raid on"
[root@mdx00 ishii]# parted /dev/sdb print # これはRAID構築済みの状態でprintしたが,未構築だったらファイルシステムの情報が未記載のはず
モデル: ATA WDC WD120EFBX-68 (scsi)
ディスク /dev/sdb: 12.0TB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:
番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 1049kB 12.0TB 12.0TB xfs raid
HDDの用意ができたら,mdadmの設定を構築する。
[root@mdx00 ishii]# mdadm --create /dev/md0 --level=raid5 --raid-devices=5 /dev/sd[bcdef]1
# 以下はフォーマットが終わった状態だが,5台分が参照できていることがわかる。
# 定期的に確認し,[UUUUU]と台数分だけUが表示されて問題ないことを確認すること。
# (異常時は[UUUU_]などとなる)
[root@mdx00 ishii]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdc1[1] sde1[3] sdb1[0] sdd1[2] sdf1[5]
46875004928 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
bitmap: 0/88 pages [0KB], 65536KB chunk
unused devices: <none>
# xds形式でraid領域をフォーマットしてマウント。
[root@mdx00 ishii]# mkfs.xfs -i size=1024 -s size=4096 /dev/md0
[root@mdx00 ishii]# mount /dev/md0 /misc
# 定期的なチェック対象に,今回構築したファイルシステムを適用。
[root@mdx00 ishii]# vi /etc/sysconfig/raid-check
...
CHECK_DEVS="md0"
....
# mdadmで構築されたraidパーティションの情報を参照。
[root@mdx00 ishii]# mdadm --detail -scan
ARRAY /dev/md/0 metadata=1.2 name=mdx00:0 UUID=00e6d676:9820ce8d:f26b32f8:b94f687b
# mdadmの設定ファイルへ監視対象のraidパーティションを追加
[root@mdx00 ishii]# mdadm --detail -scan >> /etc/mdadm.conf
[root@mdx00 ishii]# cat /etc/mdadm.conf
MAILADDR root
AUTO +imsm +1.x -all
ARRAY /dev/md/0 metadata=1.2 name=mdx00:0 UUID=00e6d676:9820ce8d:f26b32f8:b94f687b
# /dev/md0の状態を最後に確認。名称に関する警告?が出ているけど,無視してOKの模様。
# (ここの「mdx00:0」の名称から:0を外すと,正常起動できなくなるため注意する)
[root@mdx00 ishii]# mdadm --detail /dev/md0
mdadm: Value "mdx00:0" cannot be set as name. Reason: Not POSIX compatible. Value ignored.
/dev/md0:
Version : 1.2
Creation Time : Tue Dec 13 22:55:09 2022
Raid Level : raid5
Array Size : 46875004928 (43.66 TiB 48.00 TB)
Used Dev Size : 11718751232 (10.91 TiB 12.00 TB)
Raid Devices : 5
Total Devices : 5
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Mon Sep 9 19:41:56 2024
State : clean
Active Devices : 5
Working Devices : 5
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : bitmap
Name : mdx00:0
UUID : 00e6d676:9820ce8d:f26b32f8:b94f687b
Events : 61193
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1
5 8 81 4 active sync /dev/sdf1
NIS
計算サーバーをクラスター化するためには,ディレクトリやファイルの管理を同一アカウント・グループ権限で実行しないといけないため,ユーザー権限の管理が必要となる。サーバーごとにUIDやGIDが変わってしまうと,NFSで共有されているディレクトリやファイルの所有者に齟齬が生じてしまうことになり,それは絶対にダメ。つまり,/etc/passwd, group, shadow, gshadowの中身を一致させなければいけないことになる。かといって,サーバーごとにUIDやGIDを揃えるのもだいぶ面倒。
そのためのアプリケーションがNISであり,クラスター上ではNISなどの利用が推奨される。ただ状況が変わってきており,RHEL8系統(CentOS 8/AlmaLinux 8/RockyLinux 8)以降では,NISの利用は推奨されなくなってきた。私の方ではあまり気にせずにそれでもNISを使い続けていたが,NISをRHEL8系統で使うとうまくユーザの名前解決症状が出てきた。
この事象については後述するとして,とりあえずNISの導入方法をまとめる。
[root@mdx01 ~]# vi /etc/sysconfig/network
....
NISDOMAIN=mdx-nis # NIS管理用に記載
[root@mdx01 ~]# systemctl start rpcbind ypserv yppasswdd nis-domainname
[root@mdx01 ~]# systemctl enable rpcbind ypserv yppasswdd nis-domainname
[root@mdx01 ~]# /usr/lib64/yp/ypinit -m # NISのマスターサーバーを更新
At this point, we have to construct a list of the hosts which will run NIS
servers. mdx01 is in the list of NIS server hosts. Please continue to add
the names for the other hosts, one per line. When you are done with the
list, type a .
next host to add: mdx01.local
next host to add: # Ctrl + D キーでスキップ
The current list of NIS servers looks like this:
mdx01.local
Is this correct? [y/n: y] # そのままenterでデフォルトを指定
We need a few minutes to build the databases...
Building /var/yp/mdx-nis/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/mdx-nis'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
gmake[1]: Leaving directory `/var/yp/mdx-nis'
mdx01.local has been set up as a NIS master server.
Now you can run ypinit -s mdx01.local on all slave server.
これでホストノード(ここではmdx01)のアカウント情報を共有する体制ができた。
あとは計算ノードでホストノードのNISを参照して,NISクライアントを有効化すれば良い。
[root@mdx02 ~]# vi /etc/sysconfig/network
....
NISDOMAIN=mdx-nis
[root@mdx02 ~]# vi /etc/yp.conf
....
domain mdx-nis server 192.168.1.1 # これを追記
[root@mdx02 ~]# authselect select nis --force
[root@mdx02 ~]# systemctl start rpcbind ypbind nis-domainname
[root@mdx02 ~]# systemctl enable rpcbind ypbind nis-domainname
これで計算ノード上で,ホストノードのアカウントを参照できるようになる。今後はホストノードでアカウント・グループ設定を追加・変更するたびに,/var/ypのなかでmakeコマンドを実行する必要が出てくることに注意すること。
[root@mdx01 ~]# cd /var/yp
[root@mdx01 yp]# make
gmake[1]: ディレクトリ '/var/yp/mdx-nis' に入ります
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating netid.byname...
gmake[1]: ディレクトリ '/var/yp/mdx-nis' から出ます
[root@mdx01 yp]#
メモ:RHEL8系のNISによるトラブル
症状としては,
・GromacsをPBS経由で投入すると計算ノードでうまく実行されるが,
・Gromacsを対話型として計算ノードで実行しようとすると以下のエラーで失敗するというもの
*** stack smashing detected ***: <unknown> terminated
[mdx02:51395] *** Process received signal ***
[mdx02:51395] Signal: Aborted (6)
[mdx02:51395] Signal code: (-6)
[mdx02:51395] [ 0] /lib64/libpthread.so.0(+0x12cf0)[0x14e1a904fcf0]
[mdx02:51395] [ 1] /lib64/libc.so.6(gsignal+0x10f)[0x14e1a8cc6acf]
[mdx02:51395] [ 2] /lib64/libc.so.6(abort+0x127)[0x14e1a8c99ea5]
[mdx02:51395] [ 3] /lib64/libc.so.6(+0x8fcc7)[0x14e1a8d07cc7]
[mdx02:51395] [ 4] /lib64/libc.so.6(+0x13eb45)[0x14e1a8db6b45]
[mdx02:51395] [ 5] /lib64/libc.so.6(+0x13eaf8)[0x14e1a8db6af8]
[mdx02:51395] [ 6] /lib64/libtirpc.so.3(+0x1ee77)[0x14e187396e77]
[mdx02:51395] [ 7] /lib64/libtirpc.so.3(xdr_netbuf+0x15)[0x14e18738efb5]
[mdx02:51395] [ 8] /lib64/libtirpc.so.3(xdr_reference+0x24)[0x14e187398b24]
[mdx02:51395] [ 9] /lib64/libtirpc.so.3(xdr_pointer+0x89)[0x14e187398c49]
[mdx02:51395] [10] /lib64/libnsl.so.2(xdr_ypbind3_binding+0x48)[0x14e1875b17c8]
[mdx02:51395] [11] /lib64/libnsl.so.2(+0x68af)[0x14e1875b28af]
[mdx02:51395] [12] /lib64/libnsl.so.2(+0x6c93)[0x14e1875b2c93]
[mdx02:51395] [13] /lib64/libnsl.so.2(+0x6e5d)[0x14e1875b2e5d]
[mdx02:51395] [14] /lib64/libnsl.so.2(yp_match+0xbc)[0x14e1875b37bc]
[mdx02:51395] [15] /lib64/libnss_nis.so.2(_nss_nis_getpwuid_r+0x8e)[0x14e1877cdeae]
[mdx02:51395] [16] /lib64/libc.so.6(getpwuid_r+0x14d)[0x14e1a8d70fed]
[mdx02:51395] [17] /lib64/libc.so.6(+0x166713)[0x14e1a8dde713]
[mdx02:51395] [18] /lib64/libc.so.6(getlogin_r+0x15)[0x14e1a8dde825]
[mdx02:51395] [19] /home/apl/Gromacs-2016.6-single-cuda11.8/2.11.1/bin/../lib64/libgromacs_mpi.so.2(gmx_getusername+0x17)[0x14e1ac2ff897]
[mdx02:51395] [20] /home/apl/Gromacs-2016.6-single-cuda11.8/2.11.1/bin/../lib64/libgromacs_mpi.so.2(nice_header+0x73)[0x14e1ac2e9e23]
[mdx02:51395] [21] /home/apl/Gromacs-2016.6-single-cuda11.8/2.11.1/bin/../lib64/libgromacs_mpi.so.2(_Z13write_inpfilePKciP9t_inpfileiP7warninp+0x2e1)[0x14e1ac32c421]
[mdx02:51395] [22] /home/apl/Gromacs-2016.6-single-cuda11.8/2.11.1/bin/../lib64/libgromacs_mpi.so.2(_Z6get_irPKcS0_P10t_inputrecP12t_gromppoptsP7warninp+0x2c2e)[0x14e1ac56765e]
[mdx02:51395] [23] /home/apl/Gromacs-2016.6-single-cuda11.8/2.11.1/bin/../lib64/libgromacs_mpi.so.2(_Z10gmx_gromppiPPc+0x4fb)[0x14e1ac53ba7b]
[mdx02:51395] [24] /home/apl/Gromacs-2016.6-single-cuda11.8/2.11.1/bin/../lib64/libgromacs_mpi.so.2(_ZN3gmx24CommandLineModuleManager3runEiPPc+0x252)[0x14e1ac1e9372]
[mdx02:51395] [25] gmx_mpi(main+0x7d)[0x40d22d]
[mdx02:51395] [26] /lib64/libc.so.6(__libc_start_main+0xe5)[0x14e1a8cb2d85]
[mdx02:51395] [27] gmx_mpi(_start+0x2e)[0x40d29e]
[mdx02:51395] *** End of error message ***
上記のエラー文は,intelコンパイラーだけだと*** stack smashing detected ***: <unknown> terminated
しか出てこないが,openmpiやhpcxでビルドしたものだと上記の通り出てくる。stack smashing detectedと言われたということは,何かしらうまくビルドできていなかった可能性が通常あり得るが,PBS経由だと成功する内容だし,何より計算ノードではなくホストノードで実行すると,PBS経由でも対話型処理でもうまく動作してしまう(そのため,PBS環境下で全てのジョブを管理するのであれば,何ら問題がない症状ということになる)。またGromacs以外のアプリケーションも,ものによってはホスト・計算ノードのどちらでも対話型で正常に実行される。さらに,計算ノードへ$ ssh root@mdx02
としてログインしてから $ su - y.ishii
として自分のアカウントにログインすると,なぜだか計算ノードでも対話型処理が成功する。
そのため整理すると,
1)NISのホスト環境では対話型処理が可能
2)NISのクライアント環境では対話型処理が通常不可
3)ただしクライアント環境でもroot経由でログインすると対話型処理が可能
となり,不思議な挙動がでてくる。これはNISの動作がどうやらRHEL8系統でおかしいことが原因の模様。
実際にNISクライアント環境である計算ノード上でypservをOFFにして,ホストノードの/etc/passwd, /etc/group. /etc/shadow, /etc/gshadowをコピーすると,対話型でもGromacsが処理できるようになった。そのため,対話型処理が止まっていた原因は,どうやらNISクライアント環境で元々使われていた/etc/passwdの中に,ホストノードで参照できていたアカウント名が含まれていないことが原因だったらしい。Gromacs側では,実行ユーザーのアカウント名を参照しようとするが,それがうまく実行できずにエラーが起こっていたわけようだ(そのため,そのようなプロセスを経ないアプリケーションは,そもそもそのようなエラーが発生しない)。
この症状はRHEL 7で同様に構築された計算機クラスタでは確認できなかったが,RHEL 8系統で構築された計算機クラスタだと同様に確認できたことから,RHEL 8系統に固有の問題と思われる。RHEL 8系統でNISの利用が非推奨化されたことと関係があるかば不明だが,今後同様の症状が起き続ける場合には,NISの利用は避けた方が良いのかもしれない。
CUDA
これらについては,サーバーの納品業者にセットアップをしてもらったため詳しい言及は避けるのだが,後からGPUを増設した場合はNouveauドライバを無効化してから,CUDAをインストールすれば良い。
[root@mdx00 ~]# lsmod | grep nouveau # このコマンドで何かが出力されたら,以降を実行
[root@mdx00 ~]# cat /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
[root@mdx00 ~]# dracut --force
[root@mdx00 ~]# reboot # 再起動後に1行目のコマンドを実行して,何も表示されないことを確認
#### 以下のURLから該当のバージョンを選択してwgetの後に実行 ####
## cuda-11) https://developer.nvidia.com/cuda-11-8-0-download-archive
## cuda-12) https://developer.nvidia.com/cuda-downloads
[root@mdx00 ~]# wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
[root@mdx00 ~]# sh cuda_11.8.0_520.61.05_linux.run
Infiniband
Infiniband環境も同じく納品業者にセットアップしてもらったのだが,
OpenPBS
Environment module
VNC server
ソフトウェアのビルドと設定
一部は閲覧制限かけるかもしれないけど,とりあえず記載可能項目を。