Skip to main content

The CUDA Toolkit library

⚠ INFORMATION
This page was translated by an AI (LLM) with a cursory human check and is awaiting full review.

Description

CUDA Toolkit provides a development environment and a set of scientific libraries for creating GPU-accelerated applications. This environment includes highly optimised and GPU-accelerated functions for linear algebra and scientific applications such as BLAS, Fast Fourier Transforms, etc.

Some mathematical and linear algebra libraries provided by CUDA Toolkit:

  • CuBLAS (CUDA Basic Linear Algebra Subroutines): Standard BLAS library, accelerated by GPUs.
  • CuSPARSE: GPU-accelerated linear algebra functions for operations on sparse matrices.
  • CuFFT (CUDA Fast Fourier Transform): GPU-accelerated FFT library.
  • CuSOLVER: Solvers based on direct methods for dense and sparse systems.

Installed Versions

CUDA Toolkit is available via the module command. The installed versions on the machine can be found using the following command:

module avail cuda----------------------------------------------------cuda/9.2    cuda/10.1.1    cuda/10.2      cuda/11.7.1    cuda/12.0.0    cuda/12.2.0    cuda/12.6.3cuda/10.0   cuda/10.1.2    cuda/11.2      cuda/11.8.0    cuda/12.1.0    cuda/12.4.1    cuda/12.8.0-----------------------------------------------------

Environment

The different versions of CUDA do not depend on a particular environment (compilers).

warning

CUDA versions prior to cuda/12.0.0 are not usable on the H100 partition gpu_p6.

Note

To obtain information on the library access paths, you can use the following command:

module show cuda/12.1.0

Usage

CUDA Toolkit is accessible via the module command.

To load the default version:

module load cuda

or to load a specific version:

module load cuda/10.0

After loading the CUDA module, it will be necessary during compilation to specify the library used by specifying the option:

  • -lcublas for CuBLAS,
  • -lcufft or -lcufftw for CuFFT,
  • -lcusparse for CuSPARSE,
  • -lcusolver for CuSOLVER.
info

Using static versions requires adding the suffix _static, for example: -lcublas_static to use the static version of CuBLAS.

Documentation

🌐 CUDA Reference Site
📝 CuFFT Reference Manual
📝 CuBLAS Reference Manual
📝 CuSPARSE Reference Manual
📝 CuSOLVER Reference Manual

Your opinion matters!

To give your feedback, report an error, or suggest an improvement, click here:

quick anonymous questionnaire

This questionnaire is temporary and will take less than a minute, so take the opportunity!