-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run Pre-built Binary #616
Run Pre-built Binary #616
Conversation
Ignore this comment. Current version requires no changes to ramble.
|
@scheibelp @becker33 Please assess the design. Also please suggest how we can prepend the path in execute_experiment - or help formulate a question for Doug. |
ab1c119
to
de64c57
Compare
e4e20b0
to
2f0c102
Compare
ac40cba
to
97fd27c
Compare
The path part has been figured out. We are using an existing ramble interface to append to the path. |
) | ||
self.add_spack_spec( | ||
self.name, [f"quicksilver@{app_version} +mpi", system_specs["compiler"]] | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like all of these individual subclasses of Experiment
could be left alone, and you could skip compute_spack_section
in compute_package_section_wrapper
if package_manager
is not spack. Am I missing something? It looks like all these functions are turned effectively into noops when the package manager is not spack, so it seems like it would make sense to skip the function altogether.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. Upon checking, the environment-modules
manager in ramble actually does need this information, to create the file where modules are loaded. I removed the if-statements in the subclasses 313ff73. Having the package_specs
be empty for non-spack managers was a mistake.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Please add a test of a binary in dry runs. Maybe build/run saxpy as is now, then run that binary?
- Please add a docs page showing your example. Maybe call the page "Running a binary using Benchpark" and put it last under the "Running Benchpark" section.
03d35fc
to
fa56c6e
Compare
- 'environment-modules' package manager as alternative to spack - Enable appending to path in execute_experiment job file
13e7d0c
to
eaa6dc1
Compare
Description
resolves #609
This PR enables running an experiment using an existing binary, i.e. not requiring building with spack. The
environment-modules
package manager is used instead, for ramble to load necessary modules for the binary. Includes a refactor of thecompute_spack_section()
function, into a generalizedcompute_package_section()
, such that other package managers can share the same functionalities.Adding/modifying a benchmark (docs: Adding a Benchmark)
lib/benchpark/experiment.py
to enableenvironment-modules
package manager and appending the binary location toPATH
.lib/benchpark/cmd/setup.py
to not setup spack if package manager is not spack.experiments/*.py
to refactorcompute_package_section()
function.Example usage
Expected binary
osu_latency
in provided external path/usr/workspace/wsa/mckinsey/osu-micro-benchmarks/mpi/pt2pt
:results in new clause in experiment
ramble.yaml
:execute_experiment
will now include: