If I were to hazard a guess, I would say that srun actually runs things
whereas sbatch submits and runs a batch command.
How would sbatch get 'hostname' to run on a particular cpu?
Within sbatch, you could do that by using srun to run 'hostname'.
So it is the execution step that is where you would do that and those
are subsets of sbatch.
Brian Andrus