Skip to content

Latest commit

 

History

History
75 lines (58 loc) · 2.68 KB

containers-comps.rst

File metadata and controls

75 lines (58 loc) · 2.68 KB

Using containers in

You can use the Singularity container files (.sif) for running simulations on .

Run a job in COMPS with Singularity

includes examples to help you get up and running with Singularity on . First, you can run the create_ubuntu_sif.py script, located in examples/singularity/ubuntu-20-04/create_ubuntu_sif.py. This script creates an Ubuntu Singularity container based on the included definition file, ubuntu_20_04_base.def, and writes it to an asset collection on .

if __name__ == '__main__':
platform = Platform("CALCULON")
sbi = SingularityBuildWorkItem(name="Create ubuntu sif with def file", definition_file="ubuntu_20_04_base.def", image_name="ubuntu.sif")
sbi.tags = dict(ubuntu="20.04")
sbi.run(wait_until_done=True, platform=platform)
if sbi.succeeded:
    # Write ID file
    sbi.asset_collection.to_id_file("ubuntu.id")

Once you have the required Linux .sif container file, you can then add your modeling files. For example, create_covasim_sif.py, located in examples/singularity/covasim/create_covasim_sif.py, uses the pre-created ubuntu container and associated asset collection id to create a new .sif container file for running simulations using Covasim.

if __name__ == '__main__':
platform = Platform("CALCULON")
sbi = SingularityBuildWorkItem(name="Create covasim sif with def file", definition_file="covasim_req.def", image_name="covasim_ubuntu.sif")
# Try to load the ubuntu image from an id file
pwd = PurePath(__file__).parent
ub_base = pwd.joinpath("..", "ubuntu-20-04")
fp = pwd.joinpath("ubuntu.id")
sbi.add_assets(AssetCollection.from_id_file(fp))
sbi.tags = dict(covasim=None)
sbi.run(wait_until_done=True, platform=platform)
if sbi.succeeded:
    sbi.asset_collection.to_id_file("covasim.id")

As the following example script, run_covasim_sweep.py, shows you can run simulations in a Singularity container on using the previously created .sif container file.

../../examples/singularity/covasim/run_covasim_sweep.py