Containers#
Get an image#
# Apptainer
apptainer pull zoomy_jax.sif oras://ghcr.io/zoomylab/zoomy_jax_sif:latest
# Docker
docker pull ghcr.io/zoomylab/zoomy_jax:latest
Every image below exists for both. Replace zoomy_jax by the image you need. Which backend for
what: Backends.
Image |
Backend |
|---|---|
|
NumPy |
|
JAX, CPU and GPU |
|
AMReX, CPU and GPU |
|
OpenFOAM with preCICE |
|
DMPlex |
|
Firedrake |
|
plotting and HDF5 |
Run#
The first argument chooses the mode.
apptainer run zoomy_jax.sif 8080 # solver for the GUI on localhost:8080
apptainer run zoomy_jax.sif jupyter # JupyterLab on localhost:8888
apptainer run zoomy_jax.sif shell # shell
Docker needs the ports and your files:
docker run --rm -p 8080:8080 ghcr.io/zoomylab/zoomy_jax:latest
docker run --rm -p 8888:8888 -v $PWD:/workspace ghcr.io/zoomylab/zoomy_jax:latest jupyter
GUI#
Start the solver on port 8080, open the GUI and connect it (GUI, “Connect backend”,
http://localhost:8080). Details: Connecting your own backend.
Jupyter#
apptainer run --bind $PWD:/workspace zoomy_jax.sif jupyter
Open the printed address. The kernel has the backend installed, your files are in /workspace.
CPU and GPU#
zoomy_jax and zoomy_amrex run on the CPU, and on the GPU when the host driver is brought in.
apptainer exec zoomy_jax.sif python run.py # CPU
apptainer exec --nv zoomy_jax.sif python run.py # GPU
docker run --rm --gpus all ghcr.io/zoomylab/zoomy_jax:latest # GPU with Docker