diff --git a/infra/k8s/gitlab/runner-h100x2-values.yaml b/infra/k8s/gitlab/runner-h100x2-values.yaml new file mode 100644 index 000000000..8d8a87f4e --- /dev/null +++ b/infra/k8s/gitlab/runner-h100x2-values.yaml @@ -0,0 +1,69 @@ +# GitLab Runner — 2×H100 GPU training workloads (multi-GPU hyperopt) +# Runs on ci-training-h100x2 pool (2× H100 PCIe: 160GB total VRAM) +# Multi-GPU auto-detected by MultiGpuConfig::detect() in ml crate. + +gitlabUrl: http://gitlab-webservice-default.foxhunt.svc.cluster.local:8181 + +replicas: 1 + +rbac: + create: false +serviceAccount: + create: false + name: gitlab-runner + +nodeSelector: + k8s.scaleway.com/pool-name: gitlab +tolerations: + - key: gitlab + operator: Equal + value: "true" + effect: NoSchedule + +runners: + cloneUrl: http://gitlab-webservice-default.foxhunt.svc.cluster.local:8181 + config: | + [[runners]] + clone_url = "http://gitlab-webservice-default.foxhunt.svc.cluster.local:8181" + tag_list = ["kapsule", "h100x2"] + [runners.kubernetes] + namespace = "foxhunt" + service_account = "gitlab-runner" + image = "rust:1.89-slim" + privileged = false + node_selector_overwrite_allowed = ".*" + cpu_request_overwrite_max_allowed = "16000m" + cpu_limit_overwrite_max_allowed = "16000m" + memory_request_overwrite_max_allowed = "192Gi" + memory_limit_overwrite_max_allowed = "192Gi" + poll_timeout = 600 + runtime_class_name = "nvidia" + pod_annotations_overwrite_allowed = ".*" + cpu_request = "4000m" + cpu_limit = "8000m" + memory_request = "8Gi" + memory_limit = "16Gi" + helper_cpu_request = "100m" + helper_cpu_limit = "500m" + helper_memory_request = "128Mi" + helper_memory_limit = "512Mi" + image_pull_secrets = ["scw-registry", "gitlab-registry"] + [runners.kubernetes.node_selector] + "k8s.scaleway.com/pool-name" = "ci-training-h100x2" + [runners.kubernetes.node_tolerations] + "nvidia.com/gpu" = "NoSchedule" + "node.cilium.io/agent-not-ready" = "NoSchedule" + [runners.kubernetes.pod_labels] + "app.kubernetes.io/part-of" = "foxhunt-ci" + [[runners.kubernetes.volumes.pvc]] + name = "training-data-h100x2-pvc" + mount_path = "/mnt/training-data" + read_only = true + [[runners.kubernetes.volumes.pvc]] + name = "sccache-h100x2-pvc" + mount_path = "/mnt/sccache" + read_only = false + + tags: "kapsule,h100x2" + +concurrent: 2