Development System

The table below lists the system requirements for UCF Tools for development:

Platform

x86_64

OS

Ubuntu 22.04

GPU

CUDA-capable GPU, iGPU 1,2

Helm

3.11

1 (Alpha) With remote access only

2 (Alpha) Need Vulkan support (Intel Iris Graphics 540 or later)

These instructions require having Ubuntu Server LTS 22.04 on your system.

Install the Ubuntu Operating System

The Ubuntu Server can be downloaded from http://cdimage.ubuntu.com/releases/22.04/release/.

For more information on installing Ubuntu server refer to the Ubuntu Server Installation Guide.

Install CUDA Drivers

CUDA installation instructions are available from https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_local.

Once the NVIDIA Drivers installed, please reboot the system and run the below command to validate NVIDIA drivers are loaded:

nvidia-smi

Expected Output:

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.104.05             Driver Version: 535.104.05   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4090        On  | 00000000:65:00.0 Off |                  Off |
|  0%   30C    P8               5W / 450W |    133MiB / 24564MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1119      G   /usr/lib/xorg/Xorg                          107MiB |
|    0   N/A  N/A      1239      G   /usr/bin/gnome-shell                         13MiB |
+---------------------------------------------------------------------------------------+

Install Docker CE

  1. Set up the repository and update the apt package index:

$ sudo apt-get update
  1. Install packages to allow apt to use a repository over HTTPS:

$ sudo apt-get install -y \
   apt-transport-https \
   ca-certificates \
   curl \
   gnupg-agent \
   software-properties-common
  1. Add Docker’s official GPG key:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. Verify that you now have the key with the fingerprint 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 by searching for the last 8 characters of the fingerprint:

$ sudo apt-key fingerprint 0EBFCD88

 pub   rsa4096 2017-02-22 [SCEA]
 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]
  1. Use the following command to set up the stable repository:

$ sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"
  1. Install Docker Engine - Community Update the apt package index:

$ sudo apt-get update
  1. Install Docker Engine:

$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io
  1. Verify that Docker Engine - Community is installed correctly by running the hello-world image:

$ sudo docker run hello-world

More information on how to install Docker can be found at https://docs.docker.com/install/linux/docker-ce/ubuntu/.

Install NVIDIA Container Toolkit

  1. Setup the package repository:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
     && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
     && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
           sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
           sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
  1. Update the package index:

sudo apt update
  1. Install NVIDIA Container Toolkit:

sudo apt-get install -y nvidia-docker2
  1. Update the Docker Default Runtime.

  2. Edit the docker daemon configuration to add the following line and save the file:

"default-runtime" : "nvidia"

Example:

$ sudo nano /etc/docker/daemon.json

{
  "runtimes": {
       "nvidia": {
           "path": "nvidia-container-runtime",
          "runtimeArgs": []
       }
  },
  "default-runtime" : "nvidia"
}
  1. Now execute the below commands to restart the docker daemon:

sudo systemctl daemon-reload && sudo systemctl restart docker
  1. Validate docker default runtime.

  2. Execute the below command to validate docker default runtime as NVIDIA:

$ sudo docker info | grep -i runtime

Output:

Runtimes: nvidia runc
Default Runtime: nvidia

Install Helm

Execute the following command to download and install Helm 3.11.0:

wget https://get.helm.sh/helm-v3.11.0-linux-amd64.tar.gz && \
tar -zxvf helm-v3.11.0-linux-amd64.tar.gz && \
sudo mv linux-amd64/helm /usr/local/bin/helm && \
rm -rf helm-v3.11.0-linux-amd64.tar.gz linux-amd64/

Refer to the Helm 3.11.0 release notes and the Installing Helm guide for more information.