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
Lab 12: Serve Models from a KitOps ModelKit on HAMiIntermediate

Package a model as a KitOps ModelKit, pull it from Jozu Hub with an initContainer, and serve it locally with SGLang (and optionally vLLM) on HAMi GPU shares.

about 60 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