Overview
-
Machine : Gaya
-
Application : Feel++ Thermo-electric toolbox
from numpy import nan
from feelpp.benchmarking.report.base.controller import Controller
from feelpp.benchmarking.report.base.model import AggregationModel
from feelpp.benchmarking.report.base.view import View
model=AggregationModel.fromDataframe({'performance_variable': {0: 'ThermoElectricConstructor_createMesh', 1: 'ThermoElectricConstructor_createExporters', 2: 'ThermoElectricConstructor_init', 3: 'ThermoElectricPostProcessing_exportResults', 4: 'ThermoElectricSolve_solve', 5: 'ThermoElectricConstructor_createMesh', 6: 'ThermoElectricConstructor_createExporters', 7: 'ThermoElectricConstructor_init', 8: 'ThermoElectricPostProcessing_exportResults', 9: 'ThermoElectricSolve_solve', 10: 'ThermoElectricConstructor_createMesh', 11: 'ThermoElectricConstructor_createExporters', 12: 'ThermoElectricConstructor_init', 13: 'ThermoElectricPostProcessing_exportResults', 14: 'ThermoElectricSolve_solve', 15: 'ThermoElectricConstructor_createMesh', 16: 'ThermoElectricConstructor_createExporters', 17: 'ThermoElectricConstructor_init', 18: 'ThermoElectricPostProcessing_exportResults', 19: 'ThermoElectricSolve_solve', 20: 'ThermoElectricConstructor_createMesh', 21: 'ThermoElectricConstructor_createExporters', 22: 'ThermoElectricConstructor_init', 23: 'ThermoElectricPostProcessing_exportResults', 24: 'ThermoElectricSolve_solve', 25: 'ThermoElectricConstructor_createMesh', 26: 'ThermoElectricConstructor_createExporters', 27: 'ThermoElectricConstructor_init', 28: 'ThermoElectricPostProcessing_exportResults', 29: 'ThermoElectricSolve_solve', 30: 'ThermoElectricConstructor_createMesh', 31: 'ThermoElectricConstructor_createExporters', 32: 'ThermoElectricConstructor_init', 33: 'ThermoElectricPostProcessing_exportResults', 34: 'ThermoElectricSolve_solve'}, 'value': {0: 9.3436622, 1: 0.000478431, 2: 28.38023, 3: 0.094644729, 4: 102.6245, 5: 6.36808929, 6: 0.000722079, 7: 17.5549475, 8: 0.084252727, 9: 5.31183259, 10: 39.6654193, 11: 0.000425199, 12: 185.605978, 13: 0.140781614, 14: 92.4004072, 15: 54.6846271, 16: 0.000256502, 17: 215.052461, 18: 0.139978666, 19: 84.8133234, 20: 101.708553, 21: 0.000287831, 22: 300.279871, 23: 0.107377305, 24: 53.1284321, 25: 184.886085, 26: 0.000208862, 27: 390.637816, 28: 0.050859164, 29: 47.7352248, 30: 307.501362, 31: 0.00023367, 32: 502.336654, 33: 0.035428615, 34: 67.5227991}, 'unit': {0: 's', 1: 's', 2: 's', 3: 's', 4: 's', 5: 's', 6: 's', 7: 's', 8: 's', 9: 's', 10: 's', 11: 's', 12: 's', 13: 's', 14: 's', 15: 's', 16: 's', 17: 's', 18: 's', 19: 's', 20: 's', 21: 's', 22: 's', 23: 's', 24: 's', 25: 's', 26: 's', 27: 's', 28: 's', 29: 's', 30: 's', 31: 's', 32: 's', 33: 's', 34: 's'}, 'reference': {0: nan, 1: nan, 2: nan, 3: nan, 4: nan, 5: nan, 6: nan, 7: nan, 8: nan, 9: nan, 10: nan, 11: nan, 12: nan, 13: nan, 14: nan, 15: nan, 16: nan, 17: nan, 18: nan, 19: nan, 20: nan, 21: nan, 22: nan, 23: nan, 24: nan, 25: nan, 26: nan, 27: nan, 28: nan, 29: nan, 30: nan, 31: nan, 32: nan, 33: nan, 34: nan}, 'thres_lower': {0: nan, 1: nan, 2: nan, 3: nan, 4: nan, 5: nan, 6: nan, 7: nan, 8: nan, 9: nan, 10: nan, 11: nan, 12: nan, 13: nan, 14: nan, 15: nan, 16: nan, 17: nan, 18: nan, 19: nan, 20: nan, 21: nan, 22: nan, 23: nan, 24: nan, 25: nan, 26: nan, 27: nan, 28: nan, 29: nan, 30: nan, 31: nan, 32: nan, 33: nan, 34: nan}, 'thres_upper': {0: nan, 1: nan, 2: nan, 3: nan, 4: nan, 5: nan, 6: nan, 7: nan, 8: nan, 9: nan, 10: nan, 11: nan, 12: nan, 13: nan, 14: nan, 15: nan, 16: nan, 17: nan, 18: nan, 19: nan, 20: nan, 21: nan, 22: nan, 23: nan, 24: nan, 25: nan, 26: nan, 27: nan, 28: nan, 29: nan, 30: nan, 31: nan, 32: nan, 33: nan, 34: nan}, 'status': {0: nan, 1: nan, 2: nan, 3: nan, 4: nan, 5: nan, 6: nan, 7: nan, 8: nan, 9: nan, 10: nan, 11: nan, 12: nan, 13: nan, 14: nan, 15: nan, 16: nan, 17: nan, 18: nan, 19: nan, 20: nan, 21: nan, 22: nan, 23: nan, 24: nan, 25: nan, 26: nan, 27: nan, 28: nan, 29: nan, 30: nan, 31: nan, 32: nan, 33: nan, 34: nan}, 'absolute_error': {0: nan, 1: nan, 2: nan, 3: nan, 4: nan, 5: nan, 6: nan, 7: nan, 8: nan, 9: nan, 10: nan, 11: nan, 12: nan, 13: nan, 14: nan, 15: nan, 16: nan, 17: nan, 18: nan, 19: nan, 20: nan, 21: nan, 22: nan, 23: nan, 24: nan, 25: nan, 26: nan, 27: nan, 28: nan, 29: nan, 30: nan, 31: nan, 32: nan, 33: nan, 34: nan}, 'testcase_time_run': {0: 208.95432329177856, 1: 208.95432329177856, 2: 208.95432329177856, 3: 208.95432329177856, 4: 208.95432329177856, 5: 31.151336908340454, 6: 31.151336908340454, 7: 31.151336908340454, 8: 31.151336908340454, 9: 31.151336908340454, 10: 315.96591329574585, 11: 315.96591329574585, 12: 315.96591329574585, 13: 315.96591329574585, 14: 315.96591329574585, 15: 331.4851188659668, 16: 331.4851188659668, 17: 331.4851188659668, 18: 331.4851188659668, 19: 331.4851188659668, 20: 391.58780097961426, 21: 391.58780097961426, 22: 391.58780097961426, 23: 391.58780097961426, 24: 391.58780097961426, 25: 479.58514881134033, 26: 479.58514881134033, 27: 479.58514881134033, 28: 479.58514881134033, 29: 479.58514881134033, 30: 626.0803143978119, 31: 626.0803143978119, 32: 626.0803143978119, 33: 626.0803143978119, 34: 626.0803143978119}, 'nb_tasks': {0: 256, 1: 256, 2: 256, 3: 256, 4: 256, 5: 128, 6: 128, 7: 128, 8: 128, 9: 128, 10: 64, 11: 64, 12: 64, 13: 64, 14: 64, 15: 32, 16: 32, 17: 32, 18: 32, 19: 32, 20: 16, 21: 16, 22: 16, 23: 16, 24: 16, 25: 8, 26: 8, 27: 8, 28: 8, 29: 8, 30: 4, 31: 4, 32: 4, 33: 4, 34: 4}, 'date': {0: '2024-10-21T11:14:05+0200', 1: '2024-10-21T11:14:05+0200', 2: '2024-10-21T11:14:05+0200', 3: '2024-10-21T11:14:05+0200', 4: '2024-10-21T11:14:05+0200', 5: '2024-10-21T11:14:05+0200', 6: '2024-10-21T11:14:05+0200', 7: '2024-10-21T11:14:05+0200', 8: '2024-10-21T11:14:05+0200', 9: '2024-10-21T11:14:05+0200', 10: '2024-10-21T11:14:05+0200', 11: '2024-10-21T11:14:05+0200', 12: '2024-10-21T11:14:05+0200', 13: '2024-10-21T11:14:05+0200', 14: '2024-10-21T11:14:05+0200', 15: '2024-10-21T11:14:05+0200', 16: '2024-10-21T11:14:05+0200', 17: '2024-10-21T11:14:05+0200', 18: '2024-10-21T11:14:05+0200', 19: '2024-10-21T11:14:05+0200', 20: '2024-10-21T11:14:05+0200', 21: '2024-10-21T11:14:05+0200', 22: '2024-10-21T11:14:05+0200', 23: '2024-10-21T11:14:05+0200', 24: '2024-10-21T11:14:05+0200', 25: '2024-10-21T11:14:05+0200', 26: '2024-10-21T11:14:05+0200', 27: '2024-10-21T11:14:05+0200', 28: '2024-10-21T11:14:05+0200', 29: '2024-10-21T11:14:05+0200', 30: '2024-10-21T11:14:05+0200', 31: '2024-10-21T11:14:05+0200', 32: '2024-10-21T11:14:05+0200', 33: '2024-10-21T11:14:05+0200', 34: '2024-10-21T11:14:05+0200'}, 'use_case': {0: 'HL_31', 1: 'HL_31', 2: 'HL_31', 3: 'HL_31', 4: 'HL_31', 5: 'HL_31', 6: 'HL_31', 7: 'HL_31', 8: 'HL_31', 9: 'HL_31', 10: 'HL_31', 11: 'HL_31', 12: 'HL_31', 13: 'HL_31', 14: 'HL_31', 15: 'HL_31', 16: 'HL_31', 17: 'HL_31', 18: 'HL_31', 19: 'HL_31', 20: 'HL_31', 21: 'HL_31', 22: 'HL_31', 23: 'HL_31', 24: 'HL_31', 25: 'HL_31', 26: 'HL_31', 27: 'HL_31', 28: 'HL_31', 29: 'HL_31', 30: 'HL_31', 31: 'HL_31', 32: 'HL_31', 33: 'HL_31', 34: 'HL_31'}})
view=View([{'title': 'Execution by use case', 'plot_types': ['scatter'], 'transformation': 'performance', 'names': ['performance'], 'xaxis': {'parameter': 'date', 'label': 'Date'}, 'color_axis': {'parameter': 'use_case', 'label': 'Use case'}, 'yaxis': {'label': 'Execution time (s)'}, 'aggregations': [{'column': 'nb_tasks', 'agg': 'max'}, {'column': 'hsize', 'agg': 'max'}, {'column': 'performance_variable', 'agg': 'sum'}], 'variables': ['ThermoElectricConstructor_init', 'ThermoElectricPostProcessing_exportResults', 'ThermoElectricSolve_solve']}, {'title': 'Execution by use case', 'plot_types': ['stacked_bar'], 'transformation': 'performance', 'names': ['performance'], 'xaxis': {'parameter': 'use_case', 'label': 'Use Case'}, 'color_axis': {'parameter': 'performance_variable', 'label': 'Performance Step'}, 'yaxis': {'label': 'Execution time (s)'}, 'aggregations': [{'column': 'nb_tasks', 'agg': 'max'}, {'column': 'hsize', 'agg': 'max'}, {'column': 'date', 'agg': 'mean'}], 'variables': ['ThermoElectricConstructor_init', 'ThermoElectricPostProcessing_exportResults', 'ThermoElectricSolve_solve']}])
controller=Controller(model,view)
for fig in controller.generateAll():
fig.show()