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