I was wondering if it is possible to run different singularity containers in parallel. I’m calling singularity like this: SINGULARITY_TMPDIR=$PWD SINGULARITY_CACHEDIR=$PWD singularity run --nv -C -B /EBC:/EBC,$PWD:/opt/templateflow /EBC/home/mblesa/qsiprep-0.18.0.sif $PWD $PWD/sub-${BASENAME}_qsiprep participant --participant-label ${BASENAME} -w $PWD ...
Will it be ok to run it in different cores in parallel? Thanks in advance.
Without knowing your computational resources it is hard to say. For the SLURM job scheduler, for example, I have had no problem running an SBATCH job array where each job was a Singularity app for a different subject. You can do a similar thing with the SGE scheduler as well.
At that point, you have fewer CPUs than subjects. So trying to run 300+ subjects at once would not be a great idea. Why not just do one singularity command with all participants? fMRIPrep and QSIPrep already parallelize processes.