Skip to content

Fix direct NVML compatibility and optional metadata handling - #116

Merged
Qubitium merged 3 commits into
mainfrom
polly/fix-direct-nvml
Aug 23, 2026
Merged

Fix direct NVML compatibility and optional metadata handling#116
Qubitium merged 3 commits into
mainfrom
polly/fix-direct-nvml

Conversation

@Qubitium

Copy link
Copy Markdown
Collaborator

Summary

  • route absent direct NVML symbols through controlled errors and select PCI info v3, v2, then legacy with ABI-correct ctypes layouts
  • restrict PCI compatibility fallback to NVML NOT_SUPPORTED/FUNCTION_NOT_FOUND responses
  • route GPU and MIG identifiers correctly, normalize CUDA visibility entries, and reject malformed interior empty entries
  • preserve usable NVML device data when optional VBIOS, compute-capability, or PCIe metadata is unavailable
  • make NVML shutdown safe and idempotent

Verification

  • focused NVML tests: 32 passed
  • full suite: 52 collected, 48 passed, 4 skipped
  • Ruff checks: passed
  • isort --check-only: passed
  • git diff --check: passed
  • sdist build: passed
  • twine check: passed

Environment limitations

The four full-suite skips are GPU integration tests because this runner has no detectable GPU and lacks lspci. The direct NVML behavior is covered with ctypes-based regression tests.

Deferred findings

No unrelated cleanup or additional findings were included; scope is limited to the confirmed direct NVML defects.

@Qubitium
Qubitium merged commit 0f9d06f into main Aug 23, 2026
31 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant