Build onnxruntime-genai-cuda packages on win-arm64 - #2199
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR extends the build/packaging pipeline to produce onnxruntime-genai CUDA artifacts for Windows ARM64, aligning Windows ARM64 CUDA builds with existing x64 CUDA flows and updating CI to use CUDA 13.1 and a CUDA 13 manylinux image.
Changes:
- Add Windows ARM64 CUDA CMake presets and update ORT NuGet selection/layout handling for Windows ARM64 CUDA builds.
- Extend Azure Pipelines to build/package/validate Win-ARM64 CUDA artifacts (C API, Python, NuGet) and update CUDA version gating from 13.0 → 13.1.
- Update NuGet packaging inputs to include Win-ARM64 CUDA native binaries and add a CUDA 13 manylinux Dockerfile.
Reviewed changes
Copilot reviewed 18 out of 19 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/python/util/dependency_resolver.py | Adjust ORT NuGet package selection for CUDA on Windows ARM. |
| tools/nuget/generate_nuspec_for_custom_nuget.py | Allow CUDA binaries to be included in custom NuGet generation (still filtering PDBs). |
| tools/ci_build/github/linux/docker/manylinux/Dockerfile.manylinux2_28_cuda_13 | Add CUDA 13 manylinux build image definition. |
| nuget/targets/netstandard/Microsoft.ML.OnnxRuntimeGenAI.props | Copy Win-ARM64 CUDA DLL to output when present. |
| cmake/presets/CMakeWinConfigPresets.json | Add Windows ARM64 CUDA configure presets and adjust WinML ARM64 inheritance. |
| cmake/presets/CMakeWinBuildPresets.json | Add Windows ARM64 CUDA build presets. |
| cmake/ortlib.cmake | Use CPU-package layout/package name for Windows ARM64 CUDA ORT and adjust header dir selection accordingly. |
| .pipelines/stages/py-validation-stage.yml | Switch CUDA validation gating from 13.0 → 13.1. |
| .pipelines/stages/py-packaging-stage.yml | Add ort_cuda_version parameter and enable Win-ARM64 CUDA Python packaging. |
| .pipelines/stages/nuget-packaging-stage.yml | Pass enable_win_arm64 into nuget packaging job. |
| .pipelines/stages/jobs/steps/capi-win-step.yml | Add Win-ARM64 CUDA SDK download logic and ORT package selection for CUDA ARM64. |
| .pipelines/stages/jobs/steps/capi-linux-step.yml | Map CUDA 13.x to Dockerfile suffix “13” for image lookup. |
| .pipelines/stages/jobs/py-validation-job.yml | Update CUDA 13 docker image selection to trigger on 13.1. |
| .pipelines/stages/jobs/nuget-validation-job.yml | Update CUDA 13 docker image selection to trigger on 13.1. |
| .pipelines/stages/jobs/nuget-packaging-job.yml | Validate presence of CUDA native libraries for enabled RIDs (incl. win-arm64). |
| .pipelines/stages/jobs/custom-nuget-packaging-job.yml | Download Win-ARM64 CUDA C API artifacts for custom NuGet packaging. |
| .pipelines/stages/capi-packaging-stage.yml | Enable Win-ARM64 CUDA C API packaging and propagate cuda_version. |
| .pipelines/pypl-publishing.yml | Introduce ort_cuda_version pipeline parameter and pass it through. |
| .pipelines/nuget-publishing.yml | Update allowed CUDA versions list to include 13.1 (drop 13.0). |
baijumeswani
force-pushed
the
baijumeswani/windows-arm64-cuda
branch
from
June 12, 2026 21:40
5f52af7 to
71a4714
Compare
kunal-vaishnavi
previously approved these changes
Jun 12, 2026
Contributor
|
/azp run Integration Tests |
|
Azure Pipelines successfully started running 1 pipeline(s). |
…into baijumeswani/windows-arm64-cuda
kunal-vaishnavi
previously approved these changes
Jun 16, 2026
kunal-vaishnavi
approved these changes
Jun 16, 2026
kunal-vaishnavi
enabled auto-merge (squash)
June 16, 2026 22:10
baijumeswani
disabled auto-merge
June 17, 2026 05:20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.