LLNL / benchpark

An open collaborative repository for reproducible specifications of HPC benchmarks and cross site benchmarking environments
https://software.llnl.gov/benchpark/
Apache License 2.0
25 stars 22 forks source link

[Draft] ScaleML-UNet3D benchmark #283

Open pearce8 opened 2 months ago

pearce8 commented 2 months ago

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::

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