Ubuntu with NVIDIA GPU driver

Updated at:
Copy as MD

Deploy GPU-accelerated AI workloads on Ubuntu 22.04/24.04 with pre-installed NVIDIA drivers, CUDA, Docker, and NVIDIA Container Toolkit.

Pre-installed software

The following table lists the drivers and software included in each image.

Software

Ubuntu 22.04 with NVIDIA GPU driver

Ubuntu 24.04 with NVIDIA GPU driver

Ubuntu 22.04 (NVIDIA open-source driver)

Ubuntu 24.04 (NVIDIA open-source driver)

Kernel version

5.15.0-173-generic

6.8.0-106-generic

5.15.0-173-generic

6.8.0-106-generic

NVIDIA GPU driver

580.126.09

580.126.09

580.126.09 (open-source kernel module type)

580.126.09 (open-source kernel module type)

NVIDIA Container Toolkit

1.17.8

1.17.8

1.17.8

1.17.8

CUDA

12.8 (default), 13.0

12.8 (default), 13.0

13.0 (default), 12.8

13.0 (default), 12.8

cuDNN

9.19.1.2

9.19.1.2

9.19.1.2

9.19.1.2

NCCL

v2.27.7-1

v2.27.7-1

v2.29.3-1

v2.29.3-1

nccl-test

v2.17.9

v2.17.9

v2.17.9

v2.17.9

OpenMPI

4.1.3

4.1.3

4.1.3

4.1.3

Python 3

3.10.12

3.12.3

3.10.12

3.12.3

Docker

29.1.3

29.1.3

29.3.0

29.3.0

Keentune

Disabled by default.

Support

Support

Supported

Supported

OFED and elastic Remote Direct Memory Access (eRDMA)

Support

Supported

Supported

Supported

For previous image versions, see Ubuntu Public Image Release Notes.

Ubuntu 22.04 with NVIDIA GPU driver

Instance families

  • gn7e, gn7s, gn7i, gn6v, gn6i, gn6e, gn5, and gn5i

  • ebmgn7e, ebmgn7i, ebmgn6v, ebmgn6i, and ebmgn6e

  • ebmgn7ix and ebmgn7ex

  • gn8is, ebmgn8is, gn8v, and ebmgn8v

Environment variables

  • /etc/profile.d/nccl.sh

    export NCCL_HOME=/usr/local/nccl
    export LD_LIBRARY_PATH=${NCCL_HOME}/lib:$LD_LIBRARY_PATH
  • /etc/profile.d/openmpi.sh

    export MPI_HOME=/usr/local/openmpi
    export LD_LIBRARY_PATH=${MPI_HOME}/lib:$LD_LIBRARY_PATH
    export PATH=${MPI_HOME}/bin:$PATH
  • /etc/profile.d/cuda.sh

    export PATH=/usr/local/cuda/bin:$PATH
    export CUDA_HOME=/usr/local/cuda
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

Ubuntu 24.04 with NVIDIA GPU driver

Instance families

  • gn7e, gn7s, gn7i, gn6v, gn6i, gn6e, gn5, and gn5i

  • ebmgn7e, ebmgn7i, ebmgn6v, ebmgn6i, and ebmgn6e

  • ebmgn7ix and ebmgn7ex

  • gn8is, ebmgn8is, gn8v, and ebmgn8v

Environment variables

  • /etc/profile.d/nccl.sh

    export NCCL_HOME=/usr/local/nccl
    export LD_LIBRARY_PATH=${NCCL_HOME}/lib:$LD_LIBRARY_PATH
  • /etc/profile.d/openmpi.sh

    export MPI_HOME=/usr/local/openmpi
    export LD_LIBRARY_PATH=${MPI_HOME}/lib:$LD_LIBRARY_PATH
    export PATH=${MPI_HOME}/bin:$PATH
  • /etc/profile.d/cuda.sh

    export PATH=/usr/local/cuda/bin:$PATH
    export CUDA_HOME=/usr/local/cuda
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

Ubuntu 22.04 with NVIDIA open-source driver

Instance families

  • gn9t and ebmgn9t

  • gn8t, gn8te, ebmgn8t, ebmgn8te, ebmgn8ts, and gn8ep

Ubuntu 24.04 with NVIDIA open-source driver

Instance families

  • ebmgn9g, ebmgn9gc, ebmgn9ge, ebmgn9t, gn9g, gn9t, and gn9ge

  • gn8t, gn8te, ebmgn8t, ebmgn8te, ebmgn8ts, and gn8ep

FAQ

How do I enable the Keentune tuning tool for an Ubuntu image with a pre-installed NVIDIA GPU driver?

Enable the tool by running the following commands. The changes take effect after a restart.

systemctl stop tuned
systemctl disable tuned
systemctl start keentune-target
systemctl enable keentune-target
systemctl enable keentuned
systemctl start keentuned
keentune profile set cpu_ubuntu_common.profile

To disable Keentune, run keentune profile rollback and restart the operating system.

What should I note when using an Ubuntu image with a pre-installed NVIDIA GPU driver in an ACK cluster?

See Create a custom image from an ECS instance and use the image to create a node and Usage notes and high-risk operations.

Switch CUDA versions

Check the current CUDA version:

nvcc --version

These images use update-alternatives to manage multiple CUDA versions. To switch from CUDA 13.0 to 12.8, use one of the following methods:

  • Run update-alternatives --config cuda to interactively switch the CUDA version.

    update-alternatives --config cuda
    There are 2 choices for the alternative cuda (providing /usr/local/cuda).
    
      Selection    Path                  Priority   Status
    ------------------------------------------------------------
      0            /usr/local/cuda-13.0   20        auto mode
      1            /usr/local/cuda-12.8   10        manual mode
    * 2            /usr/local/cuda-13.0   20        manual mode
    
    Press <enter> to keep the current choice[*], or type selection number: 1  --> Select the number for your desired version
    update-alternatives: using /usr/local/cuda-12.8 to provide /usr/local/cuda (cuda) in manual mode
  • Run --set to non-interactively set the CUDA version.

    update-alternatives --set cuda /usr/local/cuda-12.8