CUDA Compatibility Drivers

View as Markdown

This procedure is considered experimental.

In some situations, you might not be able to upgrade NVIDIA CUDA drivers on a regular basis. To work around this issue, NVIDIA provides compatibility drivers that allow users to use newer features without requiring a full upgrade. For information about compatibility drivers, see https://docs.nvidia.com/deploy/cuda-compatibility/index.html.

Installing the Drivers

Use the following commands to install the CUDA 11 compatibility drivers on Ubuntu:

$wget
$https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
$
$mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$
$apt-key adv --fetch-keys
$https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
$
$add-apt-repository "deb
>https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
$
$apt update
$
$nvidia-smi
$
$apt install cuda-compat-11-0
$
$nvidia-smi
$
$export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.0/compat/
$
$nvidia-smi

After the last nvidia-smi, ensure that CUDA shows the correct version.

The driver version will still show as the old version.

Updating systemd Files

After installing the drivers, update the systemd files in /lib/systemd/system/heavydb.service.

In the service section, add or update the environment property

$Environment=LD_LIBRARY_PATH=/usr/local/cuda-11.0/compat:$LD_LIBRARY_PATHbash

The file should look like that

$[Unit]
$Description=HEAVY.AI database server
$After=network.target remote-fs.target
$
$[Service]
$Environment=LD_LIBRARY_PATH=/usr/local/cuda-11.0/compat:$LD_LIBRARY_PATH
$User=heavyai
$Group=heavyai
$WorkingDirectory=/opt/heavyai
$ExecStart=/opt/heavyai/bin/heavydb --config /var/lib/heavyai/heavy.conf
$KillMode=control-group
$SuccessExitStatus=143
$LimitNOFILE=65536
$Restart=always
$
$[Install]
$WantedBy=multi-user.target

Then force the reload of the systemd configuration

// Some code