HAMi Enterprise 2.9.0-rc0
HAMi Enterprise v2.9.0-rc0 adds AMD memory and compute-share requests, an Ascend soft-partition scheduling interface, and Biren device support. It also changes monitoring metric names, the device-configuration structure, and traffic routing for scheduler leader and follower instances. Existing deployments should carefully review monitoring rules, custom device configuration, and companion device plugins.
Version information
| Item | Value |
|---|---|
| Enterprise release | HAMi Enterprise v2.9.0-rc0 |
| Release date | 2026-05-15 |
| Enterprise upgrade baseline | v2.8.0-rc1 |
| Open-source baseline | HAMi v2.9.0 |
| Helm Chart | hami, version 2.9.0-rc0 |
Chart appVersion | 2.9.0-rc0 |
| Default Enterprise component image tag | v2.9.0-rc0 |
Software changes
Changes compared with Enterprise v2.8.0-rc1
- Device scheduling: AMD switches from recognizing full cards based on node capacity to reading device-plugin registration information and adds memory- and compute-share requests. Ascend adds scheduling and runtime configuration interfaces for soft partitioning. Biren adds scheduling support for full-card and die modes, plus UUID selection. Each device type requires a separately deployed matching device plugin; the main Chart does not include these plugins.
- Monitoring interfaces: Common scheduler and vGPU monitor metrics now use the
hami_prefix, and label names are updated. A compatibility switch for old metrics is added and disabled by default; it does not cover the three memory-detail metrics. See “Monitoring rule migration” for the complete mapping. - GPU memory auto-expansion: This existing feature now has an explicit enablement condition. It processes expansion feedback only when
CUDA_MEMORY_AUTO_ADJUST: "true"is declared directly on a workload container. - Scheduler leader/follower routing: Readiness probes can now succeed on both leader and follower instances. The Service selects the leader using
hami.io/scheduler-role: leader. Existing leader election remains available, but readiness no longer indicates that an instance is the leader. - Allocation and recovery: Fixes index preservation in multi-container device annotations, CDI file updates after MIG reconfiguration, and some state handling for terminating Pods and device-registration recovery. Also fixes scoring for percentage-based memory requests and handling of zero capacity.
Enterprise extensions compared with open-source HAMi v2.9.0
| Capability | Enterprise behavior and requirements |
|---|---|
| Enterprise license management | Continues to manage licenses by device instance or device-model count and expose expiration status. Confirm license support for each device backend against the delivery plan. |
| NVIDIA container allocation and memory auto-expansion | Continues to pass device, memory, and compute allocations to containers through the Downward API and to process memory-expansion requests and allocation updates. Expansion requires a compatible Enterprise runtime, is limited by allocatable memory recorded by the scheduler, and applies only to regular workload containers. |
| AMD share scheduling | Extends the open-source baseline's full-card handling with registered-device information, memory and compute requests, model filtering, and allocation-information coordination. Requires the updated device-registration protocol. |
| Alibaba PPU scheduling integration | Continues PPU resource requests, device selection, and namespace quota checks. Requires a separate companion PPU plugin and runtime. See “AMD and PPU integration” for the limitations of the default Chart resource mapping in this release. |
| AWS Neuron resource accounting | Continues Enterprise accounting semantics for core counts and memory shares, which differ from the open-source baseline. When migrating from open source, verify existing quotas, resource statistics, and device-type mappings. |
Except for AMD share scheduling, the capabilities above were already provided in earlier Enterprise releases. The NVIDIA Downward API allocation path also already existed; useDownward and postNvidiaSmi remain enabled in the default device configuration.
Upstream changes included in this release
The following are the major upstream changes included in this release. Follow this page's upgrade notes for configuration and Enterprise usage boundaries.
| Change | Impact on usage and integration | Upstream PR |
|---|---|---|
| Biren device scheduling | Adds scheduling integration for full-card and die modes and UUID selection; requires the vendor device plugin. | #1645 |
| Webhook label filtering | Limits admission processing by namespace and Pod labels while retaining existing exclusion conditions. | #1653 |
| Monitoring metric normalization | Renames metrics and labels and provides compatibility output for some old metrics. | #1644 |
| Ascend soft partitioning and runtime interface | Adds HAMi-core mode, compute requests, RuntimeClass, and environment-variable handling. Runtime libraries and the device plugin must be provided separately. | #1771, #1804, #1812, #1837, #1738 |
| Preload configuration for a custom library directory | Uses devicePlugin.libPath for preload files instead of continuing to reference a fixed default directory. | #1714 |
| Resource usage by terminating Pods | Retains device-usage records while a Pod is being deleted to avoid releasing resources too early from the scheduler cache. | #1719 |
| Zero-capacity scoring protection | Handles devices or nodes with zero capacity to prevent invalid scores. | #1820 |
| Device-registration recovery | Fixes handshake-time parsing and allows a deleted device to register again after the cooldown period. | #1816, #1843 |
| MIG and CDI integration | Updates and checks CDI files after MIG configuration changes in the applicable allocation path; fixes the A100 80 GB MIG profile. | #1826, #1847 |
Chart changes
- Adds
legacyMetrics, defaulting tofalse. When set totrue, the scheduler and vGPU monitor both append the supported legacy metrics to their output. - Adds
scheduler.admissionWebhook.namespaceSelectorandobjectSelector, supportingmatchLabelsandmatchExpressions. Custom conditions apply together with existing conditions; namespaces or Pods labeledhami.io/webhook: ignoreare still excluded. - A non-empty component-level
image.tagfor the scheduler, NVIDIA Device Plugin, or vGPU monitor takes precedence overglobal.imageTag; an empty component-level tag falls back to the global tag. The settings arescheduler.extender.image.tag,devicePlugin.image.tag, anddevicePlugin.monitor.image.tag. - Consolidates scheduling-configuration templates for older and newer Kubernetes versions. For Kubernetes 1.22 and later, the scheduling ConfigMap name no longer includes
-newversion; Chart-managed mounts are updated accordingly. Update deployments that reference the old ConfigMap name directly. - Sets the NVIDIA Device Plugin DaemonSet to
hostNetwork: false. Configurations that collect monitoring data directly from the host network address must use the monitor Service endpoint instead and review related network policies. Existing Service and ServiceMonitor interfaces remain available. - Adds
devices.ascend.hamiVnpuCore(defaultfalse) anddevices.ascend.runtimeClassName(default empty), and adds Ascend compute-resource and 910C device configuration.devices.ascend.enabledremains disabled by default. scheduler.overwriteEnvis now used to generate NVIDIA device configuration and is also used for the new Ascend configuration. It remains"false"by default. Enabling it affects the device environment variables visible to containers that did not request the corresponding device; check existing environment-variable conventions before enabling it.- Updates the optional
hami-drasubchart from0.1.0to0.2.0.dra.enabledremains disabled by default. Enabling it switches to the DRA deployment path and does not install the existing scheduler extender. DRA driver images have independent version settings and are not determined by the main application tag.
Upgrade notes
Package and companion components
Obtain hami-2.9.0-rc0.tgz, the Enterprise images, and the plugins and runtimes for the devices in use through the agreed delivery channel. The Chart remains named hami. Keep the existing Helm release name and namespace during the upgrade, and merge existing custom values with the new version's configuration.
If component-level image tags were pinned to an older version, changing only global.imageTag will not override them. Update the three component-level tags or clear them to use the global tag.
Monitoring rule migration
Before upgrading, update dashboards, alerts, recording rules, and label filters. During migration, set legacyMetrics: true to emit both new metrics and supported legacy metrics; disable legacy output after migration. Deployments that start binaries directly must separately set --legacy-metrics=true for the scheduler and vGPU monitor.
| Old scheduler metric | New metric |
|---|---|
GPUDeviceMemoryLimit | hami_gpu_memory_limit_bytes |
GPUDeviceCoreLimit | hami_gpu_core_limit_ratio |
GPUDeviceMemoryAllocated | hami_gpu_memory_allocated_bytes |
GPUDeviceSharedNum | hami_gpu_shared_count |
GPUDeviceCoreAllocated | hami_gpu_core_allocated_ratio |
nodeGPUOverview | hami_node_gpu_overview |
nodeGPUMemoryPercentage | hami_node_gpu_memory_allocated_ratio |
nodeGPUMigInstance | hami_node_gpu_mig_instance_info |
vGPUMemoryAllocated | hami_vgpu_memory_allocated_bytes |
vGPUCoreAllocated | hami_vgpu_core_allocated_ratio |
QuotaUsed | hami_resource_quota_used |
| Old monitor metric | New metric | Is the old name retained by the compatibility switch? |
|---|---|---|
HostGPUMemoryUsage | hami_host_gpu_memory_used_bytes | Yes |
HostCoreUtilization | hami_host_gpu_utilization_ratio | Yes |
vGPU_device_memory_usage_in_bytes | hami_vgpu_memory_used_bytes | Yes |
vGPU_device_memory_limit_in_bytes | hami_vgpu_memory_limit_bytes | Yes |
Device_memory_desc_of_container | hami_container_device_memory_bytes | Yes |
Device_utilization_desc_of_container | hami_container_device_utilization_ratio | Yes |
Device_last_kernel_of_container | hami_container_last_kernel_elapsed_seconds | Yes |
MigInfo | hami_mig_device_info | Yes |
vGPU_device_memory_context_size_bytes | hami_vgpu_memory_context_bytes | No |
vGPU_device_memory_module_size_bytes | hami_vgpu_memory_module_bytes | No |
vGPU_device_memory_buffer_size_bytes | hami_vgpu_memory_buffer_bytes | No |
New metrics also use the following label names. Update query filters, grouping, and joins accordingly.
| Old label | New label |
|---|---|
nodeid, nodename | node |
deviceuuid, deviceidx, devicetype | device_uuid, device_index, device_type |
devicecores, sharedcontainers, devicememorylimit | device_cores, shared_containers, device_memory_limit |
podnamespace, quotanamespace | namespace |
podname, ctrname, containeridx | pod, container, container_index |
quotaName, migname | quota_name, mig_name |
vdeviceid, instanceid | vdevice_index, instance_id |
context, module, data in memory descriptions | context_size, module_size, buffer_size |
The compatibility output for GPUDeviceSharedNum also adds the devicetype label. The Enterprise metric vGPULicenseRemains retains its existing name and labels.
Do not change thresholds uniformly based only on the _ratio suffix. hami_host_gpu_utilization_ratio still reports utilization from 0 to 100. Compute-limit and allocation metrics retain the device backend's values; a regular NVIDIA full card uses 100. hami_node_gpu_memory_allocated_ratio is allocated memory divided by total memory. For memory breakdowns, use the separate hami_vgpu_memory_*_bytes metrics instead of numeric labels in the memory-description metric.
GPU memory auto-expansion
For regular workload containers that use this feature, declare the following environment variable directly in the workload template and apply it through a normal rolling update or container recreation:
env:
- name: CUDA_MEMORY_AUTO_ADJUST
value: "true"
This release checks for a directly declared string value in the Pod. Providing the variable indirectly through valueFrom or envFrom does not meet the enablement condition. Expansion is constrained by allocatable memory; it does not expand nodes automatically and does not guarantee that CUDA out-of-memory errors will be eliminated.
Ascend configuration migration and soft-partitioning requirements
Device configuration generated by the Chart adopts the new structure automatically. If you provide files/device-config.yaml in the Chart, move the old vnpus list to vnpus.configs and preserve the existing chip configurations. The custom file replaces the entire default device configuration; entries are not merged individually.
vnpus:
hamiVnpuCore: false
configs: [] # Move the complete chip configurations from the old vnpus list here
Soft partitioning requires the companion Ascend device plugin, runtime, and HAMi-vNPU-core. Set devices.ascend.hamiVnpuCore: true to declare that nodes support this mode by default. The hami-vnpu-core node annotation takes precedence; only the string "true" enables it. Workloads must also set the Pod annotation huawei.com/vnpu-mode: hami-core and request the corresponding huawei.com/<device-type>-core compute resource; for example, a value of 40 means 40%. Nodes using soft partitioning reject some memory requests made in the legacy vNPU mode. In mixed deployments, use node annotations to distinguish modes and avoid switching nodes that still run legacy-mode workloads.
devices.ascend.runtimeClassName is added only when the Pod does not already specify a RuntimeClass. The container must provide bash, the companion runtime libraries, and /hami-vnpu-core/limiter. An existing postStart hook is not automatically combined with the limiter startup command; arrange to start /hami-vnpu-core/limiter in the background from the existing hook. These scheduling settings do not replace installation of the companion device plugin and runtime.
AMD and PPU integration
The AMD plugin must report hami.io/node-amd-register; setting Node capacity alone is no longer sufficient for this release to recognize devices. The memory resource name changes from amd.com/gpu-memory to amd.com/gpumem. Platforms that integrate allocation information must also update the device-type identifier from AMDGPU to amd.
In container resources.limits, amd.com/gpumem is measured in MiB, and amd.com/gpucores: 40 requests 40% of the total compute capacity reported by the device. If memory is omitted or has a non-positive value, the full-card memory is reserved; if compute is also omitted, full-card compute is reserved as well.
To request an AMD compute share, add amd.com/gpucores to Helm values because it is not included in the default list:
devices:
amd:
customresources:
- amd.com/gpu
- amd.com/gpumem
- amd.com/gpucores
The default scheduler managedResources in this Chart does not include the previous PPU mapping, and devices.alibaba.enabled: true does not add those entries. Existing PPU deployments must add and retain alibaba.com/ppu, alibaba.com/ppu-memory, and alibaba.com/gpu-core, with ignoredByScheduler: true for each, under extenders[].managedResources in the Chart or custom scheduler configuration, then replace the existing configuration. Do not overwrite an existing PPU resource mapping with this release's default configuration.
Health-check difference from the open-source baseline
This release does not include open-source HAMi v2.9.0 #1879. For devices such as Ascend that use the shared health check, a registration handshake that remains in Requesting for more than 60 seconds may cause the device cache to be cleared and affect scheduling for new tasks, even if Kubernetes still reports allocatable resources for the device. When diagnosing this, check both device-plugin registration and scheduler device state; Node resource counts alone do not confirm successful registration.
Init-container limitations
This release improves init-container request parsing and allocation-index handling, but GPU admission injection, the Enterprise Downward API path, and monitoring are still incomplete. Workloads with GPU init containers should not be considered fully supported. GPU memory auto-expansion also applies only to regular workload containers.
See the Chart and appVersion mapping or the software center.
Values reference
The following parameter descriptions are taken from the README bundled with the Chart 2.9.0-rc0 release package and are preserved as published. Use this version's values.yaml as the source of default configuration.
Expand values table
Global Configuration
| Parameter | Description | Default Value |
|---|---|---|
global.imageRegistry | Global Docker image registry | "" |
global.imagePullSecrets | Global Docker image pull secrets | [] |
global.imageTag | Image tag | "v2.8.0" |
global.gpuHookPath | GPU Hook path | /usr/local |
global.labels | Global labels | {} |
global.annotations | Global annotations | {} |
global.managedNodeSelectorEnable | Whether to enable managed node selector | false |
global.managedNodeSelector.usage | Managed node selector usage | "gpu" |
nameOverride | Name override | "" |
fullnameOverride | Full name override | "" |
namespaceOverride | Namespace override | "" |
Resource Name Configuration
NVIDIA GPU Resources
| Parameter | Description | Default Value |
|---|---|---|
resourceName | GPU resource name | "nvidia.com/gpu" |
resourceMem | GPU memory resource name | "nvidia.com/gpumem" |
resourceMemPercentage | GPU memory percentage resource name | "nvidia.com/gpumem-percentage" |
resourceCores | GPU core resource name | "nvidia.com/gpucores" |
resourcePriority | GPU priority resource name | "nvidia.com/priority" |
Cambricon MLU Resources
| Parameter | Description | Default Value |
|---|---|---|
mluResourceName | MLU resource name | "cambricon.com/vmlu" |
mluResourceMem | MLU memory resource name | "cambricon.com/mlu.smlu.vmemory" |
mluResourceCores | MLU core resource name | "cambricon.com/mlu.smlu.vcore" |
Hygon DCU Resources
| Parameter | Description | Default Value |
|---|---|---|
dcuResourceName | DCU resource name | "hygon.com/dcunum" |
dcuResourceMem | DCU memory resource name | "hygon.com/dcumem" |
dcuResourceCores | DCU core resource name | "hygon.com/dcucores" |
Metax GPU Resources
| Parameter | Description | Default Value |
|---|---|---|
metaxResourceName | GPU resource name | "metax-tech.com/sgpu" |
metaxResourceCore | GPU core resource name | "metax-tech.com/vcore" |
metaxResourceMem | GPU memory resource name | "metax-tech.com/vmemory" |
metaxsGPUTopologyAware | GPU topology awareness | "false" |
Enflame GCU Resources
| Parameter | Description | Default Value |
|---|---|---|
enflameResourceNameVGCU | vGCU resource name | "enflame.com/vgcu" |
enflameResourceNameVGCUPercentage | vGCU percentage resource name | "enflame.com/vgcu-percentage" |
Kunlunxin XPU Resources
| Parameter | Description | Default Value |
|---|---|---|
kunlunResourceName | XPU resource name | "kunlunxin.com/xpu" |
Scheduler Configuration
| Parameter | Description | Default Value |
|---|---|---|
schedulerName | Scheduler name | "hami-scheduler" |
scheduler.nodeName | Define node name, scheduler will schedule to this node | "" |
scheduler.overwriteEnv | Whether to overwrite environment variables | "false" |
scheduler.defaultSchedulerPolicy.nodeSchedulerPolicy | Node scheduler policy | binpack |
scheduler.defaultSchedulerPolicy.gpuSchedulerPolicy | GPU scheduler policy | spread |
scheduler.metricsBindAddress | Metrics bind address | ":9395" |
scheduler.forceOverwriteDefaultScheduler | Whether to force overwrite default scheduler | true |
scheduler.livenessProbe | Whether to enable liveness probe | false |
scheduler.leaderElect | Whether to enable leader election | true |
scheduler.replicas | Number of replicas | 1 |
Kube Scheduler Configuration
| Parameter | Description | Default Value |
|---|---|---|
scheduler.kubeScheduler.enabled | Whether to run kube-scheduler container in scheduler pod | true |
scheduler.kubeScheduler.image.registry | Kube scheduler image registry | "registry.cn-hangzhou.aliyuncs.com" |
scheduler.kubeScheduler.image.repository | Kube scheduler image repository | "google_containers/kube-scheduler" |
scheduler.kubeScheduler.image.tag | Kube scheduler image tag | "" |
scheduler.kubeScheduler.image.pullPolicy | Kube scheduler image pull policy | IfNotPresent |
scheduler.kubeScheduler.image.pullSecrets | Kube scheduler image pull secrets | [] |
scheduler.kubeScheduler.extraNewArgs | Extra new arguments | ["--config=/config/config.yaml", "-v=4"] |
scheduler.kubeScheduler.extraArgs | Extra arguments | ["--policy-config-file=/config/config.json", "-v=4"] |
Extender Configuration
| Parameter | Description | Default Value |
|---|---|---|
scheduler.extender.image.registry | Scheduler extender image registry | "docker.io" |
scheduler.extender.image.repository | Scheduler extender image repository | "projecthami/hami" |
scheduler.extender.image.tag | Scheduler extender image tag | "" |
scheduler.extender.image.pullPolicy | Scheduler extender image pull policy | IfNotPresent |
scheduler.extender.image.pullSecrets | Scheduler extender image pull secrets | [] |
scheduler.extender.extraArgs | Scheduler extender extra arguments | ["--debug", "-v=4"] |
Admission Webhook Configuration
| Parameter | Description | Default Value |
|---|---|---|
scheduler.admissionWebhook.enabled | Whether to enable admission webhook | true |
scheduler.admissionWebhook.customURL.enabled | Whether to enable custom URL | false |
scheduler.admissionWebhook.customURL.host | Custom URL host | 127.0.0.1 |
scheduler.admissionWebhook.customURL.port | Custom URL port | 31998 |
scheduler.admissionWebhook.customURL.path | Custom URL path | /webhook |
scheduler.admissionWebhook.reinvocationPolicy | Reinvocation policy | Never |
scheduler.admissionWebhook.failurePolicy | Failure policy | Ignore |
TLS Certificate Configuration
| Parameter | Description | Default Value |
|---|---|---|
scheduler.certManager.enabled | Whether to use cert-manager to generate self-signed certificates | false |
scheduler.patch.enabled | Whether to use kube-webhook-certgen to generate self-signed certificates | true |
scheduler.patch.image.registry | Certgen image registry | "docker.io" |
scheduler.patch.image.repository | Certgen image repository | "jettech/kube-webhook-certgen" |
scheduler.patch.image.tag | Certgen image tag | "v1.5.2" |
scheduler.patch.image.pullPolicy | Certgen image pull policy | IfNotPresent |
scheduler.patch.imageNew.registry | New certgen image registry | "docker.io" |
scheduler.patch.imageNew.repository | New certgen image repository | "liangjw/kube-webhook-certgen" |
scheduler.patch.imageNew.tag | New certgen image tag | "v1.1.1" |
Scheduler Service Configuration
| Parameter | Description | Default Value |
|---|---|---|
scheduler.service.type | Service type | NodePort |
scheduler.service.httpPort | HTTP port | 443 |
scheduler.service.schedulerPort | Scheduler NodePort | 31998 |
scheduler.service.monitorPort | Monitor port | 31993 |
scheduler.service.monitorTargetPort | Monitor target port | 9395 |
Device Plugin Configuration
| Parameter | Description | Default Value |
|---|---|---|
devicePlugin.image.registry | Device plugin image registry | "docker.io" |
devicePlugin.image.repository | Device plugin image repository | "projecthami/hami" |
devicePlugin.image.tag | Device plugin image tag | "" |
devicePlugin.image.pullPolicy | Device plugin image pull policy | IfNotPresent |
devicePlugin.image.pullSecrets | Device plugin image pull secrets | [] |
Monitor Configuration
| Parameter | Description | Default Value |
|---|---|---|
devicePlugin.monitor.image.registry | Monitor image registry | "docker.io" |
devicePlugin.monitor.image.repository | Monitor image repository | "projecthami/hami" |
devicePlugin.monitor.image.tag | Monitor image tag | "" |
devicePlugin.monitor.image.pullPolicy | Monitor image pull policy | IfNotPresent |
devicePlugin.monitor.image.pullSecrets | Monitor image pull secrets | [] |
devicePlugin.monitor.ctrPath | Container path | /usr/local/vgpu/containers |
devicePlugin.monitor.extraArgs | Monitor extra arguments | ["-v=4"] |
devicePlugin.monitor.extraEnvs | Monitor extra environments | {} |
Device Plugin Other Configuration
| Parameter | Description | Default Value |
|---|---|---|
devicePlugin.deviceSplitCount | Integer type, default value: 10. Maximum number of tasks assigned to a single GPU device | 10 |
devicePlugin.deviceMemoryScaling | Device memory scaling ratio | 1 |
devicePlugin.deviceCoreScaling | Device core scaling ratio | 1 |
devicePlugin.runtimeClassName | Runtime class name | "" |
devicePlugin.createRuntimeClass | Whether to create runtime class | false |
devicePlugin.migStrategy | String type, "none" means ignore MIG functionality, "mixed" means allocate MIG devices through independent resources | "none" |
devicePlugin.disablecorelimit | String type, "true" means disable core limit, "false" means enable core limit | "false" |
devicePlugin.passDeviceSpecsEnabled | Whether to enable passing device specs | false |
devicePlugin.extraArgs | Device plugin extra arguments | ["-v=4"] |
devicePlugin.nodeConfiguration.config | Node configuration for device plugin by json | An example of default configuration. |
devicePlugin.nodeConfiguration.externalConfigName | Node configuration for device plugin by external congimap | "" |
devicePlugin.extraEnvs | Device plugin extra environments | {} |
Device Plugin Service Configuration
| Parameter | Description | Default Value |
|---|---|---|
devicePlugin.service.type | Service type | NodePort |
devicePlugin.service.httpPort | HTTP port | 31992 |
Device Plugin Deployment Configuration
| Parameter | Description | Default Value |
|---|---|---|
devicePlugin.pluginPath | Plugin path | /var/lib/kubelet/device-plugins |
devicePlugin.libPath | Library path | /usr/local/vgpu |
devicePlugin.nvidiaNodeSelector | NVIDIA node selector | {"gpu": "on"} |
devicePlugin.updateStrategy.type | Update strategy type | RollingUpdate |
devicePlugin.updateStrategy.rollingUpdate.maxUnavailable | Maximum unavailable count | 1 |
Device Configuration
AWS Neuron
| Parameter | Description | Default Value |
|---|---|---|
devices.awsneuron.customresources | Custom resources | ["aws.amazon.com/neuron", "aws.amazon.com/neuroncore"] |
Kunlunxin
| Parameter | Description | Default Value |
|---|---|---|
devices.kunlun.enabled | Whether to enable | true |
devices.kunlun.customresources | Custom resources | ["kunlunxin.com/xpu"] |
Mthreads
| Parameter | Description | Default Value |
|---|---|---|
devices.mthreads.enabled | Whether to enable | true |
devices.mthreads.customresources | Custom resources | ["mthreads.com/vgpu"] |
NVIDIA
| Parameter | Description | Default Value |
|---|---|---|
devices.nvidia.gpuCorePolicy | GPU core policy | default |
devices.nvidia.libCudaLogLevel | CUDA library log level | 1 |
Huawei Ascend
| Parameter | Description | Default Value |
|---|---|---|
devices.ascend.enabled | Whether to enable | false |
devices.ascend.image | Image | "" |
devices.ascend.imagePullPolicy | Image pull policy | IfNotPresent |
devices.ascend.extraArgs | Extra arguments | [] |
devices.ascend.nodeSelector | Node selector | {"ascend": "on"} |
devices.ascend.tolerations | Tolerations | [] |
devices.ascend.customresources | Custom resources | ["huawei.com/Ascend910A", "huawei.com/Ascend910A-memory", ...] |
Iluvatar
| Parameter | Description | Default Value |
|---|---|---|
devices.iluvatar.enabled | Whether to enable | false |
devices.iluvatar.customresources | Custom resources | ["iluvatar.ai/BI-V150-vgpu", "iluvatar.ai/BI-V150.vMem","iluvatar.ai/BI-V150.vCore", ...] |