I am looking to run jobs on Perlmutter at NERSC, which has GPU nodes with 4x A100s. I would like to run each Jobflow Job on a single A100, ideally in a batch mode that continually pulls in new work over the course of the job. Is there a mechanism in place to distribute the jobs over the GPU node? In practice, this would involve separate srun calls as described here. I'm not dealing with anything MPI or OpenMP related here since this is all PyTorch code.
Is this practical with the parallel batch mode? The parallel batch mode seems like it distributes work over individual nodes within a multi-node allocation, but I'm not sure if it can be made to distribute work over multiple GPUs within each node as well.