Difference between revisions of "GPU Access"
Line 9: | Line 9: | ||
Researchers can add NGUs to their allocations by filling out the [https://www.rc.ufl.edu/get-started/purchase-allocation/ Purchase Form] or requesting a [https://www.rc.ufl.edu/services/request-trial-allocation/ Trial Allocation]. | Researchers can add NGUs to their allocations by filling out the [https://www.rc.ufl.edu/get-started/purchase-allocation/ Purchase Form] or requesting a [https://www.rc.ufl.edu/services/request-trial-allocation/ Trial Allocation]. | ||
− | =GPU-enabled Services= | + | ==GPU-enabled Services== |
Types of GPUs are listed below. Two partitions contain GPUs - the hwgui partition for visualization and the gpu partition for general computation. | Types of GPUs are listed below. Two partitions contain GPUs - the hwgui partition for visualization and the gpu partition for general computation. | ||
− | == Hardware Accelerated GUI == | + | === Hardware Accelerated GUI === |
GPUs in these servers are used to accelerate rendering for graphical applications. These servers are in the SLURM "'''hwgui'''" partition. Refer to the '''[[Hardware Accelerated GUI Sessions]]''' page for more information on available resources and usage. | GPUs in these servers are used to accelerate rendering for graphical applications. These servers are in the SLURM "'''hwgui'''" partition. Refer to the '''[[Hardware Accelerated GUI Sessions]]''' page for more information on available resources and usage. | ||
{{Note|Please note: The original HWGUI system based on xpra is being deprecated, please use our Open-On-Demand service as a replacement: [[Open OnDemand|UFRC Open OnDemand]]|warn}} | {{Note|Please note: The original HWGUI system based on xpra is being deprecated, please use our Open-On-Demand service as a replacement: [[Open OnDemand|UFRC Open OnDemand]]|warn}} | ||
− | == GPU Assisted Computation == | + | === GPU Assisted Computation === |
A number of high performance applications installed on HiPerGator implement GPU-accelerated computing functions via CUDA to achieve significant speed-up over CPU calculations. These servers are in the SLURM '''"gpu"''' partition (<code>--partition=gpu</code>). | A number of high performance applications installed on HiPerGator implement GPU-accelerated computing functions via CUDA to achieve significant speed-up over CPU calculations. These servers are in the SLURM '''"gpu"''' partition (<code>--partition=gpu</code>). | ||
− | === Hardware Specifications for the GPU Partition=== | + | ==== Hardware Specifications for the GPU Partition==== |
We have the following types of NVIDIA GPU nodes available in the "gpu" partition: | We have the following types of NVIDIA GPU nodes available in the "gpu" partition: | ||
Line 51: | Line 51: | ||
To select a specific type of GPU within a partition please use either a SLURM constraint (e.g. --constraint=rtx6000) or a GRES with the needed GPU type (--gres or --gpu=a100:1). See more examples below. | To select a specific type of GPU within a partition please use either a SLURM constraint (e.g. --constraint=rtx6000) or a GRES with the needed GPU type (--gres or --gpu=a100:1). See more examples below. | ||
− | = Compiling CUDA Enabled Programs = | + | == Compiling CUDA Enabled Programs == |
The most direct way to develop a custom GPU accelerated algorithm is with the CUDA programming, please refer to the [[Nvidia CUDA Toolkit]] page. The current CUDA environment is cuda/11. However, C++ or Python packages numba and PyCuda are other ways to program GPU algorithms. | The most direct way to develop a custom GPU accelerated algorithm is with the CUDA programming, please refer to the [[Nvidia CUDA Toolkit]] page. The current CUDA environment is cuda/11. However, C++ or Python packages numba and PyCuda are other ways to program GPU algorithms. | ||
− | = Slurm and GPU Use = | + | == Slurm and GPU Use == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 16:42, 11 January 2023
Normalized Graphics Processor Units (NGUs) include all of the infrastructure (memory, network, rack space, cooling) necessary for GPU-accelerated computation. Each NGU is equivalent to 1 GPU presently, however newer GPUs such as the A100s may require more than 1 NGU to access in the future.
Researchers can add NGUs to their allocations by filling out the Purchase Form or requesting a Trial Allocation.
GPU-enabled Services
Types of GPUs are listed below. Two partitions contain GPUs - the hwgui partition for visualization and the gpu partition for general computation.
Hardware Accelerated GUI
GPUs in these servers are used to accelerate rendering for graphical applications. These servers are in the SLURM "hwgui" partition. Refer to the Hardware Accelerated GUI Sessions page for more information on available resources and usage.
GPU Assisted Computation
A number of high performance applications installed on HiPerGator implement GPU-accelerated computing functions via CUDA to achieve significant speed-up over CPU calculations. These servers are in the SLURM "gpu" partition (--partition=gpu
).
Hardware Specifications for the GPU Partition
We have the following types of NVIDIA GPU nodes available in the "gpu" partition:
- NVIDIA GeForce GTX 1080Ti, with 2 GPUs per node. See technical specifications for reference.
- NVIDIA GeForce RTX 2080Ti, with 8 GPUs per node. See technical specifications for reference.
- NVIDIA Quadro RTX 6000, with 8 GPUs per node. These GPUs have SLI bridging See technical specifications for reference.
- AI NVIDIA DGX A100 SuperPod, with 8 GPUs per node. These GPUs have NVSWITCH interconnects See technical specifications for reference.
|
For a list of additional node features, see the Available Node Features page.
To select a specific type of GPU within a partition please use either a SLURM constraint (e.g. --constraint=rtx6000) or a GRES with the needed GPU type (--gres or --gpu=a100:1). See more examples below.
Compiling CUDA Enabled Programs
The most direct way to develop a custom GPU accelerated algorithm is with the CUDA programming, please refer to the Nvidia CUDA Toolkit page. The current CUDA environment is cuda/11. However, C++ or Python packages numba and PyCuda are other ways to program GPU algorithms.