benchpark
benchpark copied to clipboard
[Draft] ScaleML-UNet3D benchmark
Current priorities:
- [ ] package.py - test
- [ ] application.py
- [ ] cuda experiment - a single experiment
- [ ] test the 3 above, add output here
In a future PR:
- [ ] rocm experiment
- [ ] expand experiments to a set
- [ ] enable Caliper
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::
ramble:
variants:
package_manager: pip
applications:
pip-test:
workloads:
import:
experiments:
test:
variables:
n_ranks: '1'
mpi_command: ''
batch_submit: '{execute_experiment}'
software:
packages: {}
environments: {}
In order for this to work, you will need to use Ramble concretize: https://ramble.readthedocs.io/en/latest/workspace.html#concretizing-a-workspace