Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,29 @@ parameters:
type: string
default: 2.42.0.251225

# Equals values from common-variables.yml. TODO: Single source of truth.
- name: CudaVersion
displayName: CUDA version
type: string
default: '12.8'
values:
- 12.8
- 13.0
type: object
default:
cuda_12:
major: "12"
minor: "8"
archs: '75-real;86-real;89-real;90-virtual'
trt_version: '10.14.1.48'
win_cuda_home: '$(Agent.TempDirectory)\v12.8'
win_trt_home: '$(Agent.TempDirectory)\TensorRT-10.14.1.48.Windows.win10.cuda-12.9'
linux_trt_version: 10.14.1.48-1.cuda12.9
win_cudnn_home: ''
cuda_13:
major: "13"
minor: "0"
archs: '75-real;80-real;86-real;89-real;90-real;100-real;120-real;120-virtual'
trt_version: '10.14.1.48'
win_cuda_home: '$(Agent.TempDirectory)\v13.0'
win_trt_home: '$(Agent.TempDirectory)\TensorRT-10.14.1.48.Windows.win10.cuda-13.0'
linux_trt_version: 10.14.1.48-1.cuda13.0
win_cudnn_home: '$(Agent.TempDirectory)\9.14.0.64_cuda13'

resources:
repositories:
Expand All @@ -76,29 +92,6 @@ resources:
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release

variables:
- template: templates/common-variables.yml
- name: win_trt_home
${{ if eq(parameters.CudaVersion, '12.8') }}:
value: $(Agent.TempDirectory)\${{ variables.win_trt_folder_cuda12 }}
${{ if eq(parameters.CudaVersion, '13.0') }}:
value: $(Agent.TempDirectory)\${{ variables.win_trt_folder_cuda13 }}
- name: win_cuda_home
${{ if eq(parameters.CudaVersion, '12.8') }}:
value: $(Agent.TempDirectory)\v12.8
${{ if eq(parameters.CudaVersion, '13.0') }}:
value: $(Agent.TempDirectory)\v13.0
- name: win_cudnn_home
${{ if eq(parameters.CudaVersion, '12.8') }}:
value: ''
${{ if eq(parameters.CudaVersion, '13.0') }}:
value: $(Agent.TempDirectory)\9.14.0.64_cuda13
- name: CudaArchs
${{ if eq(parameters.CudaVersion, '12.8') }}:
value: '75-real;86-real;89-real;90-virtual'
${{ if eq(parameters.CudaVersion, '13.0') }}:
value: '75-real;80-real;86-real;89-real;90-real;100-real;120-real;120-virtual'

extends:
# The pipeline extends the 1ES PT which will inject different SDL and compliance tasks.
# For non-production pipelines, use "Unofficial" as defined below.
Expand Down Expand Up @@ -159,14 +152,14 @@ extends:
is1ES: true

- template: stages/java-cuda-packaging-stage.yml
parameters:
CudaVersion: ${{ parameters.CudaVersion }}

- template: stages/nuget-combine-cuda-stage.yml
parameters:
CudaVersion: ${{ parameters.CudaVersion }}
RunOnnxRuntimeTests: ${{ parameters.RunOnnxRuntimeTests }}
UseIncreasedTimeoutForTests: ${{ parameters.UseIncreasedTimeoutForTests }}
win_trt_home: ${{ variables.win_trt_home }}
win_cuda_home: ${{ variables.win_cuda_home }}
DoEsrp: true
IsReleaseBuild: ${{ parameters.IsReleaseBuild }}
buildJava: true
Expand All @@ -175,8 +168,6 @@ extends:
BuildId: ${{ parameters.BuildId }}
PreReleaseVersionSuffixString: ${{ parameters.PreReleaseVersionSuffixString }}
PreReleaseVersionSuffixNumber: ${{ parameters.PreReleaseVersionSuffixNumber }}
CudaArchs: ${{ variables.CudaArchs }}
win_cudnn_home: ${{ variables.win_cudnn_home }}

