...
The mache.deploy
package must provide a mechanism for loading the conda and spack environments, loading system modules, and setting environment variables before the deployed software gets run.
Requirement: Skip spack deployment
The deployed software must have a way to indicate that spack deployment isn’t needed, either because a shared spack environment already exists or because no spack support is needed.
Desired: Skip conda deployment
The deployed software may wish to have a way to indicate that conda deployment isn’t needed because a shared conda environment already exists. Such a capability is not currently needed but it could be in future software. Deployment would still be useful in such cases because mache.deploy
would still provide the load mechanism described above.
Desired: Testing the deployed software
...
Conceptual Design
Date last modified:
Contributors: Xylar Asay-Davis Althea Denlinger
Design: A mechanism to begin deployment
A generalized configure script will install mache and then carry out deployment similarly to the configure script and deployment package in polaris. This script will be retrieved from github with a short localized script in the software to be deployed (e.g., polaris would have a small localized script for retrieving the script to install conda, mache, and begin deployment). So there will be three scripts: 1.) localized script within the target software (e.g., polaris), 2.) begin deployment script which will be used to install conda and mache, and 3.) a script like the configure_polaris_envs.py script which will complete the rest of the deployment process.
Design: A mechanism to install miniforge3
Included in the mache deployment script.
Design: A mechanism to install mache
Included in the mache deployment script.
Design: A way for deployed software to specify conda packages to install
The mache documentation will describe how to set up a spec file that will describe which conda packages to install.
Design: A way for deployed software to specify spack packages to install
The mache documentation will describe how to set up a spec file that will describe which spack packages to install.
Design: Support for different variants of the environments
...
Design: Provide a mechanism to load the environments in the deployed software
Design: Skip spack deployment
Optional Design: Skip conda deployment
Optional Design: Testing the deployed software
Pseudo-code and Implementation Details
Date last modified:
Contributors: Xylar Asay-Davis Althea Denlinger
Implementation: A mechanism to begin deployment
Implementation: A mechanism to install miniforge3
Implementation: A mechanism to install mache
Implementation: A way for deployed software to specify conda packages to install
Implementation: A way for deployed software to specify spack packages to install
Implementation: Support for different variants of the environments
Implementation: Include a mechanism for providing environment variables
Implementation: Provide a mechanism to load the environments in the deployed software
Implementation: Skip spack deployment
Optional Implementation: Skip conda deployment
Optional Implementation: Testing the deployed software
Planned Testing
Date last modified:
...