This hosts description table is still hardcoded, though... at some point it will be better to use external data to make the code more generic (an attempt was made with pandas, but this introduced complexity in the setup so I decided to keep it hardcoded for the moment).
work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3372]
since starbench is now an installable package, there is no starbench.py script anymore; starbench is no longer a simple python script; the existing code that assumed starbench was a simple python needed to be adapted.
work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3372]
I had the case where on_exit() was never called because proc had no value and therefore the attempt to pass proc.pid to on_exit caused an exception before on_exit was called. As a result, the mater thread was waiting its children threads forever, as these child never signaled that they finished.
work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3372]
- choosing different rsults dir allows to run the same benchmark more than once to have more than one measure
- this makes `hibenchonphysix.py` more decoupled from hibench, in the hope that it will be completely unaware of hibench at some poing (therefore reusable with other benchmarks)
- added the ability to show the performance per clock cycle (eg to see if avx512 has an effect on the computation)
- the cpus are now sorted on x axis depending on their generation
work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3372]
- added in `starbench` the option to choose which cmake executable to use
- fixed typos in sge environment variables
- added job submit mechanism
With these changes, hibridon's benchmark succeeded on physix48
- removed type hints for vraiable (requires python 3.6 +)
- converted `Path` into `str` where Path type is not supported
- use `_ForwardRef` instead of `ForwardRef`
note: python3.5 was chosen as a target because that's the version of python3 on ipr's cluster
This allows `measure_hibridon_perf` to launch `ctest` in a safe way (each worker has its own build directory). As a result, measure_hibridon_perf now works.
added an extra stop condition in which the command is simply executed once
however, I found out that `measure_hibridon_perf` doesn't currently work because it suffers from racing conditions : if multiple tests are runat the same time, the output file gets writtent by multiple processes, which cause some tests to fail because they can't find the output file if the timings is wrong....
This benchmarking tool includes `starbench` a benchmarking method (inspired by `hpl`'s `stardgemm`) which runs the same command in parallel, so that performance is measured in conditions similar to what a user would experience in a compute cluster environment.
This is functional but still work in progress (the code dates from the 03/05/2022).