Repository navigation
feat(cuid): temporary CUIDs for every component, conformance vectors, and amd-smi integration - #10818
Conversation
5e0ad98 to
8a9b381
Compare
8a9b381 to
a3ee77b
Compare
There was a problem hiding this comment.
Pull request overview
Establishes CUID as a tested cross-layer format and integrates CUID reporting and seed provisioning into AMD SMI.
Changes:
- Corrects CUID encoding, derivation, endianness, and lookup behavior.
- Adds generated conformance vectors, tests, documentation, and CI validation.
- Adds CMake packaging plus AMD SMI C/Python/CLI integration.
Reviewed changes
Copilot reviewed 55 out of 55 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/cuid-workflow.yml |
Checks vector drift in CI |
projects/cuid/CMakeLists.txt |
Raises minimum CMake version |
projects/cuid/README.md |
Documents corrected CUID format |
projects/cuid/cmake/amdcuid-config.cmake.in |
Defines package configuration |
projects/cuid/docs/conceptual/what_is_cuid.rst |
Expands format documentation |
projects/cuid/lib/CMakeLists.txt |
Exports packaged CMake target |
projects/cuid/lib/include/amd_cuid.h |
Updates enums and key API |
projects/cuid/lib/src/cuid.cc |
Adds key information API |
projects/cuid/lib/src/cuid_cpu.cc |
Uses structured CPU fallback |
projects/cuid/lib/src/cuid_device.cc |
Adds driver-first derived lookup |
projects/cuid/lib/src/cuid_device.h |
Declares staged lookup helpers |
projects/cuid/lib/src/cuid_file.cc |
Rebuilds auxiliary fingerprints |
projects/cuid/lib/src/cuid_gpu.cc |
Corrects GPU DSN and lookup |
projects/cuid/lib/src/cuid_nic.cc |
Corrects NIC identity encoding |
projects/cuid/lib/src/cuid_npu.cc |
Corrects NPU lookup and DSN |
projects/cuid/lib/src/cuid_platform.cc |
Revises Platform CUID generation |
projects/cuid/lib/src/cuid_platform.h |
Exposes system UUID helper |
projects/cuid/lib/src/cuid_util.cc |
Implements framing and auxiliary format |
projects/cuid/lib/src/cuid_util.h |
Defines driver and auxiliary APIs |
projects/cuid/lib/src/hmac.cc |
Adds variable-length keys and fingerprints |
projects/cuid/lib/src/hmac.h |
Defines canonical derivation keys |
projects/cuid/lib/src/pci_util.cc |
Removes obsolete byte swapping |
projects/cuid/lib/src/pci_util.h |
Adds little-endian DSN loader |
projects/cuid/tests/CMakeLists.txt |
Registers vector and driver tests |
projects/cuid/tests/functional/reverse_lookup_test.cc |
Updates reverse-format validation |
projects/cuid/tests/main.cc |
Registers new test suites |
projects/cuid/tests/unit/driver_cuid_test.cc |
Tests driver attribute handling |
projects/cuid/tests/unit/driver_cuid_test.h |
Declares driver reader tests |
projects/cuid/tests/unit/utilities_test.cc |
Tests corrected framing round-trip |
projects/cuid/tests/unit/vectors_test.cc |
Validates conformance vectors |
projects/cuid/tests/unit/vectors_test.h |
Declares conformance tests |
projects/cuid/tests/vectors/cuid_vectors.py |
Generates normative vectors |
projects/cuid/tests/vectors/cuid_vectors.txt |
Stores generated vectors |
projects/amdsmi/include/amd_smi/amdsmi.h |
Adds public CUID APIs |
projects/amdsmi/src/CMakeLists.txt |
Enables packaged CUID dependency |
projects/amdsmi/src/amd_smi/amd_smi.cc |
Implements CUID and seed APIs |
projects/amdsmi/py-interface/__init__.py |
Exports Python CUID functions |
projects/amdsmi/py-interface/amdsmi_interface.py |
Adds high-level Python APIs |
projects/amdsmi/py-interface/amdsmi_wrapper.py |
Adds ctypes CUID bindings |
projects/amdsmi/amdsmi_cli/amdsmi_parser.py |
Adds CUID CLI options |
projects/amdsmi/amdsmi_cli/subcommands/set_value.py |
Adds seed provisioning command |
projects/amdsmi/amdsmi_cli/subcommands/static.py |
Reports static CUID information |
projects/amdsmi/tests/amd_smi_test/unit/gpu/cuid_info_test.cc |
Tests AMD SMI CUID APIs |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
a3ee77b to
90498da
Compare
7d3f38a to
0e447d2
Compare
✅ All Checks Passed — Ready for Review
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🎉 All checks passed! This PR is ready for review. |
6492542 to
053a102
Compare
053a102 to
a68fb27
Compare
a68fb27 to
9b8ca2a
Compare
I've moved cuid to the shared directory as requested. @dysu-amd for awareness since you 're making changes in theRock contingent on this. |
|
@gabrpham thanks for the ping, could you also update cuid's category in this file from |
Move the library to shared/cuid and provide UUIDv8 temporary IDs for whole GPUs, partitions, CPUs, NICs, NPUs and the platform. Validate PCI identity and partition routing, and supply synthetic conformance and lifecycle fixtures. libamdcuid is 2.1.0. Co-authored-by: gabrpham <Gabriel.Pham@amd.com> Co-authored-by: yalmusaf_amdeng <yalmusaf@amd.com> Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
Build CUID in-tree when a suitable installed library is unavailable. Expose component enumeration and GPU identity through C, Python, Rust and the CLI. Include shared dependencies in package and sanitizer CI. Co-authored-by: gabrpham <Gabriel.Pham@amd.com> Co-authored-by: yalmusaf_amdeng <yalmusaf@amd.com> Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
Describe identifier construction, component lookup, installation and the library and amd-smi test commands. Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
|
Override for Multi-Arch CI Summary only, head 4397152: |
TheRock Submodule Bump ActivityNewest first
|
Summary
Add libamdcuid 2.1.0 in
shared/cuid, with temporary UUIDv8 identifiers forwhole GPUs, compute partitions, CPUs, NICs, NPUs and the platform. Identifiers
use world-readable machine and component inputs and agree across callers.
Partition UnitIDs come from
cuid_unit_idor KFD topology.Integrate CUID discovery into amd-smi's C, Python and Rust APIs and into
list,static --cuidandnode --cuid. Build the library in-tree when asuitable installed version is unavailable. Include shared dependencies in
the package, sanitizer and downstream test workflows.
Validation
Followed by #12075 and #12420.