I use Podman to do HPC development in MacOS because some tools (like Darshan) rely on Linux-specific hooks. Here’s the process:
Create the container image
Create a base container image:
Then launch an interactive session within the container to set up the dev environment:
After setting up the environment, commit the container’s state so it can be reused without reinitializing everything:
The above can be done whenever changes worth saving are made.
Create a data volume
Create a persistent volume to store data outside the container:
Or just bind mount a local directory:
Re-use the container
Once the container is exited, it can be stopped and started again without losing the environment:
The container can also be used in other systems:
Machine configuration
The default Podman install on MacOS only gave me 4 cores and 2 GB of RAM. You can change this:
To see the number of cores on MacOS: