Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 7dde419e authored by Lucas Nussbaum's avatar Lucas Nussbaum
Browse files

[gen/oar-properties] Handle nodes with more CPUs than GPUs (bug 15199)

parent 95efd9d3
No related branches found
No related tags found
No related merge requests found
Pipeline #908418 passed
...@@ -1317,7 +1317,9 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s ...@@ -1317,7 +1317,9 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s
# (2-e) [if cluster with GPU] Associate a gpuset to each core # (2-e) [if cluster with GPU] Associate a gpuset to each core
############################################ ############################################
if node_description.key? "gpu_devices" if node_description.key? "gpu_devices" and node_description["gpu_devices"].values.select { |v| v.fetch("reservation", true) }.length > 0
# The node has reservable GPUs
# numa_gpus is the list of gpus for the current CPU # numa_gpus is the list of gpus for the current CPU
numa_gpus = node_description["gpu_devices"].values.select do |v| numa_gpus = node_description["gpu_devices"].values.select do |v|
field = if v.key? 'cpu_affinity_override' field = if v.key? 'cpu_affinity_override'
...@@ -1327,34 +1329,40 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s ...@@ -1327,34 +1329,40 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s
end end
v[field] == cpu_num and v.fetch("reservation", true) v[field] == cpu_num and v.fetch("reservation", true)
end end
if not numa_gpus.empty? # this can happen if GPUs are not reservable if numa_gpus.empty?
if numa_gpus.first.key? 'cores_affinity' # This core is not associated to any GPU
# this cluster uses cores_affinity, not arbitrary allocation if node_description["gpu_devices"].values.select { |v| v.fetch("reservation", true) }.length == 1
selected_gpu = numa_gpus.find { |g| g['cores_affinity'].split.map { |e| e.to_i }.include?(row[:cpuset]) } # The node has only one reservable GPU, we affect it to all cores
if selected_gpu.nil? selected_gpu = node_description["gpu_devices"].values.first
raise "Could not find a GPU on CPU #{cpu_num} for core #{row[:cpuset]}"
end
else else
# The parenthesis order is important: we want to keep the raise "#{fqdn}: No GPU to associate to CPU #{cpu_num}, core #{row[:cpuset]}. You probably want to use cpu_affinity_override to affect a GPU to this CPU."
# integer division to generate an integer index, so we want to
# do the multiplication first.
gpu_idx = (core_num * numa_gpus.length) / cpu_core_count
selected_gpu = numa_gpus[gpu_idx]
end end
# id of the selected GPU in the node elsif numa_gpus.first.key? 'cores_affinity'
local_id = node_description["gpu_devices"].values.index(selected_gpu) # this cluster uses cores_affinity, not arbitrary allocation
selected_gpu = numa_gpus.find { |g| g['cores_affinity'].split.map { |e| e.to_i }.include?(row[:cpuset]) }
# to assign the gpu number, just use the number of nodes and the number of GPUs per node if selected_gpu.nil?
# sanity check: we must fall into the correct range raise "Could not find a GPU on CPU #{cpu_num} for core #{row[:cpuset]}"
gpu = phys_rsc_map["gpu"][:current_ids].min + node_index0 * gpu_count + local_id
if gpu > phys_rsc_map["gpu"][:current_ids].max
raise "Invalid GPU number for cluster #{cluster_name}"
end end
row[:gpu] = gpu else
row[:gpudevice] = local_id # The parenthesis order is important: we want to keep the
row[:gpudevicepath] = selected_gpu['device'] # integer division to generate an integer index, so we want to
row[:gpumodel] = selected_gpu['model'] # do the multiplication first.
gpu_idx = (core_num * numa_gpus.length) / cpu_core_count
selected_gpu = numa_gpus[gpu_idx]
end
# id of the selected GPU in the node
local_id = node_description["gpu_devices"].values.index(selected_gpu)
# to assign the gpu number, just use the number of nodes and the number of GPUs per node
# sanity check: we must fall into the correct range
gpu = phys_rsc_map["gpu"][:current_ids].min + node_index0 * gpu_count + local_id
if gpu > phys_rsc_map["gpu"][:current_ids].max
raise "Invalid GPU number for cluster #{cluster_name}"
end end
row[:gpu] = gpu
row[:gpudevice] = local_id
row[:gpudevicepath] = selected_gpu['device']
row[:gpumodel] = selected_gpu['model']
end end
core_idx += 1 core_idx += 1
......
...@@ -230,30 +230,30 @@ oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='cluste ...@@ -230,30 +230,30 @@ oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='cluste
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=5 -p core=118 -p cpuset=21 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=5 -p core=118 -p cpuset=21 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=5 -p core=119 -p cpuset=22 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=5 -p core=119 -p cpuset=22 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=5 -p core=120 -p cpuset=23 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=5 -p core=120 -p cpuset=23 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=121 -p cpuset=24 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=121 -p cpuset=24 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=122 -p cpuset=25 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=122 -p cpuset=25 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=123 -p cpuset=26 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=123 -p cpuset=26 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=124 -p cpuset=27 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=124 -p cpuset=27 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=125 -p cpuset=28 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=125 -p cpuset=28 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=126 -p cpuset=29 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=126 -p cpuset=29 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=127 -p cpuset=30 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=127 -p cpuset=30 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=128 -p cpuset=31 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=128 -p cpuset=31 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=129 -p cpuset=32 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=129 -p cpuset=32 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=130 -p cpuset=33 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=130 -p cpuset=33 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=131 -p cpuset=34 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=131 -p cpuset=34 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=132 -p cpuset=35 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=132 -p cpuset=35 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=133 -p cpuset=36 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=133 -p cpuset=36 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=134 -p cpuset=37 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=134 -p cpuset=37 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=135 -p cpuset=38 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=135 -p cpuset=38 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=136 -p cpuset=39 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=136 -p cpuset=39 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=137 -p cpuset=40 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=137 -p cpuset=40 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=138 -p cpuset=41 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=138 -p cpuset=41 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=139 -p cpuset=42 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=139 -p cpuset=42 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=140 -p cpuset=43 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=140 -p cpuset=43 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=141 -p cpuset=44 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=141 -p cpuset=44 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=142 -p cpuset=45 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=142 -p cpuset=45 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=143 -p cpuset=46 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=143 -p cpuset=46 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=144 -p cpuset=47 oarnodesetting -a -h 'clustera-3.fakesite.grid5000.fr' -s Absent -p host='clustera-3.fakesite.grid5000.fr' -p cpu=6 -p core=144 -p cpuset=47 -p gpu=7 -p gpu_model='A40' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0
echo; echo 'Setting properties for clustera-3.fakesite.grid5000.fr:'; echo echo; echo 'Setting properties for clustera-3.fakesite.grid5000.fr:'; echo
oarnodesetting --sql "host='clustera-3.fakesite.grid5000.fr' and type='default'" -p ip='172.16.109.24' -p cluster='clustera' -p nodemodel='ProLiant DL385 Gen10 Plus v2' -p besteffort='YES' -p deploy='YES' -p virtual='amd-v' -p cpuarch='x86_64' -p cpucore=24 -p cpu_count=2 -p core_count=48 -p thread_count=96 -p cputype='AMD EPYC 7413' -p cpufreq='2.65' -p disktype='SATA/SSD' -p chassis='HPE ProLiant DL385 Gen10 Plus v2 CZ22030467' -p eth_count=1 -p eth_kavlan_count=0 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=10922 -p memcpu=262144 -p memnode=524288 -p gpu_model='A40' -p gpu_count=1 -p exotic='NO' -p mic='NO' -p wattmeter='NO' -p cluster_priority=202312 -p max_walltime=604800 -p production='YES' -p maintenance='NO' -p disk_reservation_count=0 oarnodesetting --sql "host='clustera-3.fakesite.grid5000.fr' and type='default'" -p ip='172.16.109.24' -p cluster='clustera' -p nodemodel='ProLiant DL385 Gen10 Plus v2' -p besteffort='YES' -p deploy='YES' -p virtual='amd-v' -p cpuarch='x86_64' -p cpucore=24 -p cpu_count=2 -p core_count=48 -p thread_count=96 -p cputype='AMD EPYC 7413' -p cpufreq='2.65' -p disktype='SATA/SSD' -p chassis='HPE ProLiant DL385 Gen10 Plus v2 CZ22030467' -p eth_count=1 -p eth_kavlan_count=0 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=10922 -p memcpu=262144 -p memnode=524288 -p gpu_model='A40' -p gpu_count=1 -p exotic='NO' -p mic='NO' -p wattmeter='NO' -p cluster_priority=202312 -p max_walltime=604800 -p production='YES' -p maintenance='NO' -p disk_reservation_count=0
......
...@@ -121,28 +121,28 @@ ...@@ -121,28 +121,28 @@
| clustera | clustera-3 | 5 | 118 | 21 | 7 | 0 | AMD EPYC 7413 | A40 | | clustera | clustera-3 | 5 | 118 | 21 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 5 | 119 | 22 | 7 | 0 | AMD EPYC 7413 | A40 | | clustera | clustera-3 | 5 | 119 | 22 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 5 | 120 | 23 | 7 | 0 | AMD EPYC 7413 | A40 | | clustera | clustera-3 | 5 | 120 | 23 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 121 | 24 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 121 | 24 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 122 | 25 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 122 | 25 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 123 | 26 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 123 | 26 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 124 | 27 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 124 | 27 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 125 | 28 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 125 | 28 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 126 | 29 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 126 | 29 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 127 | 30 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 127 | 30 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 128 | 31 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 128 | 31 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 129 | 32 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 129 | 32 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 130 | 33 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 130 | 33 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 131 | 34 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 131 | 34 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 132 | 35 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 132 | 35 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 133 | 36 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 133 | 36 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 134 | 37 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 134 | 37 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 135 | 38 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 135 | 38 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 136 | 39 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 136 | 39 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 137 | 40 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 137 | 40 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 138 | 41 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 138 | 41 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 139 | 42 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 139 | 42 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 140 | 43 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 140 | 43 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 141 | 44 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 141 | 44 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 142 | 45 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 142 | 45 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 143 | 46 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 143 | 46 | 7 | 0 | AMD EPYC 7413 | A40 |
| clustera | clustera-3 | 6 | 144 | 47 | | | AMD EPYC 7413 | | | clustera | clustera-3 | 6 | 144 | 47 | 7 | 0 | AMD EPYC 7413 | A40 |
+---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment