Open espenhgn opened 3 years ago
Is there a base container for JUSUF with system dependencies (slurm stuff, correct mpi versions, etc.) installed? Imho, it would make sense to use that as a base to extend with scientific packages. The build for the higher layers would then automatically be for MPICH on the JUSUF image, and for whatever else whereever else.
To my knowledge no. But there are CentOS Docker files at https://hub.docker.com/_/centos which could be used. I'm not sure if JUSUF system libraries like Intel MPI can be packed and hosted say on docker hub if they are commercial/not open sourced.
The way I've been using Singularity on JUSUF so far has typically involved these steps:
module use $OTHERSTAGES
module --force purge
module load Stages/2020
module load GCC Singularity-Tools
# build container (perform once and for all)
sib upload ./Dockerfile <name>
sib build
sib wait-for-completion
# download container
sib download <name>
# request resources
salloc --nodes=# --ntasks=# --time=HH:MM:SS --account <account>
...
# run script in parallel
srun --mpi=pmi2 singularity exec <name>.sif python -u <script.py>
For reference, a working Dockerfile for JUSUF is found here: https://github.com/LFPy/hybridLFPy_EBRAINS/blob/main/Dockerfile
Hi. During some testing of Singularity on JUSUF, MPICH appears to be required in the container as Slurm/srun calls the Intel MPI executables. Would it make sense to provide both openMPI and MPICH variants here?