Dear All, I think slurm is great but I'm still confused on how
sbatch srun salloc do work "together". They seem to have pretty much the same options but are these options really identical or do they have subtle differences (program dependent)? For example, does the "--exclusive" option have a different effect/meaning when it is fed to "sbatch" rather then "srun"? Same holds for -B or other options which are exactly the same from the command line point of view. I understand that sbatch is used to submit a batch script for later execution... but what's the "connection" between sbatch and srun when srun is called within a batch script? Who does what exactly and how are they related to each other? Should I give the --exclusive, --mem or -B options directly to sbatch (outer layer) or to the srun command fired up within a batch script (inner layer)? How these two layers communicates? Is the outer layer (sbatch) just passing over all options to srun after having "prepared" something or not? Or should I consider srun mostly as an independent program? The concept of partition, job and job step is very clear to me... but still I miss who's taking care of what. I've been through the docs and man pages several times but I still miss the "connections" between sbatch and srun. Can you clarify a bit my confusion? As stupid example... -B, --exclusive options... should I give them to sbatch, to srun (called within a batch script) or to both? What's the difference If I give it only to sbatch or to the srun command in a batch script? Requesting a specific allocation of resources... who does it actually and when? Is it sbatch at the very same moment it is invoked or srun (later time)... or both of them... or none of them actually (slurm plugin)? Thanks, --matt