Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Current priorities:
In a future PR:
Adding a note here for later (and possibly for a later PR). It will soon be possible to use both spack and pip to install dependencies, so lets leave the input generation library to deal with then as we shouldn't need a spack package for it.
Spack package manager: https://github.com/GoogleCloudPlatform/ramble/blob/develop/var/ramble/repos/builtin/package_managers/spack/package_manager.py
Pip package manager: https://github.com/GoogleCloudPlatform/ramble/blob/develop/var/ramble/repos/builtin/package_managers/pip/package_manager.py
Package definitions can have multiple specs that are specific to each package manager. As an example::
packages:
saxpy:
spack_pkg_spec: saxpy+openmp
pip_pkg_spec: "saxpy[openmp]"
Package managers can be parameterized: variants:package_manager:'{experiment_package_manager}'
@Thionazin We have merged the ability to use different package managers, its in benchpark develop now. First, you need to look at other packages in benchpark to update to use this capability. Second, here's an example of how to use pip to manage some of your packages:
https://github.com/GoogleCloudPlatform/ramble/blob/develop/var/ramble/repos/builtin/applications/pip-test/application.py
and you would use it from experiments like this::
In order for this to work, you will need to use Ramble concretize:
https://ramble.readthedocs.io/en/latest/workspace.html#concretizing-a-workspace
Dependencies: FIXME:Add a list of any dependencies.
Fixes issue(s): FIXME:Add list of relevant issues.
Type of Change
Checklist:
If adding/modifying a system:
system.py
file.github/workflows
If adding/modifying a benchpark:
application.py
and (maybe)package.py
under a new directoryfor this benchmark
section
If adding/modifying a experiment:
experiment.py
under existing directory for specific benchmarkIf adding/modifying core functionality:
.github/workflows
and.gitlab/ci
unit tests (if needed)