Mentions légales du service

Skip to content
Snippets Groups Projects
Commit dc7dbb9e authored by Samir Noir's avatar Samir Noir :cheese:
Browse files

add pmem to site_hardware and hardware wiki pages generators

parent 83a4f7d3
No related branches found
No related tags found
1 merge request!66add pmem support
Pipeline #116911 passed
......@@ -32,6 +32,7 @@ class G5KHardwareGenerator < WikiGenerator
ssds = 0
storage_space = 0
ram = 0
pmem = 0
@global_hash['sites'].sort.to_h.each do |site_uid, site_hash|
clusters += site_hash['clusters'].length
......@@ -41,6 +42,7 @@ class G5KHardwareGenerator < WikiGenerator
nodes += 1
cores += node_hash['architecture']['nb_cores']
ram += node_hash['main_memory']['ram_size']
pmem += node_hash['main_memory']['pmem_size'] if node_hash['main_memory']['pmem_size']
if node_hash['gpu_devices']
gpus += node_hash['gpu_devices'].length
end
......@@ -59,7 +61,7 @@ class G5KHardwareGenerator < WikiGenerator
* #{nodes} nodes
* #{cores} CPU cores
* #{gpus} GPUs
* #{G5K.get_size(ram)} RAM
* #{G5K.get_size(ram)} RAM + #{G5K.get_size(pmem)} PMEM
* #{ssds} SSDs and #{hdds} HDDs on nodes (total: #{G5K.get_size(storage_space, 'metric')})
EOF
end
......@@ -70,6 +72,7 @@ class G5KHardwareGenerator < WikiGenerator
'proc_models' => {},
'core_models' => {},
'ram_size' => {},
'pmem_size' => {},
'net_interconnects' => {},
'net_models' => {},
'acc_families' => {},
......@@ -110,6 +113,14 @@ class G5KHardwareGenerator < WikiGenerator
init(data, 'ram_size', key)
data['ram_size'][key][site_uid] += 1
# PMEM size
if node_hash['main_memory']['pmem_size']
pmem_size = node_hash['main_memory']['pmem_size']
key = [{ text: G5K.get_size(pmem_size), sort: (pmem_size / 2**30).to_s.rjust(6, '0') + ' GB' }]
init(data, 'pmem_size', key)
data['pmem_size'][key][site_uid] += 1
end
# HPC Networks
interfaces = node_hash['network_adapters'].select{ |v|
v['enabled'] and
......@@ -231,9 +242,13 @@ class G5KHardwareGenerator < WikiGenerator
table_columns = ['Microarchitecture', 'Core model'] + sites + ['Cores total']
generated_content += MW.generate_table(table_options, table_columns, get_table_data(data, 'core_models'))
generated_content += "\n= RAM size per node =\n"
generated_content += "\n= Memory =\n"
generated_content += "\n== RAM size per node ==\n"
table_columns = ['RAM size'] + sites + ['Nodes total']
generated_content += MW.generate_table(table_options, table_columns, get_table_data(data, 'ram_size'))
generated_content += "\n== PMEM size per node ==\n"
table_columns = ['PMEM size'] + sites + ['Nodes total']
generated_content += MW.generate_table(table_options, table_columns, get_table_data(data, 'pmem_size'))
generated_content += "\n= Networking =\n"
generated_content += "\n== Network interconnects ==\n"
......
......@@ -77,7 +77,7 @@ class SiteHardwareGenerator < WikiGenerator
cluster_nodes,
cell_data(data, 'num_processor_model'),
cell_data(data, 'cores_per_cpu_str'),
cell_data(data, 'ram_size'),
sort_data(data, 'ram_size') + (!data['pmem_size'].nil? ? " + #{cell_data(data, 'pmem_size')} PMEM" : ''),
'data-sort-value="' + sort_data(data, 'storage_size') + '"|' + cell_data(data, 'storage'),
'data-sort-value="' + sort_data(data, 'network_throughput') + '"|' + cell_data(data, 'used_networks')
] + ((site_accelerators.zero? && with_sites == false) ? [] : [cell_data(data, 'accelerators')])
......@@ -128,7 +128,7 @@ class SiteHardwareGenerator < WikiGenerator
'Model' => h['model'],
'Date of arrival' => h['date'],
'CPU' => h['processor_description'],
'Memory' => h['ram_size'],
'Memory' => h['ram_size'] + (!h['pmem_size'].nil? ? " + #{h['pmem_size']} PMEM" : ''),
'Storage' => h['storage_description'],
'Network' => h['network_description'],
}
......@@ -205,6 +205,7 @@ def get_hardware(sites)
hard['num_processor_model'] = (hard['cpus_per_node'] == 1 ? '' : "#{hard['cpus_per_node']}&nbsp;x&nbsp;") + hard['processor_model'].gsub(' ', '&nbsp;')
hard['processor_description'] = "#{hard['processor_model']} (#{hard['microarchitecture']}#{hard['processor_freq'] ? ', ' + hard['processor_freq'] : ''}, #{hard['cpus_per_node_str']}, #{hard['cores_per_cpu_str']})"
hard['ram_size'] = G5K.get_size(node_hash['main_memory']['ram_size'])
hard['pmem_size'] = G5K.get_size(node_hash['main_memory']['pmem_size']) unless node_hash['main_memory']['pmem_size'].nil?
storage = node_hash['storage_devices'].map { |i| { 'size' => i['size'], 'tech' => i['storage'] } }
hard['storage'] = storage.each_with_object(Hash.new(0)) { |data, counts|
counts[data] += 1
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment