Introduces the Experiment class to encapsulate an experiment. An Experiment lives in a Repo, modeled after the repos in Spack/Ramble, and is written in an experiment.py file. An Experiment is instantiated and fetched from a repo based on a ConcreteExperimentSpec. A user supplies an ExperimentSpec, which is concretized to generate a ConcreteExperimentSpec with all options instantiated.
An Experiment can have a variant, which is defined using a directive as in Spack/Ramble.
The current Experiment repository is in test_repo and Benchpark is hardcoded to use that directory. This is just for WIP purposes. The only current Experiment is saxpy, and it is not in working condition yet at this point.
Calling code calls the Experiment.write_ramble_dict() method which calls per-section methods to construct the dictionary and writes it to yaml. Either the whole computation method or only the per-section methods can be overridden on a per-experiment-class basis.
Introduces the
Experiment
class to encapsulate an experiment. AnExperiment
lives in aRepo
, modeled after the repos in Spack/Ramble, and is written in anexperiment.py
file. AnExperiment
is instantiated and fetched from a repo based on aConcreteExperimentSpec
. A user supplies anExperimentSpec
, which is concretized to generate aConcreteExperimentSpec
with all options instantiated.An
Experiment
can have avariant
, which is defined using adirective
as in Spack/Ramble.The current Experiment repository is in
test_repo
and Benchpark is hardcoded to use that directory. This is just for WIP purposes. The only current Experiment is saxpy, and it is not in working condition yet at this point.Calling code calls the
Experiment.write_ramble_dict()
method which calls per-section methods to construct the dictionary and writes it to yaml. Either the whole computation method or only the per-section methods can be overridden on a per-experiment-class basis.