diff --git a/TurTLE/_code.py b/TurTLE/_code.py index 7c9f4ce169dfb0bf827e50fd5ca8d007a89bdddc..8a74ed4ef3dd9e548d4f98447b545d662900cfd9 100644 --- a/TurTLE/_code.py +++ b/TurTLE/_code.py @@ -638,9 +638,16 @@ class _code(_base): # if more than one node we requiere to have a multiple of deltanprocs nb_processes_per_node = int(nb_cpus_per_node // nb_threads_per_process) - + # 2025-04-29 + # specify number of nodes, number of tasks, and cpus per task + # with this setup, SLURM is free to distribute tasks among a fixed + # number of nodes. + # this version also works for cases when + # (number of nodes) * (number of cpus per node)i + # is different from + # (number of mpi processes) * (number of threads per process). script_file.write('#SBATCH --nodes={0}\n'.format(nb_nodes)) - script_file.write('#SBATCH --ntasks-per-node={0}\n'.format(nb_processes_per_node)) + script_file.write('#SBATCH --ntasks={0}\n'.format(nb_mpi_processes)) script_file.write('#SBATCH --cpus-per-task={0}\n'.format(nb_threads_per_process)) script_file.write('#SBATCH --mail-type=none\n')