cc_staff
290
edits
No edit summary |
No edit summary |
||
Line 677: | Line 677: | ||
<li><p>Compute nodes have no internet access.</p> | <li><p>Compute nodes have no internet access.</p> | ||
<p>Download data you need beforehand on a login node.</p></li></ul> | <p>Download data you need beforehand on a login node.</p></li></ul> | ||
== SLURM nomenclature: jobs, nodes, tasks, cpus, cores, threads == | |||
SLURM, which is the job scheduler used on Niagara, has a somewhat different way of referring to things like mpi processes and threads tasks. The SLURM nomenclature is reflected in the names of scheduler option (i.e., resource requests). SLURM strictly enforces those requests, so it is important to get this right. | |||
{| class="wikitable" | |||
!term | |||
!meaning | |||
!SLURM term | |||
!related scheduler options | |||
|- | |||
|job | |||
|scheduled piece of work for which specific resources were requested. | |||
|job | |||
|<tt>sbatch, salloc</tt> | |||
|- | |||
|node | |||
|basic computing component with several cores (40 for Niagara) that share memory | |||
|node | |||
|<tt>--nodes -N</tt> | |||
|- | |||
|mpi process | |||
|one of a group of running programs using Message Passing Interface for parallel computing | |||
|task | |||
|<tt>--ntasks -n --ntasks-per-node</tt> | |||
|- | |||
|core ''or'' physical cpu | |||
|A fully functional independent physical execution unit. | |||
| - | |||
| - | |||
|- | |||
|logical cpu | |||
|An execution unit that the operating system can assign work to. Operating systems can be configured to overload physical cores with multiple logical cpus using hyperthreading. | |||
|cpu | |||
|<tt>--ncpus-per-task</tt> | |||
|- | |||
|thread | |||
|one of possibly multiple simultaneous execution paths within a program, which can share memory. | |||
| - | |||
| <tt>--ncpus-per-task</tt> '''and''' <tt>OMP_NUM_THREADS</tt> | |||
|- | |||
|hyperthread | |||
|a thread run in a collection of threads that is larger than the number of physical cores. | |||
| - | |||
| - | |||
|} | |||
== Scheduling by node == <!--T:79--> | == Scheduling by node == <!--T:79--> |