nest / nest-docker

Build scripts for the docker container with NEST simulator and services
https://nest-simulator.org/
GNU General Public License v2.0
3 stars 7 forks source link

MPICH variants? #52

Open espenhgn opened 3 years ago

espenhgn commented 3 years ago

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?

terhorstd commented 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.

espenhgn commented 3 years ago

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>
espenhgn commented 3 years ago

For reference, a working Dockerfile for JUSUF is found here: https://github.com/LFPy/hybridLFPy_EBRAINS/blob/main/Dockerfile