I keep getting questions that ask if when I do an mpirun -n 4 singularity exec image (or similar srun -n4) am I running in 4 different container instances of the same image or just 1.
How do I answer this question? I found this:
"I think you are misunderstanding the basic nature of the Singularity “container”. It’s just a file system overlay. So “sharing” a container is no different than running on a node where the procs all see the same file system. Thus, having multiple containers that are identical makes no sense - it’s all the same file system."
Still not sure how to answer the question. When I use instance.start and then mpirun -n 4 singularity exec instance://image, how is that different from the previous run (exec image)? I can see that there is a PID linked to the container when I do a singularity instance.list.
Can someone explain to me how it works so I can answer these questions?
Thanks,
-Steve