Skip to main content

Tutorials

Hands-on tutorials for learning HAMi by doing. Each lab is a step-by-step exercise with real, captured outputs: you build a cluster, install HAMi, and verify GPU partitioning behavior yourself.

Concepts​

Background knowledge that the labs build on.

Labs​

Lab 1: Online Installation of HAMiBeginner

Build a GPU Kubernetes cluster from scratch on a cloud VM and install HAMi.

about 60 minutes
Lab 2: Local Fake GPU SetupBeginner

Learn the HAMi control plane on a laptop, no GPU required.

about 30 minutes
Lab 3: GPU Partitioning with HAMiIntermediate

Run multiple Pods on one GPU with enforced VRAM and compute limits.

about 30 minutes
Lab 4: GPU Slicing with Dynamic Resource AllocationAdvanced

The same outcome through Kubernetes-native Dynamic Resource Allocation (experimental).

about 45 minutes
Lab 5: Fake-GPU Scheduling with nvml-mockIntermediate

Simulate 8 A100 GPUs with HAMi scheduling features, no real GPU needed.

about 40 minutes
Lab 6: Run vLLM on HAMi GPU SharesIntermediate

Install HAMi on a GPU cluster and schedule vLLM inference services with GPU partitioning.

about 45 minutes
Lab 7: GPU Isolation on k3s Without the GPU OperatorIntermediate

Share one non-MIG GPU between Pods on single-node k3s and prove HAMi-core enforces the memory cap.

about 45 minutes
Lab 8: Volcano vGPU with Gang Scheduling and QueuesAdvanced

Share one GPU with Volcano vGPU, then verify Gang scheduling and queue-level vGPU limits.

about 60 minutes
Lab 9: Queue HAMi vGPU Workloads with KueueAdvanced

Enforce vGPU count, memory, and compute quotas for HAMi workloads before Pods reach the scheduler.

about 60 minutes
Lab 10: GPU Topology-Aware Scheduling on Fake GPUsIntermediate

Simulate an asymmetric PCIe topology and verify HAMi's topology-aware scheduler avoids a poorly-connected GPU for multi-GPU requests and picks it for single-GPU requests, no real GPU required.

about 45 minutes
Each lab lists its own prerequisites. Labs 3 and 4 continue from the cluster Lab 1 builds, so a single session covers all three; Lab 2 runs on any laptop with no GPU required. Lab 7 brings up its own single-node k3s cluster on a rented GPU VM, without the GPU Operator. Lab 8 requires an existing Volcano GPU cluster and validates Volcano vGPU, Gang scheduling, and queue-level limits. Lab 9 uses Kueue admission control to enforce HAMi vGPU count, memory, and compute quotas.

CNCFHAMi is a CNCF Incubating project