Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add benchmark for feelpp_toolbox_heat - ThermalBridgesENISO10211 #221

Closed
wants to merge 45 commits into from
Closed
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
7c6f591
fix executable #151
JavierCladellas Nov 21, 2024
f65f65d
start tasks config up #151
JavierCladellas Nov 21, 2024
c460070
rm upload field #151
JavierCladellas Nov 21, 2024
5be0462
up scalability stages to new timers #151
JavierCladellas Nov 21, 2024
d691b4b
Merge branch 'master' into 151-update-kub-benchmarks
JavierCladellas Jan 27, 2025
e451a6a
Merge branch '215-make-memory-a-parameter' into 151-update-kub-benchm…
JavierCladellas Jan 27, 2025
5a57449
up kub poznan #151
JavierCladellas Jan 27, 2025
5e3d086
Merge branch '215-make-memory-a-parameter' into 151-update-kub-benchm…
JavierCladellas Jan 27, 2025
448c14b
support names in plots
JavierCladellas Jan 27, 2025
a5a6487
Merge branch '215-make-memory-a-parameter' into 151-update-kub-benchm…
JavierCladellas Feb 3, 2025
7e63233
add public partition to gaya
JavierCladellas Feb 3, 2025
87a014b
up kub cfg
JavierCladellas Feb 3, 2025
893127b
remove outputs from schema validation #222
JavierCladellas Feb 3, 2025
3f294c3
remove csv parsing from OutputsHandler #222
JavierCladellas Feb 3, 2025
28cc338
start refactoring work #222
JavierCladellas Feb 3, 2025
fb36b5b
up tests for refactoring #222
JavierCladellas Feb 4, 2025
e2e6422
fix csv parsing #222
JavierCladellas Feb 4, 2025
727d3fb
up csv parse tests #222
JavierCladellas Feb 4, 2025
4f5bd4a
add tests and fix imports #222
JavierCladellas Feb 4, 2025
5ce752c
fix config and checks #222
JavierCladellas Feb 4, 2025
3c8d665
bug fix and refactor #222
JavierCladellas Feb 4, 2025
8e6b73a
add reset #222
JavierCladellas Feb 4, 2025
8945a67
more refactor (srp) #222
JavierCladellas Feb 4, 2025
75615d8
refactor #222
JavierCladellas Feb 4, 2025
3afb85a
support multiple wildcards #222
JavierCladellas Feb 4, 2025
9089391
support special units
JavierCladellas Feb 4, 2025
c30a6cb
add cleanup_directory option to scalability #222
JavierCladellas Feb 4, 2025
a759bc5
Merge branch '170-add-csv-and-latex-export-buttons' into 210-combine-…
JavierCladellas Feb 5, 2025
6633bd5
Merge branch '215-make-memory-a-parameter' into 210-combine-plot_type…
JavierCladellas Feb 5, 2025
a93d938
fix overview bug with | separator
JavierCladellas Feb 5, 2025
26fd84e
support combined plots ! #210
JavierCladellas Feb 5, 2025
cd751f9
prettier ui & fix overflow in param table :)
JavierCladellas Feb 5, 2025
dd51660
Merge pull request #218 from feelpp/215-make-memory-a-parameter
vincentchabannes Feb 10, 2025
8904009
Merge branch 'master' into 222-refactor-scalability-and-outputs
JavierCladellas Feb 10, 2025
cc49754
Merge branch 'master' into 222-refactor-scalability-and-outputs
JavierCladellas Feb 10, 2025
46c68db
Merge pull request #223 from feelpp/222-refactor-scalability-and-outputs
vincentchabannes Feb 10, 2025
f4b9a13
Merge branch 'master' into 210-combine-plot_types-into-a-single-figure
JavierCladellas Feb 10, 2025
c3fd403
Merge pull request #224 from feelpp/210-combine-plot_types-into-a-sin…
vincentchabannes Feb 10, 2025
67fbb74
Merge branch 'master' into 151-update-kub-benchmarks
JavierCladellas Feb 10, 2025
88c15b2
support pulling remote images
JavierCladellas Feb 10, 2025
488e496
fix conflict
JavierCladellas Feb 10, 2025
0f48b66
up kub files
JavierCladellas Feb 10, 2025
f71729a
up gaya for kub
JavierCladellas Feb 10, 2025
6778f19
up heat plots
JavierCladellas Feb 10, 2025
ee453a0
Add benchmark for feelpp_kub_cem - poznan
JavierCladellas Feb 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 87 additions & 15 deletions config/kub/kub_plots.json
Original file line number Diff line number Diff line change
@@ -2,41 +2,113 @@

