Niagara Quickstart: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 321: Line 321:
<li><p>Compute nodes have no internet access.</p>
<li><p>Compute nodes have no internet access.</p>
<p>[[Data_Management#Moving_data | Move your data]] to Niagara before you submit your job.</p></li></ul>
<p>[[Data_Management#Moving_data | Move your data]] to Niagara before you submit your job.</p></li></ul>
== SLURM nomenclature: jobs, nodes, tasks, cpus, cores, threads  == <!--T:172-->
<!--T:173-->
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.
<!--T:174-->
{| 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-->
cc_staff
290

edits