MPI(Message Passing Interface) 主流的两个开源软件分别是OpenMPI和MPICH (Singularity同时支持)。
*参考链接:https://sylabs.io/guides/3.3/user-guide/mpi.html
基本想法:要执行SIngularity
容器的MPI
代码时,使用mpiexec
类似命令去调用singularity
命令。容器外部的MPI
进程会和容器内的MPI
进行协作,容器内的MPI代码会实例化任务。
流程如下:
MPI launcher
(e.g., mpirun, mpiexec) is called by the user directly from a shell
etc. .MPI
then calls the process management daemon (ORTED
); the ORTED
process launches the Singularity container requested by the MPI launcher
command, as such mpirun.Singularity
builds the container and namespace environment; singularity then launches the MPI application
within the container.MPI application
loads the MPI libraries
.MPI libraries
connect back to the ORTED
process via the Process Management Interface (PMI).