- template: stages/nodejs-win-packaging-stage.yml
parameters:
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,31 +1,37 @@
parameters:
CudaVersion:
type: object
Comment on lines +2 to +3
Copy link

Copilot AI Jan 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The parameter definition uses an inconsistent indentation style. Line 2 uses 2-space indentation for 'CudaVersion:', but this is inconsistent with standard Azure Pipeline YAML formatting where parameters typically use hyphens. Consider using the standard format with a hyphen prefix: '- name: CudaVersion'.

Suggested change
CudaVersion:
type: object
- name: CudaVersion
type: object

Copilot uses AI. Check for mistakes.


stages:
- stage: Jar_Packaging_GPU
dependsOn:
- Linux_C_API_Packaging_GPU
- Windows_Packaging_CUDA
- Windows_Packaging_TensorRT
jobs:
- job: Jar_Packaging_GPU
workspace:
clean: all
templateContext:
inputs:
- input: pipelineArtifact
artifactName: drop-onnxruntime-java-win-x64-tensorrt
targetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-win-x64'
- ${{ each cuda_version in parameters.CudaVersion }}:
- stage: Jar_Packaging_GPU_${{cuda_version.key}}
dependsOn:
- Linux_C_API_Packaging_GPU_${{cuda_version.key}}
- Windows_Packaging_CUDA_${{cuda_version.key}}
- Windows_Packaging_TensorRT_${{cuda_version.key}}
jobs:
- job: Jar_Packaging_GPU
workspace:
clean: all
templateContext:
inputs:
- input: pipelineArtifact
artifactName: drop-onnxruntime-java-win-x64-tensorrt-${{cuda_version.key}}
targetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-win-x64'

- input: pipelineArtifact
artifactName: drop-onnxruntime-java-linux-x64-tensorrt-${{cuda_version.key}}
targetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-linux-x64'

- input: pipelineArtifact
artifactName: drop-onnxruntime-java-linux-x64-tensorrt
targetPath: '$(Build.BinariesDirectory)\java-artifact\onnxruntime-java-linux-x64'

outputs:
- output: pipelineArtifact
targetPath: $(Build.BinariesDirectory)\java-artifact\onnxruntime-java-win-x64
artifactName: onnxruntime-java-gpu
pool: 'onnxruntime-Win-CPU-VS2022-Latest'
dependsOn: []
condition: succeeded()
steps:
- template: ../templates/jar-packaging.yml
parameters:
package_type: gpu
outputs:
- output: pipelineArtifact
targetPath: $(Build.BinariesDirectory)\java-artifact\onnxruntime-java-win-x64
artifactName: onnxruntime-java-gpu-${{cuda_version.key}}
pool: 'onnxruntime-Win-CPU-VS2022-Latest'
dependsOn: []
condition: succeeded()
steps:
- template: ../templates/jar-packaging.yml
parameters:
package_type: gpu
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
parameters:
- name: CudaVersion
type: object
- name: StageToken
type: string
default: '12.8'

stages:
- stage: Linux_Nodejs_Packaging_x64
- stage: Linux_Nodejs_Packaging_x64_${{parameters.StageToken}}
dependsOn: []
jobs:
- job: Linux_Nodejs_Packaging_x64
Expand All @@ -16,19 +17,12 @@ stages:
name: 'onnxruntime-Ubuntu2404-AMD-CPU'
os: linux
variables:
- template: ../templates/common-variables.yml
- name: CUDA_VERSION_MAJOR
${{ if eq(parameters.CudaVersion, '13.0') }}:
value: '13'
${{ if eq(parameters.CudaVersion, '12.8') }}:
value: '12'
value: ${{ parameters.CudaVersion.major }}
- name: CUDA_VERSION
value: ${{ parameters.CudaVersion }}
value: "${{ parameters.CudaVersion.major }}.${{ parameters.CudaVersion.minor }}"
- name: linux_trt_version
${{ if eq(parameters.CudaVersion, '13.0') }}:
value: ${{ variables.linux_trt_version_cuda13 }}
${{ if eq(parameters.CudaVersion, '12.8') }}:
value: ${{ variables.linux_trt_version_cuda12 }}
value: ${{ parameters.CudaVersion.linux_trt_version }}
steps:
- checkout: self
clean: true
Expand All @@ -52,6 +46,6 @@ stages:
parameters:
arch: 'x64'
os: 'linux'
artifactName: 'drop-onnxruntime-nodejs-linux-x64'
artifactName: 'drop-onnxruntime-nodejs-linux-x64-${{parameters.StageToken}}'

