-
Notifications
You must be signed in to change notification settings - Fork 251
Expand file tree
/
Copy pathconstants.go
More file actions
105 lines (88 loc) · 4.29 KB
/
Copy pathconstants.go
File metadata and controls
105 lines (88 loc) · 4.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
// Copyright 2025 NVIDIA CORPORATION
// SPDX-License-Identifier: Apache-2.0
package constants
import "time"
const (
AppLabelName = "app"
NvidiaGpuResource = "nvidia.com/gpu"
NvidiaGpuMemory = "nvidia.com/gpu.memory"
NvidiaMigResourcePrefix = "nvidia.com/mig-"
GpuResource = "gpu"
UnlimitedResourceQuantity = float64(-1)
DefaultQueuePriority = 100
DefaultPodGroupPriority = 50 // Default when no global default priority exists
DefaultNodePoolName = "default"
DefaultMetricsNamespace = "kai"
DefaultQueueLabel = "kai.scheduler/queue"
DefaultSchedulerName = "kai-scheduler"
DefaultKAINamespace = "kai-scheduler"
DefaultResourceReservationName = "kai-resource-reservation"
GPUReservationPodPrefix = "gpu-reservation"
DefaultScaleAdjustName = "kai-scale-adjust"
DefaultKAIConfigSingeltonInstanceName = "kai-config"
DefaultNodePoolLabelKey = "kai.scheduler/node-pool"
DefaultRuntimeClassName = "nvidia"
DefaultStuckInReleasingThreshold = 2 * time.Minute
ActionDefault = "default"
ActionReclaim = "reclaim"
ActionPreempt = "preempt"
ActionConsolidation = "consolidation"
GeneratorNodeLocalGreedy = "NodeLocalGreedy"
GeneratorMultiNodeGang = "MultiNodeGang"
DefaultActionBudget = "5m"
DefaultJobBudget = "4m"
DefaultMinJobBudget = "0s"
DefaultGeneratorBudget = "2m"
DefaultNodeLocalGreedy = "30s"
DefaultMultiNodeGang = "2m"
DefaultCPUWorkerNodeLabelKey = "node-role.kubernetes.io/cpu-worker"
DefaultGPUWorkerNodeLabelKey = "node-role.kubernetes.io/gpu-worker"
DefaultMIGWorkerNodeLabelKey = "node-role.kubernetes.io/mig-enabled"
// Pod Groups
PodGrouperWarning = "PodGrouperWarning"
TopOwnerMetadataKey = "kai.scheduler/top-owner-metadata"
// Annotations
PodGroupAnnotationForPod = "pod-group-name"
SkipPodGrouperAnnotation = "kai.scheduler/skip-podgrouper"
GpuFraction = "gpu-fraction"
GpuFractionContainerName = "gpu-fraction-container-name"
GpuComputeSharingMode = "kai.scheduler/gpu-compute-sharing-mode"
GpuMemory = "gpu-memory"
ReceivedResourceType = "received-resource-type"
GpuFractionsNumDevices = "gpu-fraction-num-devices"
MpsAnnotation = "mps"
StalePodgroupTimeStamp = "kai.scheduler/stale-podgroup-timestamp"
LastStartTimeStamp = "kai.scheduler/last-start-timestamp"
LastEvictionTimeStamp = "kai.scheduler/last-eviction-timestamp"
GpuSharingConfigMapAnnotation = "runai/shared-gpu-configmap"
NvidiaVisibleDevices = "NVIDIA_VISIBLE_DEVICES"
NumaPlacementPredicted = "kai.scheduler/numa-placement-predicted"
NumaPlacementObserved = "kai.scheduler/numa-placement-observed"
// UsageDB Prometheus Selector
DefaultAccountingLabelKey = "kai.scheduler/accounting"
DefaultAccountingLabelValue = "true"
// Labels
GPUGroup = "runai-gpu-group"
MultiGpuGroupLabelPrefix = GPUGroup + "/"
MigStrategyLabel = "nvidia.com/mig.strategy"
GpuCountLabel = "nvidia.com/gpu.count"
SubGroupLabelKey = "kai.scheduler/subgroup-name"
NvFractionsAnnotationPrefix = "nvidia.com/container."
NvFractionsMemoryRequestSuffix = ".gpu-memory.request"
NvFractionsMemoryLimitSuffix = ".gpu-memory.limit"
NvFractionsVisibleDevicesSuffix = ".gpus.devices"
KaiFractionContainerAnnotationPrefix = "kai.scheduler/container."
GpuMemoryPortionLimitSuffix = ".gpu-memory.portion.limit"
// gpu-sharing operator statuses
NvFractionNodeReadyConditionType = "gpu-sharing.nvidia.com/Ready"
)
// QueueValidatedVersions returns the list of queue versions that we validate with a webhook. This will be used by the
// kai operator when installing webhooks. When changing this, test for backwards compatibility.
func QueueValidatedVersions() []string {
return []string{"v2"}
}
// PodGroupValidatedVersions returns the list of podgroup versions that we validate with a webhook.
// This will be used by the kai operator when installing webhooks. When changing this, test for backwards compatibility.
func PodGroupValidatedVersions() []string {
return []string{"v2alpha2"}
}