From 174e0400b31ceea02307beb30f1e19f022d85a3e Mon Sep 17 00:00:00 2001 From: Pierre Neyron <pierre.neyron@imag.fr> Date: Fri, 15 Sep 2023 22:53:16 +0200 Subject: [PATCH] [wiki:hw] Rework the processor display: display vendor --- lib/refrepo/gen/wiki/generators/hardware.rb | 19 ++++++++++++------- .../gen/wiki/generators/site_hardware.rb | 8 ++++++-- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/lib/refrepo/gen/wiki/generators/hardware.rb b/lib/refrepo/gen/wiki/generators/hardware.rb index 0f6ea197bbc..0e3d8517ea1 100644 --- a/lib/refrepo/gen/wiki/generators/hardware.rb +++ b/lib/refrepo/gen/wiki/generators/hardware.rb @@ -42,18 +42,23 @@ class G5KHardwareGenerator < WikiGenerator @node = node_uid # Processors - model = node_hash['processor']['model'] - version = "#{model} #{node_hash['processor']['version']}" + vendor = node_hash['processor']['vendor'] + model = node_hash['processor']['model'].gsub(/^#{vendor} /, '') + version = node_hash['processor']['version'] + proc_desc = "#{model}" + if version != 'Unknown' + proc_desc += " #{version}" + end microarchitecture = node_hash['processor']['microarchitecture'] cluster_procs = node_hash['architecture']['nb_procs'] cluster_cores = node_hash['architecture']['nb_cores'] - key = [model] + key = [vendor, model] init(data, 'proc_families', key) data['proc_families'][key][site_uid] += cluster_procs - key = [{text: microarchitecture || ' ', sort: get_date(microarchitecture) + ', ' + microarchitecture.to_s}, {text: version, sort: get_date(microarchitecture) + ', ' + version.to_s}] + key = [vendor, {text: proc_desc, sort: get_date(microarchitecture) + ', ' + proc_desc.to_s}, {text: microarchitecture || ' ', sort: get_date(microarchitecture) + ', ' + microarchitecture.to_s}] init(data, 'proc_models', key) data['proc_models'][key][site_uid] += cluster_procs @@ -253,13 +258,13 @@ class G5KHardwareGenerator < WikiGenerator generated_content += "\n== Processors counts per families ==\n" sites = @site_uids.map{ |e| "[[#{e.capitalize}:Hardware|#{e.capitalize}]]" } table_options = 'class="wikitable sortable" style="text-align: center;"' - table_columns = ['Processor family'] + sites + ['Processors total'] + table_columns = ['Vendor', 'Processor family'] + sites + ['Processors total'] generated_content += MW.generate_table(table_options, table_columns, get_table_data(data, 'proc_families')) generated_content += "\n== Processors counts per models ==\n" - table_columns = ['Microarchitecture', 'Processor model'] + sites + ['Processors total'] + table_columns = ['Vendor', 'Processor model', 'Microarchitecture'] + sites + ['Processors total'] generated_content += MW.generate_table(table_options, table_columns, get_table_data(data, 'proc_models')) generated_content += "\n== Cores counts per models ==\n" - table_columns = ['Microarchitecture', 'Core model'] + sites + ['Cores total'] + table_columns = ['Vendor', 'Core model', 'Microarchitecture'] + sites + ['Cores total'] generated_content += MW.generate_table(table_options, table_columns, get_table_data(data, 'core_models')) generated_content += "\n= Memory =\n" diff --git a/lib/refrepo/gen/wiki/generators/site_hardware.rb b/lib/refrepo/gen/wiki/generators/site_hardware.rb index 1859192aeba..fdcf77a34c3 100644 --- a/lib/refrepo/gen/wiki/generators/site_hardware.rb +++ b/lib/refrepo/gen/wiki/generators/site_hardware.rb @@ -362,7 +362,11 @@ def get_hardware(sites) hard['exotic'] = cluster_hash['exotic'] hard['date'] = Date.parse(cluster_hash['created_at'].to_s).strftime('%Y-%m-%d') hard['model'] = cluster_hash['model'] - hard['processor_model'] = [node_hash['processor']['model'], node_hash['processor']['version']].join(' ') + hard['processor_model'] = "#{node_hash['processor']['vendor']} " + hard['processor_model'] += node_hash['processor']['model'].gsub(/^#{node_hash['processor']['vendor']} /,'') + if node_hash['processor']['version'] != 'Unknown' + hard['processor_model'] += " #{node_hash['processor']['version']}" + end if node_hash['processor']['other_description'] =~ /@/ hard['processor_freq'] = node_hash['processor']['other_description'].split('@')[1].strip end @@ -374,7 +378,7 @@ def get_hardware(sites) hard['architecture'] = node_hash['architecture']['platform_type'] exotic_archname = get_exotic_archname(node_hash['architecture']['platform_type']) hard['num_processor_model'] = (hard['cpus_per_node'] == 1 ? '' : "#{hard['cpus_per_node']} x ") + (exotic_archname ? "#{exotic_archname} " : '') + hard['processor_model'].gsub(' ', ' ') - 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['processor_description'] = "#{hard['processor_model']} (#{hard['microarchitecture']}), #{hard['architecture']}#{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'].sort_by!{ |d| d['id']}.map { |i| { 'size' => i['size'], 'tech' => i['storage'], 'reservation' => i['reservation'].nil? ? false : i['reservation'] } } -- GitLab