- template: ../templates/clean-agent-build-directory-step.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,7 @@ parameters:
type: boolean

- name: CudaVersion
type: string

- name: win_trt_home
type: string

- name: win_cuda_home
type: string
type: object

- name: UseIncreasedTimeoutForTests
type: boolean
Expand Down Expand Up @@ -45,40 +39,35 @@ parameters:
displayName: Number added to pre-release package version. Only used if IsReleaseBuild is true. Denotes the sequence of a pre-release package.
type: number

- name: CudaArchs
type: string
- name: win_cudnn_home
type: string
default: ''

stages:
- template: nuget-linux-cuda-packaging-stage.yml
parameters:
CudaVersion: ${{ parameters.CudaVersion }}
buildJava: ${{ parameters.buildJava }}
buildNodejs: ${{ parameters.buildNodejs }}

- ${{ if eq(parameters.buildNodejs, 'true') }}:
- template: nodejs-linux-packaging-stage.yml
- ${{ each cuda_version in parameters.CudaVersion }}:
- template: nuget-linux-cuda-packaging-stage.yml
parameters:
CudaVersion: ${{ parameters.CudaVersion }}

- template: nuget-win-cuda-packaging-stage.yml
parameters:
RunOnnxRuntimeTests: ${{ parameters.RunOnnxRuntimeTests }}
UseIncreasedTimeoutForTests: ${{ parameters.UseIncreasedTimeoutForTests }}
CudaVersion: ${{ parameters.CudaVersion }}
win_trt_home: ${{ parameters.win_trt_home }}
win_cuda_home: ${{ parameters.win_cuda_home }}
buildJava: ${{ parameters.buildJava }}
PreReleaseVersionSuffixString: ${{ parameters.PreReleaseVersionSuffixString }}
PreReleaseVersionSuffixNumber: ${{ parameters.PreReleaseVersionSuffixNumber }}
CudaArchs: ${{ parameters.CudaArchs }}
win_cudnn_home: ${{ parameters.win_cudnn_home }}

- template: nuget-cuda-packaging-stage.yml
parameters:
DoEsrp: ${{ parameters.DoEsrp }}
IsReleaseBuild: ${{ parameters.IsReleaseBuild }}
SpecificArtifact: ${{ parameters.SpecificArtifact }}
BuildId: ${{ parameters.BuildId }}
CudaVersion: ${{ cuda_version.value }}
buildJava: ${{ parameters.buildJava }}
buildNodejs: ${{ parameters.buildNodejs }}
StageToken: ${{ cuda_version.key }}

- ${{ if eq(parameters.buildNodejs, 'true') }}:
- template: nodejs-linux-packaging-stage.yml
parameters:
StageToken: ${{ cuda_version.key }}
CudaVersion: ${{ cuda_version.value }}

- template: nuget-win-cuda-packaging-stage.yml
parameters:
RunOnnxRuntimeTests: ${{ parameters.RunOnnxRuntimeTests }}
UseIncreasedTimeoutForTests: ${{ parameters.UseIncreasedTimeoutForTests }}
CudaVersion: ${{ cuda_version.value }}
StageToken: ${{ cuda_version.key }}
buildJava: ${{ parameters.buildJava }}
PreReleaseVersionSuffixString: ${{ parameters.PreReleaseVersionSuffixString }}
PreReleaseVersionSuffixNumber: ${{ parameters.PreReleaseVersionSuffixNumber }}

- template: nuget-cuda-packaging-stage.yml
parameters:
DoEsrp: ${{ parameters.DoEsrp }}
IsReleaseBuild: ${{ parameters.IsReleaseBuild }}
SpecificArtifact: ${{ parameters.SpecificArtifact }}
BuildId: ${{ parameters.BuildId }}
StageToken: ${{ cuda_version.key }}
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,18 @@ parameters:
type: string
default: '0'

