How to install NVIDIA CUDA Toolkit on Fedora 29 Linux

The Nvidia CUDA toolkit is an extension of GPU parallel computing platform and programming model. The Nvidia CUDA installation consists of inclusion of the official Nvidia CUDA repository followed by the installation of relevant meta package.

In this How to install NVIDIA CUDA Toolkit on Fedora 29 Linux tutorial you will learn:

  • How to download the latest NVIDIA CUDA repository package.
  • How to install the CUDA repository package on Fedora 29.
  • How to select and install a CUDA meta package on Fedora 29.
  • How to export system path to the Nvidia CUDA binary executables.
  • How to confirm and test your CUDA installation.

NVIDIA CUDA Toolkit on Fedora 28 Linux

NVIDIA CUDA Toolkit on Fedora 29 Linux.

Software Requirements and Conventions Used

Software Requirements and Linux Command Line Conventions
Category Requirements, Conventions or Software Version Used
System Fedora 29
Software Existing Nvidia Driver installation on Fedora 29 Linux</>
Other Privileged access to your Linux system as root or via the sudo command.
Conventions # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
$ – requires given linux commands to be executed as a regular non-privileged user

How to install NVIDIA CUDA Toolkit on Fedora 29 Linux step by step instructions

  1. Download the latest Nvidia CUDA repository package cuda-repo-fedora*.rpm. For example use the wget command to download the latest CUDA package which is at the time of writing the CUDA version 10:


    $ wget https://developer.download.nvidia.com/compute/cuda/repos/fedora27/x86_64/cuda-repo-fedora27-10.0.130-1.x86_64.rpm
    

    The package should now be available within your home directory:

    $ ls cuda-repo-fedora27-10.0.130-1.x86_64.rpm
    cuda-repo-fedora27-10.0.130-1.x86_64.rpm
    
  2. Install the CUDA repository package. This will enable CUDA repository on your Fedora 29 Linux system:
    $ sudo rpm -i cuda-repo-*.rpm
    
  3. Select CUDA meta package you wish to install based on the below table. For example the below command will install the entire CUDA toolkit and driver packages:
    $ sudo dnf install cuda
    
    Example of Meta Packages Available for CUDA 10.0. Reference: NVIDIA.com
    Package name Description
    cuda Installs all CUDA Toolkit and Driver packages. Handles upgrading to the next version of the cuda package when it’s released.
    cuda-10.0 Installs all CUDA Toolkit and Driver packages. Remains at version 10.0 until an additional version of CUDA is installed.
    cuda-toolkit-10.0 Installs all CUDA Toolkit packages required to develop CUDA applications. Does not include the driver.
    cuda-tools-10.0 Installs all CUDA command line and visual tools.
    cuda-runtime-10.0 Installs all CUDA Toolkit packages required to run CUDA applications, as well as the Driver packages.
    cuda-compiler-10.0 Installs all CUDA compiler packages.
    cuda-libraries-10.0 Installs all runtime CUDA Library packages.
    cuda-libraries-dev-10.0 Installs all development CUDA Library packages.
    cuda-drivers Installs all Driver packages. Handles upgrading to the next version of the Driver packages when they’re released.
  4. Export system path to Nvidia CUDA binary executables. Open ~/.bashrc using your preferred text editor and add the following two lines:
    export PATH=/usr/local/cuda/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
    


  5. Re-login or read your updated ~/.bashrc file:
    $ source ~/.bashrc
    
  6. Confirm the correct CUDA installation:
    $ nvcc --version
    $ nvidia-smi
    
  7. Perform further tests by compiling your first CUDA program:
    $ mkdir cuda-samples
    $ cuda-install-samples-10.0.sh cuda-samples/
    $ cd cuda-samples/NVIDIA_CUDA-10.0_Samples/0_Simple/clock
    $ make
    

Appendix

At the time of writing gcc versions later than 7 are not supported by CUDA. From this reason you might receive the following error when attempting to compile a CUDA program:

 In file included from /usr/local/cuda-10.0/bin/../targets/x86_64-linux/include/cuda_runtime.h:83,
                 from :
/usr/local/cuda-10.0/bin/../targets/x86_64-linux/include/crt/host_config.h:129:2: error: #error -- unsupported GNU version! gcc versions later than 7 are not supported!
 #error -- unsupported GNU version! gcc versions later than 7 are not supported!
WARNING
Downgrading GCC may in many cases be destructive. Make sure that you know what you are doing.

The following command can be used to downgrade GCC to version 7:

$ sudo dnf --releasever=27 install gcc-7.3.1-6.fc27