Appendix A: Installing Software#

SUSE Linux Enterprise Server uses the Zypper package manager to install, update, and remove packages. The utility can also be used to manage repositories. For more information about using Zypper, refer to the SUSE Zypper Package Manager article.

A.1 NVIDIA DOCA-OFED#

NVIDIA MLNX_OFED has transitioned to DOCA-OFED. Refer to the following resources for more information:

To install NVIDIA DOCA-OFED on SLES 15:

  1. Add the NVIDIA DOCA-OFED repository to your system.

    SLES 15 SP6:

    sudo dd status=none of=/etc/zypp/repos.d/doca.repo << EOF
    [doca]
    name=DOCA latest
    baseurl=https://linux.mellanox.com/public/repo/doca/latest/sles15sp6/sbsa-arm64/
    enabled=1
    gpgcheck=0
    EOF
    sudo zypper refresh
    

    SLES 15 SP7:

    sudo dd status=none of=/etc/zypp/repos.d/doca.repo << EOF
    [doca]
    name=DOCA latest
    baseurl=https://linux.mellanox.com/public/repo/doca/latest/sles15sp7/sbsa-arm64/
    enabled=1
    gpgcheck=0
    EOF
    sudo zypper refresh
    
  2. Install the dependent software.

    sudo zypper install -y kernel-64kb-devel
    
  3. Install the DOCA-Extra and build DOCA modules.

    sudo zypper install -y doca-extra
    sudo /opt/mellanox/doca/tools/doca-kernel-support
    
  4. Install the DOCA modules and DOCA userspace.

    The output from the previous command will have instructions about how to install the DOCA modules.

    The instructions will resemble the following output, but users need to provide the path, package name, and repository values.

    sudo zypper install -y --no-recommends mlnx-ofa_kernel doca-ofed-userspace
    sudo rpm -Uvh /tmp/DOCA.<random value>/doca-kernel-repo-<version value>.rpm
    sudo zypper refresh
    REPOID=$(sudo zypper lr | grep doca-kernel | awk '{print $1}')
    sudo zypper install -r $REPOID -y doca-kernel-<version value>
    

    If output from previous command looks like this:

    Problem: 1: the to be installed doca-kernel-<version value>.noarch requires 'srp-kmp-default >= <version>,
    but this requirement cannot be provided not installable providers: srp-kmp-default-<version>.aarch64[doca-kernel-<version value>]
    
    Solution 1: do not install doca-kernel-<version value>.noarch
    
    Solution 2: break doca-kernel-<version value>.noarch by ignoring some of its dependencies
    
    Choose from above solutions by number or cancel [1/2/c/d/?] (c): c
    
    1. Run the following command:

      sudo zypper install -r $REPOID doca-kernel-<version value>

    2. At the prompt, enter 2.

  5. When using NVIDIA BlueField-3 SoC Management Interface, enable the Rshim service.

    sudo systemctl daemon-reload
    sudo systemctl enable rshim
    sudo systemctl start rshim
    
  6. To confirm that the NVIDIA BlueField-3 Soc Management Interface is on the system, run the following commands.

    # Print the PCI BDF for the BlueField-3 Soc Management Interface
    sudo lspci | grep "BlueField-3 SoC Management Interface" | awk '{print $1}'
    0006:03:00.2
    0016:03:00.2
    
  7. Update the device firmware.

    sudo zypper -y mlnx-fw-updater
    
  8. If the NVIDIA BlueField-3 SoC Management Interface is on the system, install the BF-bundle.

    sudo bfb-install --rshim rshim<N> --bfb <image_path.bfb>
    

    Where <N> is the rshim device identifier.

  9. Update the boot image to include NVIDIA DOCA-OFED support and reboot the system.

    sudo dracut -f
    sudo reboot now
    

A.2 NVIDIA GPU Driver and CUDA Toolkit#

Refer to the NVIDIA CUDA Installation Guide for Linux for instructions on how to install the NVIDIA GPU driver and NVIDIA CUDA® support for SLES. The R535.129.03 driver is the minimum level required for the Hopper GPU.

The following commands can be used to install the minimum levels required for the Hopper and Blackwell GPU:

  1. Enable the SUSE Package Hub.

    SLES 15 SP6:

    sudo SUSEConnect -p PackageHub/15.6/aarch64
    sudo zypper refresh
    

    SLES 15 SP7:

    sudo SUSEConnect -p PackageHub/15.7/aarch64
    sudo zypper refresh
    
  2. Install the NVIDIA GPU Driver and CUDA Toolkit.

    sudo zypper remove -y nvidia-open-driver-G06-signed-kmp-64kb
    sudo zypper install -y kernel-64kb-devel
    sudo usermod -a -G video <username>
    sudo zypper addrepo https://developer.download.nvidia.com/compute/cuda/repos/sles15/sbsa/cuda-sles15.repo
    sudo zypper refresh
    sudo zypper install -y cuda-toolkit-13-0
    sudo zypper -v install -y nvidia-open
    sudo systemctl enable nvidia-persistenced
    sudo reboot now
    

    If nvidia-persistenced fails with ExecStart=/usr/bin/nvidia-persistenced --verbose (code=exited, status=217/USER), run the following command.

    sudo mkdir /usr/lib/systemd/system/nvidia-persistenced.service.d/
    sudo dd status=none of=/usr/lib/systemd/system/nvidia-persistenced.service.d/70-nvidia-persistenced.conf << EOF
    [Service]
    User=
    Group=
    EOF
    sudo systemctl daemon-reload
    sudo systemctl start nvidia-persistenced
    

    Note

    The open-source GPU driver is required for Hopper and Blackwell GPUs.