現時点では、それぞれ4つのGPUを備えた6つのノードの小さなクラスターを管理するようにSlurmをセットアップしました。これまではうまく機能していましたが、CPUの処理能力のみを必要とするジョブにIntel Core i7-5820KCPUを利用したいと考えています。各CPUには6つのコアと12のスレッドがあり、各GPUには1つのスレッド/論理コアが必要です。したがって、「CPUのみ」のジョブに使用できる残りのスレッドは(ノードごとに)8つです。
現在の構成:
cat /etc/slurm-llnl/gres.conf
Name=gpu File=/dev/nvidia0
Name=gpu File=/dev/nvidia1
Name=gpu File=/dev/nvidia2
Name=gpu File=/dev/nvidia3
cat /etc/slurm-llnl/slurm.conf(抜粋)
SchedulerType=sched/builtin
SelectType=select/cons_res
SelectTypeParameters=CR_Core
AccountingStorageType=accounting_storage/none
GresTypes=gpu
MaxTasksPerNode=4
NodeName=node1 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node2 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node3 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node4 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node5 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node6 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
PartitionName=gpu Nodes=node[2-6] Default=NO Shared=NO MaxTime=INFINITE State=UP
PartitionName=short Nodes=node1 Default=YES Shared=NO MaxTime=INFINITE State=UP
最初のステップは、CoresPerSocket=4 Procs=8
をCoresPerSocket=6 Procs=12
に変更することだと思います。これは、実際のハードウェアと一致するためです。
私はすでにドキュメントを調べようとしましたが、それでも何をすべきかわかりません。 gres.conf
を変更する必要がありますか? CPUにどのFile=
を指定する必要がありますか?次に、cpuonly
と呼ばれる3番目のパーティションを追加すると思いました。しかし、それは私がやろうとしていることを達成するための正しい方法でさえありますか? NodeName
で始まる行のGres=
パラメーターに何かを追加する必要があると思います。
MaxCPUsPerNode
を使用します。CPUs
パラメータを使用してノードを設定します。追加されるすべてのMaxCPUsPerNode
は、これ以下である必要があります(使用可能なCPU /コア/スレッド)SelectTypeParameters=CR_CPU
SchedulerType=sched/backfill