docs(gpu-sharing): document NvFractions configuration - #2052
Conversation
1dcaec1 to
3c3c165
Compare
3c3c165 to
9afb286
Compare
9afb286 to
67fbb5a
Compare
67fbb5a to
6d8c907
Compare
6d8c907 to
8ddc851
Compare
8ddc851 to
944ef42
Compare
944ef42 to
fd755ce
Compare
fd755ce to
6136719
Compare
6136719 to
fbafc56
Compare
fbafc56 to
71a630e
Compare
| ```bash | ||
| helm upgrade -i kai-scheduler oci://ghcr.io/kai-scheduler/kai-scheduler/kai-scheduler \ | ||
| -n kai-scheduler --create-namespace \ | ||
| --set global.nvFractions.set=true |
There was a problem hiding this comment.
What do you think about global.nvFractions.enabled instead of global.nvFractions.set?
There was a problem hiding this comment.
It's not really enabled, as you can set nvFractions using global.gpuSharingMode. The global.nvFractions.set sets both global.gpuSharingMode: "NvFractions" and installs the gpu-sharing operator subchart.
|
|
||
| KAI can auto-detect CDI and the CDI NRI plugin from the NVIDIA GPU Operator `ClusterPolicy`. When the `ClusterPolicy` indicates that CDI is enabled and selected as the default device injection path, KAI configures its CDI-aware binder plugins automatically. When NRI is enabled, KAI also enables the admission behavior that avoids injecting the legacy GPU-sharing environment variables. | ||
|
|
||
| Use that detection to decide whether fractional GPU pods need a runtime class: |
There was a problem hiding this comment.
How to use that detection? Is it published somewhere?
There was a problem hiding this comment.
It's something the kai operator does automatically.
There was a problem hiding this comment.
Got it. In the doc it sounds like an instruction to the user - "Use that detection to..."
| ```bash | ||
| helm upgrade -i kai-scheduler oci://ghcr.io/kai-scheduler/kai-scheduler/kai-scheduler \ | ||
| -n kai-scheduler --create-namespace \ | ||
| --set admission.gpuFractionRuntimeClassName=null |
There was a problem hiding this comment.
Doesn't it defaults to nvidia in that case?
There was a problem hiding this comment.
No. this is for the case "To suppress runtimeClassName injection on fractional GPU pods"
| helm install kai-resource-isolator oci://docker.io/projecthami/kai-resource-isolator \ | ||
| --namespace kai-resource-isolator --create-namespace \ | ||
| --version 1.0.0-chart |
There was a problem hiding this comment.
The hami/README.md points to a different version, I suggest dropping the installation instruction here and just reference to HAMI's doc.
Another thing - does hami/README.md need updating? (it still points to the deprecated --set global.gpuSharing=true field)
|
|
||
| ### Choose an annotation style | ||
|
|
||
| Use the annotation style that matches the cluster mode selected by your administrator. In `NvFractions` mode, the legacy `gpu-fraction` and `gpu-memory` annotations are still supported for backwards compatibility, but new memory-based workloads should prefer the per-container NvFractions request annotation. |
There was a problem hiding this comment.
Just a personal thought - I think it might be easier to users to always request via KAI's annotations and have KAI convert it to the relevant annotations based on the mode.
But I still understand the incentive to have the users request via the mode's specific annotation (for cross-scheduler compatability for example), so I think the current flow is fine.
It is just not consistent between HAMI and NvFractions mode, where we make the conversion for the first, but declare the conversion for NvFractions as still supported for backwards compatibility, hinting it might be deprecated in the future.
There was a problem hiding this comment.
The way NvFractions annotations are declared allow for something more expresivness (like the container name) in comparison to the old annotations. One day, we might want to upgrade the other annotations as well to a similar format.
af33664 to
64bb72d
Compare
Signed-off-by: davidLif <davidshani12@gmail.com>
Signed-off-by: davidLif <davidshani12@gmail.com>
Co-authored-by: Guy Shaibi <39763067+gshaibi@users.noreply.github.com> Signed-off-by: davidLif <davidshani12@gmail.com>
Signed-off-by: davidLif <davidshani12@gmail.com>
64bb72d to
9b9fd9a
Compare

Description
Final documentation PR in the GPU-sharing migration stack.
Base:
codex/gpu-sharing-oci-chartHead:
codex/gpu-sharing-docs-pr152This updates the GPU-sharing documentation for:
Disabled,NonMemoryEnforced,HamiCore, andNvFractionsgpu-sharingOCI dependency and externally managed operator setupRelated Issues
N/A
Checklist
make changelog(or applied theskip-changeloglabel). Do not editCHANGELOG.mddirectly — pending fragments are folded into it at release time.Breaking Changes
None.
Additional Notes
Validation:
ruby -ryaml -e 'ARGV.each { |f| YAML.load_file(f); puts "ok #{f}" }' docs/gpu-sharing/gpu-memory-mib-annotation.yaml docs/gpu-sharing/nv-fractions-memory.yaml docs/gpu-sharing/nv-fractions-request-limit.yamlgit diff --cached --checkgit diff --check