Windows AMD discovery on unified-memory hosts: identity-only first? #857
Kenneth-Javier
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi @JustVugg — after #788 shipped in v1.5.0, I audited the current Windows AMD
resource-planning path before starting the next Windows HIP contribution.
The deeper HIP execution ABI is already available through the Windows loader,
but
resource_plan.pycurrently cannot discover an AMD device on Windowsbecause
_discover_amd_gpus()relies onrocm-smi, which the Windows HIP SDKdoes not ship.
The Windows SDK does provide
hipInfo.exe, and it can report:totalGlobalMemisIntegratedIt does not report free memory.
There is an important state-model issue: simply returning an AMD GPU with
free_bytes = 0would not be a safe identity-only implementation._auto_tune()currently usesbool(gpus)before the VRAM-budget gate, so adiscovered but unqualified device could still:
COLI_CUDA_PIPE=1bottleneck_classtomixedDRAFTrecommendationI also found that the Windows doctor linkage check currently looks only for
coli_cuda.dll. Once an AMD device becomes visible, a valid HIP installationwith
coli_hip.dllcould therefore be reported as:My proposed first slice is deliberately conservative:
hipInfo.exe.free_bytes = Noneplanning_eligible = falsecoli doctor.coli_hip.dllandcoli_cuda.dll.A later, separately validated slice would define the shared-memory budget
contract and could use the HIP runtime's real free-memory query before enabling
automatic placement on integrated AMD devices.
Would you prefer this identity-only first step, or would you rather have
Windows AMD discovery go directly through a new runtime-backed query that can
return real free bytes?
I have not created a branch or implemented anything yet because this choice
changes the appropriate scope and ownership of the first patch.
All reactions