Commit Graph

11 Commits

Author SHA1 Message Date
Guillaume Raffy 4ca2e02381 v0.0.10
-  the user can now choose the host type id. This mechanism will allow the benchmarks to be run on ipr cluster nodes, taking advantage of the specific use of environment modules to discover and activate packages.
- note: at the moment, the implementation of host type fr.univ-rennes.ipr.cluster-node is not yet finished

work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958]
2024-11-25 14:52:08 +01:00
Guillaume Raffy b8bb991abd forgot this in my last commit
work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958]
2024-11-22 13:43:54 +01:00
Guillaume Raffy f7d1946eb7 v0.0.6 (addendum)
- added a the blas_library parameter to mamul1, for this:
  - added support for the `default-<packagetype>` keyword as package_id, which makes the parameter system to find the blas flavour of the default blas.
  - made the package default version retrieval more generic (replaces a gfortran specific code).

warning: these discovery mechanisms have only been implemented for debian hosts at the moment.

work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958]
2024-11-21 16:45:22 +01:00
Guillaume Raffy 7fd25890ec v0.0.5
- added support for package params. As a result it is now possible to choose the fortran compiler version (implemented in mamul1 and hibench).

work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958]
2024-11-19 21:37:55 +01:00
Guillaume Raffy 6dded4234a refactored tests:
- split tests into 3:
  - test_benchmarks.py: tests all benchmarks with the most basic resultsdb backend
  - test_resultsdb: tests all resultsdb backends with the most basic benchmark
  - test_clusterbench: tests clusterbench_submit
- made tests more robust (deletes the results foder if it already exists)

work related to [https://bugzilla.ipr.univ-rennes.fr/show_bug.cgi?id=3958]
2024-11-17 11:31:48 +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