Commit Graph

31 Commits

Author SHA1 Message Date
Guillaume Raffy b8c8a1b0e6 turned starbench into an installable package
work related to  [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3878]
2024-06-21 14:48:00 +02:00
Guillaume Raffy a43eb68db5 fixed all styling warnings and comments, and documented the code
work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3872] as I'm planning to reuse starbench to add new automatic benchmarks
2024-06-21 08:50:36 +02:00
Guillaume Raffy dc897e9225 fixed styling errors detected by pylint
work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3878]
2024-06-20 11:51:53 +02:00
Guillaume Raffy f87e564528 reorganized files and documented 2022-06-10 08:39:22 +02:00
g-raffy 165da43619
Create README.md 2022-06-09 15:59:52 +02:00
Guillaume Raffy 2c349315cd the job script is now saved to a location that should avoid it to be written by multiple jobs at the same time, thus avoiding race conditions issues. 2022-06-09 11:16:36 +02:00
Guillaume Raffy 5bc51c78ca fixed bug that caused starbench.py source code to be included twice (and one of them causing syntax errors) 2022-06-09 11:15:00 +02:00
Guillaume Raffy 43ae0a3068 cleanup and documented 2022-06-09 09:09:32 +02:00
Guillaume Raffy 733fda5517 added mechanism to download benchmark results on work.global on success 2022-06-09 08:58:04 +02:00
Guillaume Raffy 75c4b98be0 improved name of job
- also joined job outputs for easier reading
2022-06-09 08:56:47 +02:00
Guillaume Raffy 58dbfc9be6 added ifort build to hibridon's benchmark 2022-06-09 08:54:50 +02:00
Guillaume Raffy f2b8d6cdb4 now the hibridon benchmark runs one job for each machine type on physix
- also tuned memry requirements so that the `representative_test` succeeds
2022-06-07 19:01:30 +02:00
Guillaume Raffy 936dfa793a made changes needed to get hibridon benchmark running on physix (ipr's cluster):
- 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
2022-06-07 14:52:56 +02:00
Guillaume Raffy 6715cd1714 made starbench compatible with python 3.5 + :
- 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
2022-06-07 12:44:25 +02:00
Guillaume Raffy fab373f3c1 made `hibench.job` hibridon independent so that:
- `hibench.job` could be reused as is by another project
- it gives more flexibility to lauch-perf-jobs.sh
2022-06-03 16:10:47 +02:00
Guillaume Raffy 176db9f719 now that `hibench.py` has been made generic (it has no hibridon related code anymore), I renamed it as `starbench.py` 2022-06-03 14:13:32 +02:00
Guillaume Raffy 959fba13b3 the test command is no longer hardcoded and can be chosen via command line arguments 2022-06-02 17:52:38 +02:00
Guillaume Raffy 226871547f removed compiler loop as the used compiler can now be defined by the user via cmake defines 2022-06-02 17:34:16 +02:00
Guillaume Raffy 431f728793 the cmake options are no longer hardcoded
This way, it's more flexible and it will allow this code to be independant from hibridon
2022-06-02 15:59:27 +02:00
Guillaume Raffy ac639b3a08 fixed bug that coused the checkout to fait because it was performed from a non-git repository
also removed unneed hibridon dependency (it's planned to make this bench code work for any git/cmake repository)
2022-06-02 15:58:00 +02:00
Guillaume Raffy 97a04d2831 it's now possible to choose aversion of the code to test
note: previously, it didn't work
2022-06-02 14:34:14 +02:00
Guillaume Raffy 05ec8a5181 made `hibench.py` (better name than `starbench.py`) parse options so that it is more generic.
This change will allow jobs to perform hibridon benchmarks
2022-06-02 13:01:16 +02:00
Guillaume Raffy c65cd60a54 measure_hibridon_perf now takes the name of the test as a parameter to make it more generic 2022-06-01 16:17:10 +02:00
Guillaume Raffy ddcb9f1175 now the number of threads per run is restricted to what the user asks 2022-06-01 12:06:58 +02:00
Guillaume Raffy 0ecddcf8f8 minor flake fix 2022-06-01 12:06:10 +02:00
Guillaume Raffy d45d53c3ac fixed bugs discovered after running from scratch 2022-06-01 12:05:28 +02:00
Guillaume Raffy e643be2435 cleanup by removing debug traces and replacing them with useful messages 2022-05-31 19:03:00 +02:00
Guillaume Raffy 9b12ce7cd2 added a way to redirect stdout and stderr to files to avoid pollution on the console 2022-05-31 18:55:16 +02:00
Guillaume Raffy 34fc73cccf added support for commands depending on worker to `StarBencher`
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.
2022-05-31 17:59:28 +02:00
Guillaume Raffy 35d271ff63 added support for various stop conditions in `StarBencher`
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....
2022-05-31 16:50:38 +02:00
Guillaume Raffy f136861893 added a tool to measure the performance of a specific version of hibridon
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).
2022-05-31 12:37:00 +02:00