cuda: parallel computing platform/programming model for NVIDIA GPUs
Overview of package
| Package: | cuda |
|---|---|
| Description: | parallel computing platform/programming model for NVIDIA GPUs |
| For more information: | https://developer.nvidia.com/cuda-zone |
| Categories: | SoftwareDevelopment |
| License: | Unknown |
General Usage
CUDA is a parallel computing platform and programming model designed by NVIDIA enabling one to harness the power of NVIDIA GPUs.
This module will add the nvcc and other CUDA commands to your path.
The following environmental variables have been defined:
- $CUDA_ROOT has been set to the root of the cuda installation
- $CUDA_LIBDIR points to the directory containing the libraries
- $CUDA_INCDIR points to the directory containing the header files
You will probably wish to use these by adding the following flags to your compilation command (e.g. to CFLAGS in your Makefile):
- -I$CUDA_INCDIR
and the following flags to your link command (e.g. LDFLAGS in your Makefile):
- -L$CUDA_LIBDIR -Wl,-rpath,$CUDA_LIBDIR
Available versions by cluster
This section lists the available versions of the package cudaon the UMD HPC clusters.
Versions available on the Zaratan cluster
| Version | Module tags | CPU(s) optimized for | GPU ready? |
|---|---|---|---|
| 10.2.89 | 10.2.89 | zen | Yes |
| 11.6.2 | 11.6.2 | zen2 | Yes |
| 12.3.0 | 12.3.0 | icelake, x86_64, zen2 | Yes |
NVIDIA Drivers and Versions
The versions listed above are the versions of the CUDA libraries installed in the Research Software Library for the relevant cluster. The GPU-enabled nodes also have the relevant GPU drivers installed, which are versioned differently, but the drivers installed on the GPU-enabled nodes support at least the specified versions of CUDA. You are free to install newer versions of the CUDA libraries for personal use in directories you have write access to (e.g. your home or scratch directories), up to the latest versions supported by the GPU drivers installed on the GPU nodes. You will not be able to change the version of the installed GPU drivers.
The GPU-enabled nodes on Zaratan currently are running:
| Cluster | Driver Version | Lastest CUDA Version supported by driver |
|---|---|---|
| Zaratan | NVIDIA Driver 560.28.03 | CUDA 12.6 |
Note on using CUDA
The nvcc compiler can compiler source files with the CUDA language
extensions. It also contains CUDA implementation of BLAS and FFT libraries,
as well as some data parallel primitives. See the
Wikipedia article on CUDA
for general information, or the
NIVIDA CUDA documentation
for detailed instructions.
Notes on using OpenCL
OpenCL is a framework for writing programs to execute across CPUs and various other devices (including GPUs). See the Wikipedia articule on OpenCL for more information.
The nvcc compiler will support OpenCL as well. You code should include
the opencl.h header file, e.g.
include <CL/opencl.g>
and you should compile it with something like
nvcc -lOpenCL mycode.c