-
Notifications
You must be signed in to change notification settings - Fork 140
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve Windows ARM64 building & packaging (#687)
A major overhaul of the NuGet packaging pipeline, including: * Restructure capi & NuGet packaging pipeline to make multi-platform nupkg possible. The NuGet artifacts are separated by EP(CPU, Cuda and DirectML). A single nupkg contains native libraries for different os & arch. * Make win-arm64 CPU packages use DLLs from NuGet package, just like win-x64. * Enable win-arm64 DirectML NuGet build & packaging (Internal work item: https://task.ms/aii/40037) * Enable linux-x64 CPU & CUDA NuGet build & packaging (Internal work item: https://task.ms/aii/34234) * Continue the work of #683 to make it work with ARM64. Run: https://dev.azure.com/aiinfra/ONNX%20Runtime/_build/results?buildId=507547&view=results Prior work: #498 Supports: #637 Future work: Needs #693 to fix Linux NuGet. --------- Co-authored-by: Baiju Meswani <[email protected]> Co-authored-by: kunal-vaishnavi <[email protected]>
- Loading branch information
1 parent
7f5a858
commit 1f96323
Showing
26 changed files
with
833 additions
and
446 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
parameters: | ||
- name: enable_win_cpu | ||
type: boolean | ||
- name: enable_win_cuda | ||
type: boolean | ||
- name: enable_win_dml | ||
type: boolean | ||
- name: enable_win_arm64 | ||
type: boolean | ||
- name: enable_linux_cpu | ||
type: boolean | ||
- name: enable_linux_cuda | ||
type: boolean | ||
- name: ort_version | ||
type: string | ||
- name: ort_cuda_version | ||
type: string | ||
- name: ort_dml_version | ||
type: string | ||
- name: cuda_version | ||
type: string | ||
default: '' | ||
- name: build_config | ||
type: string | ||
default: 'release' | ||
|
||
|
||
stages: | ||
- stage: capi_packaging | ||
jobs: | ||
- ${{ if eq(parameters.enable_win_cpu, true) }}: | ||
- template: jobs/capi-packaging-job.yml | ||
parameters: | ||
arch: 'x64' | ||
ep: 'cpu' | ||
ort_version: ${{ parameters.ort_version }} | ||
os: 'win' | ||
build_config: ${{ parameters.build_config }} | ||
|
||
- ${{ if eq(parameters.enable_win_arm64, true) }}: | ||
- template: jobs/capi-packaging-job.yml | ||
parameters: | ||
arch: 'arm64' | ||
ep: 'cpu' | ||
ort_version: ${{ parameters.ort_version }} | ||
os: 'win' | ||
build_config: ${{ parameters.build_config }} | ||
|
||
- ${{ if eq(parameters.enable_win_dml, true) }}: | ||
- template: jobs/capi-packaging-job.yml | ||
parameters: | ||
arch: 'x64' | ||
ep: 'directml' | ||
ort_version: ${{ parameters.ort_dml_version }} | ||
os: 'win' | ||
build_config: ${{ parameters.build_config }} | ||
|
||
- ${{ if and(eq(parameters.enable_win_arm64, true), eq(parameters.enable_win_dml, true)) }}: | ||
- template: jobs/capi-packaging-job.yml | ||
parameters: | ||
arch: 'arm64' | ||
ep: 'directml' | ||
ort_version: ${{ parameters.ort_dml_version }} | ||
os: 'win' | ||
build_config: ${{ parameters.build_config }} | ||
|
||
- ${{ if eq(parameters.enable_win_cuda, true) }}: | ||
- template: jobs/capi-packaging-job.yml | ||
parameters: | ||
arch: 'x64' | ||
cuda_version: ${{ parameters.cuda_version }} | ||
ep: 'cuda' | ||
ort_version: ${{ parameters.ort_cuda_version }} | ||
os: 'win' | ||
build_config: ${{ parameters.build_config }} | ||
|
||
- ${{ if eq(parameters.enable_linux_cpu, true) }}: | ||
- template: jobs/capi-packaging-job.yml | ||
parameters: | ||
arch: 'x64' | ||
ep: 'cpu' | ||
ort_version: ${{ parameters.ort_version }} | ||
os: 'linux' | ||
build_config: ${{ parameters.build_config }} | ||
|
||
- ${{ if eq(parameters.enable_linux_cuda, true) }}: | ||
- template: jobs/capi-packaging-job.yml | ||
parameters: | ||
arch: 'x64' | ||
cuda_version: ${{ parameters.cuda_version }} | ||
ep: 'cuda' | ||
ort_version: ${{ parameters.ort_cuda_version }} | ||
os: 'linux' | ||
build_config: ${{ parameters.build_config }} |
Oops, something went wrong.