"plots": [
{
"title": "Absolute performance",
"plot_types": [ "grouped_bar", "table" ],
"title": "General Relative performance",
"plot_types": [ "stacked_bar", "grouped_bar" ],
"transformation": "relative_performance",
"variables": [ "constructor", "simulation", "postprocess" ],
"names": ["Constructor", "Simulation", "PostProcess"],
"xaxis": {
"parameter": "resources.tasks",
"label": "Number of tasks"
},
"yaxis": {
"label": "execution time (s)"
}
},
{
"title": "General Absolute performance",
"plot_types": [ "grouped_bar","stacked_bar"],
"transformation": "performance",
"variables": [ "execute", "postprocess", "constructor", "updateForUse", "simulation" ],
"names": [],
"variables": [ "constructor", "simulation", "postprocess" ],
"names": ["Constructor", "Simulation", "PostProcess"],
"xaxis": {
"parameter": "nb_tasks.tasks_per_node",
"parameter": "resources.tasks",
"label": "Number of tasks"
},
"yaxis": {
"label": "execution time (s)"
}
},
{
"title": "Relative performance",
"plot_types": [ "stacked_bar", "grouped_bar" ],
"transformation": "relative_performance",
"variables": [ "execute", "postprocess", "constructor", "updateForUse", "simulation" ],
"names": [],
"title": "General Speedup",
"plot_types": [ "scatter" ],
"transformation": "speedup",
"variables": [ "constructor", "simulation","postprocess" ],
"names": ["Constructor", "Simulation", "PostProcess"],
"xaxis": {
"parameter": "resources.tasks",
"label": "Number of tasks"
},
"yaxis": {
"label": "execution time (s)"
}
},
{
"title": "Constructor UpdateForUse Absolute performance",
"plot_types": [ "grouped_bar" ],
"transformation": "performance",
"variables": [
"constructor.updateForUse.SunModel", "constructor.updateForUse.updateMeshBuilding", "constructor.updateForUse.weather",
"constructor.updateForUse.buildingMap", "constructor.updateForUse.gisMeshInit", "constructor.updateForUse.gisPartition",
"constructor.updateForUse.initBuildingModels", "constructor.updateForUse.scenarios"
],
"names": [
"SunModel", "updateMeshBuilding", "weather",
"buildingMap", "gisMeshInit", "gisPartition",
"initBuildingModels", "scenarios"
],
"xaxis": {
"parameter": "resources.tasks",
"label": "Number of tasks"
},
"yaxis": {
"label": "execution time (s)"
}
},
{
"title": "Constructor Speedup",
"plot_types": [ "scatter" ],
"transformation": "speedup",
"variables": [
"constructor.updateForUse.SunModel", "constructor.updateForUse.updateMeshBuilding", "constructor.updateForUse.weather",
"constructor.updateForUse.buildingMap", "constructor.updateForUse.gisMeshInit", "constructor.updateForUse.gisPartition",
"constructor.updateForUse.initBuildingModels", "constructor.updateForUse.scenarios"
],
"names": [
"SunModel", "updateMeshBuilding", "weather",
"buildingMap", "gisMeshInit", "gisPartition",
"initBuildingModels", "scenarios"
],
"xaxis": {
"parameter": "resources.tasks",
"label": "Number of tasks"
},
"yaxis": {
"label": "execution time (s)"
}
},
{
"title": "Simulation Absolute performance",
"plot_types": [ "grouped_bar" ],
"transformation": "performance",
"variables": [ "simulation.solarMasks", "simulation.buildingExecuteStep" ],
"names": ["Solar Masks","Building Execute Step"],
"xaxis": {
"parameter": "nb_tasks.tasks_per_node",
"parameter": "resources.tasks",
"label": "Number of tasks"
},
"yaxis": {
"label": "execution time (s)"
}
},
{
"title": "Speedup",
"title": "Simulation Speedup",
"plot_types": [ "scatter" ],
"transformation": "speedup",
"variables": [ "execute", "postprocess", "constructor", "updateForUse", "simulation" ],
"names": [],
"variables": [ "simulation.solarMasks", "simulation.buildingExecuteStep" ],
"names": ["Solar Masks","Building Execute Step"],
"xaxis": {
"parameter": "nb_tasks.tasks_per_node",
"parameter": "resources.tasks",
"label": "Number of tasks"
},
"yaxis": {
45 changes: 27 additions & 18 deletions config/kub/poznan.json
Original file line number Diff line number Diff line change
@@ -1,44 +1,53 @@
{
"executable": "feelpp_kub_cem",
"output_directory": "{{machine.output_app_dir}}/kub",
"output_directory": "{{machine.output_app_dir}}/javier_test/kub",
"use_case_name": "poznan",
"timeout":"0-0:15:0",
"resources":{
"tasks":"{{parameters.resources.tasks.value}}",
"exclusive_access":"{{parameters.resources.exclusive_access.value}}"
},
"platforms": {
"apptainer":{
"image": {
"remote":"oras://ghcr.io/feelpp/ktirio-urban-building:master-sif",
"name":"{{machine.containers.apptainer.image_base_dir}}/kub.sif"
},
"input_dir":"/input_data/",
"input_dir":"/input_data",
"options": [
"--home {{machine.output_app_dir}}",
"--bind {{machine.input_dataset_base_dir}}/kub/cfg/:{{platforms.apptainer.input_dir}}"
"--bind {{machine.input_dataset_base_dir}}:{{platforms.apptainer.input_dir}}",
"--env OMP_NUM_THREADS=1"
],
"append_app_option":[]
},
"builtin":{
"input_dir":"{{machine.input_dataset_base_dir}}/kub/cfg/",
"input_dir":"{{machine.input_dataset_base_dir}}",
"append_app_option":[]
}
},
"input_file_dependencies":{
"case_cfg":"kub/cfg/Poznan.cfg"
},
"options": [
"--config-file {{platforms.{{machine.platform}}.input_dir}}/Poznan.cfg",
"--cem.database.directory {{output_directory}}/{{use_case_name}}/{{instance}}"
"--config-file {{platforms.{{machine.platform}}.input_dir}}/{{input_file_dependencies.case_cfg}}",
"--cem.database.directory {{output_directory}}/{{instance}}/{{use_case_name}}",
"--directory {{output_directory}}/{{instance}}/{{use_case_name}}"
],
"outputs": [],
"scalability": {
"directory": "{{output_directory}}/{{use_case_name}}/{{instance}}/cem/",
"directory": "{{output_directory}}/{{instance}}/{{use_case_name}}/cem/",
"stages": [
{
"name":"",
"filepath": "instances/np_{{parameters.nb_tasks.tasks.value}}/logs/timers.json",
"filepath": "instances/np_{{parameters.resources.tasks.value}}/logs/timers.json",
"format": "json",
"variables_path":"*"
"variables_path":["*.timeElapsed.max","execute.subtimers.*.subtimers.*.timeElapsed.max","execute.subtimers.*.timeElapsed.max"]
},
{
"name":"",
"filepath": "logs/timers.json",
"format": "json",
"variables_path":"*"
"variables_path":["*.timeElapsed.max","*.subtimers.*.subtimers.*.timeElapsed.max"]
}
]
},
@@ -48,14 +57,14 @@
},
"parameters": [
{
"name": "nb_tasks",
"name": "resources",
"sequence": [
{"tasks_per_node" : 8, "tasks":8, "exclusive_access":true},
{"tasks_per_node" : 16, "tasks":16, "exclusive_access":true},
{"tasks_per_node" : 32, "tasks":32, "exclusive_access":true},
{"tasks_per_node" : 64, "tasks":64, "exclusive_access":true},
{"tasks_per_node" : 128, "tasks":128, "exclusive_access":true},
{"tasks_per_node" : 128, "tasks":256, "exclusive_access":true}
{"tasks":32, "exclusive_access":true},
{"tasks":64, "exclusive_access":true},
{"tasks":128, "exclusive_access":true},
{"tasks":256, "exclusive_access":true},
{"tasks":384, "exclusive_access":true},
{"tasks":512, "exclusive_access":true}
]
}
]
10 changes: 5 additions & 5 deletions config/machines/gaya.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
{
"machine": "gaya",
"targets":["production:apptainer:"],
"execution_policy": "serial",
"targets":["public:builtin:hpcx"],
"execution_policy": "async",
"reframe_base_dir":"$PWD/build/reframe",
"reports_base_dir":"$PWD/reports/",
//If input_user_dir exists, input_dataset_base_dir is supposed to be temporary. Will be deleted after test.
// If input_user_dir DOES NOT exist, input_datates_base_dir will not be deleted
"input_dataset_base_dir":"/data/scratch/cladellash/feelppdb/input_data",
"input_user_dir":"/home/u2/cladellash/largedataexample/input_data/",
// "input_user_dir":"/home/u2/cladellash/largedataexample/input_data/",
"output_app_dir":"/data/scratch/cladellash/feelppdb",
"containers":{
"apptainer":{
// "cachedir": "/home/u2/cladellash/.apptainer/cache",
// "tmpdir": "/data/scratch/cladellash/images/tmp",
"cachedir": "/home/u2/cladellash/.apptainer/cache",
"tmpdir": "/data/scratch/cladellash/images/tmp",
"image_base_dir":"/data/scratch/cladellash/images",
"options":[
"--sharens",
55 changes: 54 additions & 1 deletion config/toolbox_heat/heat_plots.json
Original file line number Diff line number Diff line change
@@ -28,7 +28,7 @@
"label": "Measures"
},
"aggregations":[
{"column":"resources.tasks","agg":"filter:640"}
{"column":"resources.tasks","agg":"filter:768"}
]
},
{
@@ -57,6 +57,7 @@
"label":"Performance variable"
},
"aggregations":[
{"column":"repeat", "agg":"min"},
{"column":"discretization","agg":"filter:P1"}
]
},
@@ -204,6 +205,58 @@
"aggregations":[
{"column":"discretization","agg":"filter:P3"}
]
},
{
"title": "Algebraic-solve execution time",
"plot_types": [ "grouped_bar" ],
"transformation": "performance",
"variables": [
"Solve_algebraic-solve"
],
"names": [ ],
"xaxis": {
"parameter": "resources.tasks",
"label": "Number of tasks"
},
"yaxis": {
"label": "execution time (s)"
},
"color_axis":{
"parameter":"mesh",
"label":"Mesh"
},
"secondary_axis":{
"parameter":"discretization",
"label":"Discretization"
},
"aggregations":[
{"column":"performance_variable","agg":"filter:Solve_algebraic-solve"}
]
},
{
"title":"Number of iterations of GMRES",
"plot_types":["scatter"],
"transformation":"performance",
"variables":["Solve_ksp-niter"],
"names":[],
"xaxis":{
"parameter":"resources.tasks",
"label":"Number of tasks"
},
"yaxis":{
"label":"Number of iterations"
},
"color_axis":{
"parameter":"mesh",
"label":"Mesh"
},
"secondary_axis":{
"parameter":"discretization",
"label":"Discretization"
},
"aggregations":[
{"column":"performance_variable","agg":"filter:Solve_ksp-niter"}
]
}
]
}
29 changes: 18 additions & 11 deletions config/toolbox_heat/thermal_bridges_case_3.json
Original file line number Diff line number Diff line change
@@ -48,17 +48,12 @@
"--case.discretization {{parameters.discretization.value}}",
"--heat.json.patch='{\"op\": \"replace\",\"path\": \"/Meshes/heat/Import/filename\",\"value\": \"{{platforms.{{machine.platform}}.input_dir}}/{{input_file_dependencies.mesh_json}}\" }'"
],
"outputs": [
{
"filepath": "{{output_directory}}/{{instance}}/{{use_case_name}}/heat.measures/values.csv",
"format": "csv"
}
],
"additional_files":{
"parameterized_descriptions_filepath":"{{output_directory}}/{{instance}}/{{use_case_name}}/heat.information.adoc"
},
"scalability": {
"directory": "{{output_directory}}/{{instance}}/{{use_case_name}}",
"clean_directory":false,
"stages": [
{
"name": "Constructor",
@@ -73,7 +68,19 @@
{
"name": "Solve",
"filepath": "heat.scalibility.HeatSolve.data",
"format": "tsv"
"format": "tsv",
"units":{
"*":"s",
"ksp-niter":"iter"
}
},
{
"name":"Outputs",
"filepath": "heat.measures/values.csv",
"format": "csv",
"units":{
"*":"W"
}
}
]
},
@@ -87,7 +94,7 @@
"zip":[
{
"name":"tasks",
"sequence":[128,256,384,512,640,768,896,1024,1152,1280]
"sequence":[64]
},
{
"name":"exclusive_access",
@@ -112,9 +119,9 @@
"name":"discretization",
"sequence":["P1","P2","P3"],
"conditions":{
"P1":[{ "resources.tasks":[128,256,384,512,640,768] }],
"P2":[{ "resources.tasks":[768,896,1024,1152,1280] }],
"P3":[{ "resources.tasks":[640,768,896,1024,1152,1280] }]
"P1":[{ "resources.tasks":[64] }],
"P2":[{ "resources.tasks":[] }],
"P3":[{ "resources.tasks":[] }]
}
},
{
2 changes: 1 addition & 1 deletion docs/modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
@@ -4,4 +4,4 @@ ifdef::env-github,env-browser,env-vscode[:imagesprefix: ../images/]
= Benchmarking
:page-layout: toolboxes
:page-tags: catalog, catalog-index
:docdatetime: 2025-01-22T11:42:45
:docdatetime: 2025-02-10T15:33:05
Loading