Add Windows arm64 discovery for cuDLA#2274
Conversation
|
For details, open this workflow run and click Summary. For external contributors: thank you for your interest in improving CUDA Python. The Please close this PR. If your changes also include updates outside If you are an NVIDIA employee and believe this label was applied in error, no action is needed; a maintainer will review and remove the label if appropriate. |
|
I wonder why the path alarm CI would trigger for Nikshay... 🤔 |
Collaborator permission: read is not a trust signal because any github member has read access to this public repo. For Author association we could have:
With authenticated Bottom line: we don't get a lot of false positives, but this is one. Unfortunately I don't have new ideas; we explored a lot already (#2104). |
rwgk
left a comment
There was a problem hiding this comment.
This looks good, but did we ever test real cuDLA API calls through cuda.bindings.cudla on WoA?
The cuda_bindings unit tests import the module and check enums/POD/API surface, but they don't call wrappers that trigger the lazy _init_cudla() path. That's not different from Linux coverage on the available GHA runners here, but we do have internal Orin testing that exercises _init_cudla() against real libcudla.so.
The WoA evidence so far shows that pathfinder can locate cudla.dll, which is useful, but I'd feel much more comfortable merging this PR if we had at least internal evidence that the Windows binding loader path has coverage comparable to the Orin testing.
@isVoid could you maybe work with @nikshayshrivastava on more complete WoA testing.
| # a supported Windows libname, not the other way around. | ||
| site_packages_libnames = set(supported_nvidia_libs.SITE_PACKAGES_LIBDIRS_WINDOWS_CTK.keys()) | ||
| supported_libnames = set(supported_nvidia_libs.SUPPORTED_LIBNAMES_WINDOWS) | ||
| assert site_packages_libnames <= supported_libnames, sorted(site_packages_libnames - supported_libnames) |
There was a problem hiding this comment.
Nit: the explicit assertion message after the comma can be dropped. We already run pytest with --showlocals, so site_packages_libnames and supported_libnames will be shown on failure, and pytest’s set assertion introspection should show the subset mismatch.
Description
Adds Windows (arm64) support for
cuda.bindings.cudla, which waspreviously available only on Linux/aarch64 (Tegra).Changes:
catalog so
load_nvidia_dynamic_lib("cudla")can locatecudla.dlltest_supported_libnames_windows_site_packages_libdirs_ctk_consistencyto a subset check: every site-packages entry must map to a supported Windows
libname, but a supported library may legitimately omit
site_packages_windows(as cuDLA now does).
Checklist