Dynamia ppu-vgpu-device-plugin Chart 0.0.5
Release date: 2026-10-23
| Version | Previous | This release |
|---|---|---|
| Chart | 0.0.4 | 0.0.5 |
| appVersion | 1.0.5 | 1.0.6 |
HAMi Enterprise compatibility
If PPU Device Plugin 1.0.5 already schedules workloads and handles authorization correctly with the existing HAMi Enterprise, upgrading only the plugin to 1.0.6 can retain that Enterprise version. This release does not change the base scheduling or authorization interfaces and does not replace the bundled PPU-HAMi-core. The base scheduling and authorization version requirements in the table below are existing requirements.
If upgrading only the plugin while keeping the existing scheduling policy, explicitly set plugin.topologyScore.enabled: false to preserve the previous behavior in which score reporting was disabled. Chart 0.0.5 enables scoring by default. Score calculation depends on driver interfaces, and a failure blocks device-registration updates in that pass. To use the combined binpack,topology-aware policy, upgrade Enterprise to a version with the relevant fixes and enable scoring.
| Feature or use case | Minimum usable HAMi Enterprise version | Compatibility requirements and upgrade conclusion |
|---|---|---|
| PPU scheduling, memory/compute partitioning, and authorization delivery and renewal with legacy UUID- or model-based licenses | v2.9.0-rc2 | The scheduler must recognize the existing license and publish a valid hami.io/alibaba-license to the node. Deployments meeting these conditions do not need an Enterprise upgrade solely for this plugin update. |
Instance authorization using the deviceInstances format | v2.10.0-r0 | If the authorization worked with plugin 1.0.5, it remains usable after upgrading only the plugin to 1.0.6; neither Enterprise nor the authorization must be changed. v2.10.0-r0 is the existing compatibility requirement for this format; this release does not raise the version floor. |
PPU topology selection with the combined binpack,topology-aware policy | A version later than v2.10.0-r4 that includes the relevant fixes | The compatible scheduler must include PPU combined-policy recognition and the all-zero-score selection fix. Deployments on v2.10.0-r4 must upgrade to a later version containing both fixes before enabling this policy. This does not require a general upgrade for base scheduling. |
The version floors stated above are based on checks of released artifacts and interface implementations; they do not mean that this release was tested on physical PPU hardware with every compatible version.
Changes
Chart changes
- Adds
plugin.topologyScore.enabled, defaulting totrue. After upgrading, the plugin reports node topology scores by default. Set it tofalseto disable reporting. This switch does not change the workload scheduling policy.
Application changes
- Fixes missing, invalid, or incomplete topology scores so they can be regenerated. The plugin checks the node score and regenerates it as needed even when the device list has not changed.
- Fixes a local-cache issue that could cause subsequent registration to be skipped after score calculation or node-annotation writes failed. The plugin retries device registration and score reporting based on actual node state.
- Removes stale scores automatically when scoring is disabled or the node no longer has registrable devices, preventing the scheduler from reading outdated information.
Upgrade guidance
- Upgrade the Chart from
0.0.4to0.0.5, retaining existing resource names, node selection, and device-split configuration. The plugin and monitor shareimage.repositoryandimage.tag; whenimage.tagis empty, both useghcr.io/dynamia-ai/ppu-device-plugin:v1.0.6. If the previous configuration pinsv1.0.5, update it tov1.0.6or clear it to receive the application fixes. Prepare the correspondingv1.0.6image first when using a private registry. - Decide before upgrading whether to enable topology scoring. Keeping the default enables reporting; explicitly set
plugin.topologyScore.enabled: falsein upgrade values if you do not intend to use it yet. After upgrading, check plugin and monitor DaemonSet rollouts and confirm the new Pods' actual images and the plugin'sENABLE_TOPOLOGY_SCOREvalue. - When scoring is enabled, verify that
hami.io/node-alibaba-scoreon each node contains the current PPU UUIDs and inter-card scores. If the driver API causes score calculation to fail, device registration and score updates for that pass are not committed. Check plugin logs and driver interfaces; disable scoring if necessary to restore a registration flow that does not depend on scores. - Before using topology-aware scheduling, confirm that HAMi Enterprise meets the combined-policy requirements in the compatibility table, then set
hami.io/gpu-scheduler-policy: binpack,topology-awareon workloads. Validate the new scheduling result with a multi-card workload that requests fewer cards than the number available. An all-zero score or equal scores for all combinations does not demonstrate topology preference or improved performance. - The PPU-HAMi-core bundled with this release is unchanged from the previous release. No runtime-format migration or shared-state cleanup is required. The topology-scoring fixes do not require a universal recreation of existing workloads; topology-aware policy takes effect for new or rescheduled workloads.
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 0.0.5 release package and are preserved as published. Use this version's values.yaml as the source of default configuration.
Expand values table
| Key | Type | Default | Description |
|---|---|---|---|
| commonAnnotations | object | {} | |
| commonLabels | object | {} | |
| config.create | bool | true | |
| config.data.alibaba.defaultCores | int | 0 | |
| config.data.alibaba.defaultGPUNum | int | 1 | |
| config.data.alibaba.defaultMemory | int | 0 | |
| config.data.alibaba.deviceCoreScaling | float | 1 | |
| config.data.alibaba.deviceMemoryScaling | float | 1 | |
| config.data.alibaba.deviceSplitCount | int | 10 | |
| config.data.alibaba.gpuCorePolicy | string | "default" | |
| config.data.alibaba.memoryFactor | int | 1 | |
| config.data.alibaba.overwriteEnv | bool | false | |
| config.data.alibaba.resourceCoreName | string | "alibaba.com/gpu-core" | |
| config.data.alibaba.resourceCountName | string | "alibaba.com/ppu" | |
| config.data.alibaba.resourceMemoryName | string | "alibaba.com/ppu-memory" | |
| config.data.alibaba.resourceMemoryPercentageName | string | "alibaba.com/ppu-memory-percentage" | |
| config.data.alibaba.runtimeClassName | string | "" | |
| config.existingConfigMapName | string | "" | |
| fullnameOverride | string | "ppu-device-plugin" | |
| image.pullPolicy | string | "IfNotPresent" | |
| image.pullSecrets | list | [] | |
| image.repository | string | "ghcr.io/dynamia-ai/ppu-device-plugin" | |
| image.tag | string | "" | |
| monitor.enabled | bool | true | |
| monitor.resources | object | {} | |
| monitor.service.enabled | bool | true | |
| monitor.service.nodePort | int | 31992 | |
| monitor.service.port | int | 31992 | |
| monitor.service.type | string | "NodePort" | |
| nameOverride | string | "ppu-device-plugin" | |
| namespaceOverride | string | "hami-system" | |
| nodeSelector.alibabappu | string | "on" | |
| plugin.enabled | bool | true | |
| plugin.resources.limits.cpu | string | "500m" | |
| plugin.resources.limits.memory | string | "512Mi" | |
| plugin.resources.requests.cpu | string | "100m" | |
| plugin.resources.requests.memory | string | "128Mi" | |
| plugin.topologyScore.enabled | bool | true | |
| priorityClassName | string | "system-node-critical" | |
| tolerations[0].key | string | "CriticalAddonsOnly" | |
| tolerations[0].operator | string | "Exists" | |
| tolerations[1].effect | string | "NoSchedule" | |
| tolerations[1].operator | string | "Exists" |