This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
guide:scaling [2020/04/15 10:11] kevin created |
guide:scaling [2021/12/09 16:42] (current) |
||
|---|---|---|---|
| Line 2: | Line 2: | ||
| - | =====Using Fewer Cores than Requested===== | + | =====Using Fewer Cores than Available===== |
| There are several reasons why you would want to request more cores than you need, and they all depend on the hardware limits of the compute nodes. | There are several reasons why you would want to request more cores than you need, and they all depend on the hardware limits of the compute nodes. | ||
| Line 27: | Line 27: | ||
| Each compute node has 126 GiB or 64 GiB of memory (RAM). | Each compute node has 126 GiB or 64 GiB of memory (RAM). | ||
| + | |||
| + | ====Affinity==== | ||
| + | |||
| + | Performance is also affected by //where// your threads run, i.e., which cores on which chip are running your thread. | ||
| + | |||
| + | The operating system numbers the available CPUs (individual physical cores) are follows: | ||
| + | |||
| + | | PKG | CORE | CPU | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | |||
| + | ' | ||
| + | |||
| + | On a standard compute node we see that all //even// numbered CPUs are on one chip and all //odd// numbered CPUs are on the other chip. | ||
| + | |||
| + | To set how your threads should be allocated across the chips use the CPU number or specify the // | ||
| + | |||
| + | |||
| + | |||
| ====Benchmark==== | ====Benchmark==== | ||
| Line 35: | Line 76: | ||
| But the output of the '' | But the output of the '' | ||
| + | |||