- name: StageToken
type: string

stages:
######## Nuget ########
# Win/Linux CUDA Combined packaging
- stage: NuGet_Packaging_GPU
- stage: NuGet_Packaging_GPU_${{parameters.StageToken}}
dependsOn:
- Setup
- Windows_Packaging_CUDA
- Windows_Packaging_TensorRT
- Linux_C_API_Packaging_GPU
- Windows_Packaging_CUDA_${{parameters.StageToken}}
- Windows_Packaging_TensorRT_${{parameters.StageToken}}
- Linux_C_API_Packaging_GPU_${{parameters.StageToken}}
# This is need for Download Linux CustomOp TestData
- Linux_C_API_Packaging_CPU
condition: succeeded()
Expand All @@ -43,31 +46,31 @@ stages:
- template: ../templates/flex-downloadPipelineArtifact.yml
parameters:
StepName: 'Download Pipeline Artifact - NuGet'
ArtifactName: 'onnxruntime-win-x64-cuda'
ArtifactName: 'onnxruntime-win-x64-${{parameters.StageToken}}'
TargetPath: '$(Build.BinariesDirectory)/nuget-artifact'
SpecificArtifact: ${{ parameters.SpecificArtifact }}
BuildId: ${{ parameters.BuildId }}

- template: ../templates/flex-downloadPipelineArtifact.yml
parameters:
StepName: 'Download Pipeline Artifact - NuGet'
ArtifactName: 'onnxruntime-win-x64-tensorrt'
ArtifactName: 'onnxruntime-win-x64-tensorrt-${{parameters.StageToken}}'
TargetPath: '$(Build.BinariesDirectory)/nuget-artifact'
SpecificArtifact: ${{ parameters.SpecificArtifact }}
BuildId: ${{ parameters.BuildId }}

- template: ../templates/flex-downloadPipelineArtifact.yml
parameters:
StepName: 'Download Pipeline Artifact - NuGet'
ArtifactName: 'onnxruntime-linux-x64-cuda'
ArtifactName: 'onnxruntime-linux-x64-${{parameters.StageToken}}'
TargetPath: '$(Build.BinariesDirectory)/nuget-artifact'
SpecificArtifact: ${{ parameters.SpecificArtifact }}
BuildId: ${{ parameters.BuildId }}

- template: ../templates/flex-downloadPipelineArtifact.yml
parameters:
StepName: 'Download Pipeline Artifact - NuGet'
ArtifactName: 'onnxruntime-linux-x64-tensorrt'
ArtifactName: 'onnxruntime-linux-x64-tensorrt-${{parameters.StageToken}}'
TargetPath: '$(Build.BinariesDirectory)/nuget-artifact'
SpecificArtifact: ${{ parameters.SpecificArtifact }}
BuildId: ${{ parameters.BuildId }}
Expand Down Expand Up @@ -212,8 +215,16 @@ stages:
msbuildArguments: '-t:Clean -p:OnnxRuntimeBuildDirectory="$(Build.BinariesDirectory)" -p:OrtPackageId=Microsoft.ML.OnnxRuntime.Gpu'
workingDirectory: '$(Build.SourcesDirectory)\csharp'

# Backwards compat shim for currently publishing pipelines:
- ${{if eq(parameters.StageToken, 'cuda_12')}}:
- task: 1ES.PublishPipelineArtifact@1
displayName: 'Publish Pipeline NuGet Artifact'
inputs:
artifactName: 'drop-signed-nuget-GPU'
targetPath: '$(Build.ArtifactStagingDirectory)'

- task: 1ES.PublishPipelineArtifact@1
displayName: 'Publish Pipeline NuGet Artifact'
inputs:
artifactName: 'drop-signed-nuget-GPU'
artifactName: 'drop-signed-nuget-GPU-${{parameters.StageToken}}'
targetPath: '$(Build.ArtifactStagingDirectory)'
Loading
Loading