我正在使用一个带有的大型计算集群,该集群有四个不同的子部分:我们将它们命名为C1、C2、C3和C4。C1和C2的节点有28个核心,而C3和C4的节点分别有40个和52个核心。我希望能够使用每个节点的所有核心,但是当我向队列提交作业时,我不知道将它分配给哪个分段,因此不知道有多少个核心可用。SLURM中是否有一个变量可以插入到--ntasks-per-node中,告诉它使用节点上所有可用的核心?
发布于 2022-07-25 09:04:52
如果您使用--nodes=1 --exclusive请求一个完整的节点,那么您将可以访问所有CPU(您可以使用cat /proc/$$/status|grep Cpus进行检查)。可用CPU的数量将由SLURM_JOB_CPUS_PER_NODE环境变量提供。
但是tasks的数量是一个,因此您可能必须调整启动程序的方式,并显式地设置CPUs的数量,例如使用OpenMPI程序a.out。
mpirun -np $SLURM_JOB_CPUS_PER_NODE ./a.outhttps://stackoverflow.com/questions/73086430
复制相似问题