This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
guide:gpu [2019/02/18 14:03] wikiadmin [GPU Nodes] |
guide:gpu [2025/08/07 12:51] (current) kevin |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ======GPU Nodes====== | ======GPU Nodes====== | ||
| - | The Lengau cluster at the CHPC includes 9 GPU compute nodes with a total of 24 Nvidia V100 GPU devices. | + | **Upgraded: more GPUs added.** |
| + | |||
| + | The Lengau cluster at the CHPC includes 9 GPU compute nodes with a total of 30 Nvidia V100 GPU devices. | ||
| + | |||
| + | |||
| + | ^ GPU Node ^ CPU Cores ^ GPU Devices | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | > Jobs that require 1, 2 or 3 GPUs can be allocated to any node, and will share the node if the job does not use all the GPU devices on that node. Jobs that require 4 GPUs can only be allocated to '' | ||
| + | |||
| + | |||
| + | |||
| =====Policies===== | =====Policies===== | ||
| Line 7: | Line 27: | ||
| ====Access==== | ====Access==== | ||
| - | Access to these GPU node is by PI application only though | + | Principle Investigators apply for GPU access for their Research Programme members through |
| ====Allocation===== | ====Allocation===== | ||
| Line 29: | Line 49: | ||
| ====GPU Queues==== | ====GPU Queues==== | ||
| - | There are three queues available in PBSPro which access the GPU nodes: | + | There are four queues available in PBSPro which access the GPU nodes: |
| ^ Queue name ^ Max. CPUs ^ Max. GPUs ^ PBSPro options | ^ Queue name ^ Max. CPUs ^ Max. GPUs ^ PBSPro options | ||
| - | | **gpu_1** | + | | **gpu_1** |
| - | | **gpu_2** | + | | **gpu_2** |
| - | | **gpu_4** | + | | **gpu_3** |
| + | | **gpu_4** | ||
| + | |||
| + | Note the '' | ||
| ====GPU Queue Limits==== | ====GPU Queue Limits==== | ||
| Line 50: | Line 73: | ||
| <code bash> | <code bash> | ||
| - | qsub -I -q gpu_1 -P PRJT1234 | + | qsub -I -q gpu_1 -P PRJT1234 |
| </ | </ | ||
| **NB:** Replace //'' | **NB:** Replace //'' | ||
| Line 62: | Line 85: | ||
| #PBS -N nameyourjob | #PBS -N nameyourjob | ||
| #PBS -q gpu_1 | #PBS -q gpu_1 | ||
| - | #PBS -l ncpus=10:ngpus=1 | + | #PBS -l select=1:ncpus=4:ngpus=1 |
| #PBS -P PRJT1234 | #PBS -P PRJT1234 | ||
| #PBS -l walltime=4: | #PBS -l walltime=4: | ||
| - | #PBS -o / | ||
| - | #PBS -e / | ||
| #PBS -m abe | #PBS -m abe | ||
| #PBS -M your.email@address | #PBS -M your.email@address | ||
| Line 74: | Line 95: | ||
| echo | echo | ||
| echo `date`: executing CUDA job on host ${HOSTNAME} | echo `date`: executing CUDA job on host ${HOSTNAME} | ||
| + | echo | ||
| + | echo Available GPU devices: $CUDA_VISIBLE_DEVICES | ||
| echo | echo | ||
| Line 79: | Line 102: | ||
| ./ | ./ | ||
| </ | </ | ||
| + | |||
| + | As usual, replace '' | ||
| + | |||
| + | ====GPU Memory==== | ||
| + | |||
| + | Most of the V100 GPUs only have 16GiB of memory. | ||
| + | |||
| + | #PBS -l select=1: | ||
| + | |||
| + | or | ||
| + | |||
| + | #PBS -l select=1: | ||
| + | |||
| + | > Note that asking for a specific node is likely to lead to longer queue times as your job has to wait until that node becomes available. | ||
| + | | ||
| =====Compiling GPU Code===== | =====Compiling GPU Code===== | ||
| Line 84: | Line 122: | ||
| The Nvidia V100 GPUs are programmed using the **CUDA** development tools. | The Nvidia V100 GPUs are programmed using the **CUDA** development tools. | ||
| - | To build a CUDA code (library or application) for the GPU nodes requires loading the appropriate CUDA module before compiling. | + | To build a CUDA code (library or application) for the GPU nodes requires loading the appropriate CUDA module before compiling. |
| - | Download and install the latest driver from [[http://www.nvidia.com/drivers]]. | + | |
| - | Set the environment variable CUDA_FORCE_PTX_JIT=1. | + | < |
| - | Launch your application. | + | chpc/ |
| - | When starting a CUDA application for the first time with the above environment flag, the CUDA driver will JIT-compile | + | chpc/ |
| + | chpc/ | ||
| + | chpc/cuda/11.6/PCIe/11.6 | ||
| + | chpc/ | ||
| + | chpc/ | ||
| + | </ | ||
| + | |||
| + | with version 12.0 the most recent version. | ||
| + | |||
| + | Note that the 11.x version modules are available in two types: | ||
| + | * the '' | ||
| + | * the '' | ||
| - | If you set the environment variable above and then launch your program and it works properly, then you have successfully verified Volta compatibility. | ||
| - | Note: Be sure to unset the CUDA_FORCE_PTX_JIT environment variable when you are done testing. | ||
| ====Further Reading==== | ====Further Reading==== | ||