3dgeo-heidelberg / helios

http://uni-heidelberg.de/helios
Other
184 stars 44 forks source link

Data-Analytics compilation mode #170

Open albertoesmp opened 2 years ago

albertoesmp commented 2 years ago

Problem Certain debug operations, implementation of new features, understanding and maintenance of current functionalities, insight analysis and performance profiling with respect to different variables could benefit a lot from getting internal HELIOS++ data. At the moment, it is up to the dev to inject code modifications to extract certain measurements which are currently not exported.

Solution Add a new compilation mode to HELIOS++ so, when compiled this way, it exports data of interest for deep analysis of what is going on behind the simulation. At the moment this is available for certain components such as the BUDDING_METRICS mode. But a more wide spectrum compilation mode for general data will be more useful. It is recommended to implement this as a compilation mode so data analytics related code will not be inserted in normal mode, thus avoiding messing up with performance.

Caveat This compilation mode must not be confused with typical profiling. For such needs already existing tools such as flame graphs, callgrind, massif, gprof, etc. already exist. It must be understood as a way to facilitate analysis of HELIOS++ internals, not as a general purpose tool for memory profiling nor computational profiling.

Measurements/Plots

han16nah commented 9 months ago

On Windows, there is an issue with the file separators, i.e., data-analytic files are saved in the HELIOS++ root folder with names like helios_pulse_records92subray_sim.csv instead of in a helios_pulse_records subfolder.

han16nah commented 9 months ago