Commit Graph

13 Commits

Author SHA1 Message Date
Guillaume Raffy 86985d3de4 the user can now output the benchmark results to a remote sql database accessed via ssh
note: as the production benchmarks are currently stored at IPR on a database server accessed via ssh, this allows iprbench to store its results to IPR benchmark database.

work rleated to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958]
2024-11-13 14:56:45 +01:00
Guillaume Raffy 2ee1988721 the user can now choose to save the benchmark results into a sql database (sqlite at the moment)
work rleated to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958]
2024-11-05 15:39:00 +01:00
Guillaume Raffy 2a91af37ff added the ability for the user to choose the resultsdb backend.
This is needed to use a different backend for tests and for production

work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958]
2024-10-25 19:19:28 +02:00
Guillaume Raffy 25d2e489d5 fixed bug with num_cores that caused test_clusterbench to fail on hibench
work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958]
2024-10-23 16:55:17 +02:00
Guillaume Raffy 98940824e4 Made benchmark `hibench` work
- converted --cmake-path argument in clusterbench-submit into a parameter for benchmark hibench, as it's specific to some benchmarks only

work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958]
2024-10-23 14:36:22 +02:00
Guillaume Raffy 6000e20d6b the user of `iprbench-submit` can now choose the cluster he wants to use (previously it was hardcoded to the test cluster `DummyCluster`)
work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958]
2024-10-23 11:18:07 +02:00
Guillaume Raffy 6f84732cf6 mamul1 benchmark now gets its source files from iprbench resources rather than a hardcoded directory (which was obviously not satisfactory since iprbench only worked if installed in a specfic location).
work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958] and [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3372]
2024-10-22 17:32:35 +02:00
Guillaume Raffy 011d4eddf9 refactored iprbench to separate ipr benchmark framework from the actual benchmarks
This decoupling allows to write benchmarks as modules that can be used in various situations (from a benchmark job or directly from a user), but this design will allow automatic registering of the benchmark results in a user selectable form (sql database, stdout, etc.)

- separated `hibenchonphysix.py` into `clusterbench.py` (tool to run a benchmark on a cluster) and `hibench.py` (hibridon benchmark module) so that `clusterbench.py` no longer has a knowledge about hibridon.
- there are currently 2 ways to run a bechmark:
  1. as a simple run through `clusterbench-run` command (which will eventually be renamed as iprbench-run since it might be completely independent from the concept of cluster)
  2. as cluster jobs  through `clusterbench-submit` command
- added unit test
- added another benchmark `mamul1` that is used as a unittest because it has 2 benefits over `hibench` benchmark:
   1. it's standalone (no external resources needed)
   2. it's quicker to execute

note: this refactoring work is not complete yet, but the concept  proof is complete (the 2 unittests pass):
- still need to provide the user a way to switch between IpRCluster and DummyCluster(which is only intended to only be used for testing clusterbench))
- still need to run multiple configs of the same benchmark in one run (as hibenchonphysix did)

work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958] and [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3372]
2024-10-22 09:16:41 +02:00
Guillaume Raffy fe4a07a67e refactored all iprbench code found in `usecases/ipr/hibench` into a `iprbench` python package
The main motivation for this is to allow the code executed by jobs to benefit from multiple packages (eg iprbench, [stargemm](https://github.com/g-raffy/starbench), cocluto) to perform common missing tasks such as registering the results output in the iprbench database.

work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958] and [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3372]
2024-10-10 18:06:09 +02:00
Guillaume Raffy 0693b2c948 refactoring: documented mamul1 source code related to clocks to clarify the meansured times 2024-07-01 09:30:26 +02:00
Guillaume Raffy fb7608ecdd removed hardcoded path 2024-06-30 17:16:39 +02:00
Guillaume Raffy de7c1fb2dd fixed styling errors 2024-06-30 17:15:45 +02:00
Guillaume Raffy c05ff89d29 added a complete standalone usage example (mamul1: mutiplication of matrices) in the form of a unit test
note: [matmul] is a copy of [https://github.com/g-raffy/flobe/tree/main/benchmarks/mamul1]
2024-06-30 15:53:03 +02:00