parcels
parcels copied to clipboard
Integrate Memory and CPU Benchmarks into the repository
Integrate the benchmark scripts for artificial (perlin, bickley, doublegyre, stommel) and realistic (palaeoplankton, galapagos, biofouling) case studies in the main branch for all types of particle sets.
note 1: This branch is a child of integrate_nodes_to_master which is itself a direct child of master note 2: integrate_nodes_to_master currently has no PR, but can be create to merge all to master
@erikvansebille Summary of the PR:
Purpose: facilitate benchmarking in ParticleSets, i.e. log timings for computation, external I/O, internal I/O, memory usage, etc. Parent branch: benchmark_integration -> [parent] integrate_nodes_to_master -> [parent] master Status: needs some rework to be able to merge with its parent, as some functions were refactored in function calls to facilitate using the same logging superclass for all types of particle sets (i.e. AoS, SoA, lists). This is possible, but requires some working with the code. The codes changes itself are not difficult in terms of algorithms. Documentation status: the PR does not change anything in the actual processing of simulations, so no additional tests are required. Currently, there is no tutorial for how to use the logging. Examples on how this is used can be seen in [https://github.com/OceanParcels/ParcelsBenchmark_SLURMscripts](the ParcelsBenchmark_SLURMscripts repository) and its scripts subfolder.
Advice: only merge if you have the time and the interest to allow for later benchmarking with future performance improvements in the parcels team. Alternatively, you can close the PR. Please do not remove (i.e. delete) the branch, as it will be needed for review requests for the in-progress paper in Computers and Geosciences.
Closing for now, as will not integrate for the moment