Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow overriding platform for dependencies #417

Open
stemann opened this issue Feb 18, 2025 · 2 comments
Open

Allow overriding platform for dependencies #417

stemann opened this issue Feb 18, 2025 · 2 comments

Comments

@stemann
Copy link
Contributor

stemann commented Feb 18, 2025

There is an issue with building CUDA recipes like ONNXRuntime_CUDA, (e.g., JuliaPackaging/Yggdrasil#10420), with CUDNN and/or TensorRT dependencies: The issue is that CUDNN and TensorRT artifacts are only available for a single CUDA 11-minor version (CUDA 11.0), and a single CUDA 12-minor version (CUDA 12.0), so when building for e.g. CUDA 11.8, or 12.6, there are no artifacts for the platform being built.

When the end user installs e.g. ONNXRuntime_CUDA, the CUDA platform augmentation block allows the install of CUDNN 12.0 with ONNXRuntime_CUDA for CUDA 12.6.

The reason there are only CUDA 11.0 and CUDA 12.0 artifacts for CUDNN and TensorRT is that the CUDNN and TensorRT artifacts are just copies of a single set of CUDA 11/12 binary releases from nvidia.

Similar issue for the Torch recipe.

Previously discussed in relation to ONNXRuntime: JuliaPackaging/Yggdrasil#7561 (comment)

@stemann
Copy link
Contributor Author

stemann commented Feb 18, 2025

@giordano Would it be an acceptable solution to add the possibility of providing a kwarg to dependencies (Dependency/BuildDependency/HostBuildDependency) to override the platform used in the build, i.e. to use CUDA 12.0 for the platform even though the requested platform is some other CUDA 12 platform? I.e. to override the platform passed to BinaryBuilderBase.setup_dependencies:

@stemann
Copy link
Contributor Author

stemann commented Feb 20, 2025

This may also be useful in relation to efforts such as JuliaPackaging/Yggdrasil#10223, which could allow installing an x86_64 CUDA SDK dependency, even though the target platform is aarch64.

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

No branches or pull requests

1 participant