Skip to main content

Concepts — GPU

Architecture​

Hikube attaches physical NVIDIA GPUs to virtual machines and to the nodes of Kubernetes clusters. On the VM side, the GPU is assigned through PCI passthrough. On the Kubernetes side, the node receives the GPU the same way, then the NVIDIA GPU Operator exposes it to pods.


Terminology​

TermDescription
Hardware Acceleration (GPU)Section of the VM wizard where you choose the instance's GPUs.
Node groupSet of worker nodes of a Kubernetes cluster sharing an instance type and, where applicable, GPUs.
PCI passthroughAssignment of a physical GPU directly to a VM or a node, with native performance.
GPU OperatorNVIDIA Kubernetes addon that installs the drivers, the device plugin and the GPU runtime on the nodes. Enabled automatically as soon as a node group has GPUs.
Device pluginComponent that exposes GPUs to pods as the schedulable resource nvidia.com/gpu.
HAMiGPU virtualization addon: shares the same GPU between several pods. Requires the GPU Operator.
CUDANVIDIA parallel computing platform, used for acceleration (ML, HPC, rendering).

Models and availability​

ModelMemory
NVIDIA L40S48 GB
NVIDIA A100 80GB80 GB
NVIDIA H100 80GB80 GB
NVIDIA RTX 6000 Pro96 GB

The GPU selector shows all the platform's models. A model with no free unit is marked Unavailable and cannot be selected. Availability is global: the console does not show the number of free units.

Co-location

A VM, like a Kubernetes node, runs on a single physical server. When you request several GPUs for the same VM (or for each node of a group), they must all be available on the same server. Otherwise, creation fails with the message The following GPUs are not available: …, even if each model appears available.


GPU on a virtual machine​

  • Selected at the Configuration step of the wizard, under Hardware Acceleration (GPU): click a card to add a GPU, then use + and − to change the count. The badge shows the total (for example 2 GPUs total).
  • The section only appears if the platform offers GPUs.
  • GPUs can be changed afterwards in Edit > Resources (CPU / RAM); the VM restarts.
  • Stopping a VM (Stop) releases its GPUs. On restart, if they have been assigned elsewhere, the console offers to Select an alternative GPU.
  • The NVIDIA drivers are not preinstalled in the images.
CPU/GPU ratio

Plan for 8 to 16 vCPUs per GPU. For one GPU, a u1.2xlarge (8 vCPU, 32 GB) is a good starting point.


GPU on Kubernetes​

  • Selected at the Nodes step of the cluster wizard, GPU section of each node group. Each node in the group receives the selected GPUs.
  • As soon as a group has GPUs, the GPU Operator addon is enabled and can no longer be disabled (Required when a node group has GPUs).
  • Pods request a GPU through resources.limits (nvidia.com/gpu: 1).
  • A group created without GPUs cannot receive any; a group created with GPUs can change model or count but must keep at least one GPU. To change category, add a new node group.

VM and Kubernetes comparison​

CriterionGPU on VMGPU on Kubernetes
AccessGPU dedicated to the VMGPU assigned to pods by the scheduler
DriversInstalled by you in the OSInstalled by the GPU Operator
Multi-GPUSeveral GPUs in the VMSeveral GPUs per node, resources.limits per pod
SharingNoYes, with HAMi
Use casesWorkstations, interactive environmentsML pipelines, large-scale inference

Further reading​