diff --git a/tools/ci_build/github/azure-pipelines/custom-nuget-packaging-pipeline.yml b/tools/ci_build/github/azure-pipelines/custom-nuget-packaging-pipeline.yml index 1ad6f411d9848..2ee41142d0c62 100644 --- a/tools/ci_build/github/azure-pipelines/custom-nuget-packaging-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/custom-nuget-packaging-pipeline.yml @@ -122,6 +122,7 @@ extends: build_config: 'RelWithDebInfo' PublishArchive: true PublishNugetToFeed: false + UseWebGPU: true - template: templates/mac-cpu-packaging-pipeline.yml parameters: diff --git a/tools/ci_build/github/azure-pipelines/templates/jobs/download_win_webgpu_build_tools.yml b/tools/ci_build/github/azure-pipelines/templates/jobs/download_win_webgpu_build_tools.yml new file mode 100644 index 0000000000000..0074663093f10 --- /dev/null +++ b/tools/ci_build/github/azure-pipelines/templates/jobs/download_win_webgpu_build_tools.yml @@ -0,0 +1,20 @@ +steps: + - powershell: | + azcopy.exe cp --recursive https://lotusscus.blob.core.windows.net/models/webgpu-build-tools $(Agent.TempDirectory) + displayName: 'Download WebGPU build tools' + + - powershell: | + echo "##vso[task.setvariable variable=WebGPUBuildToolsDir]$(Agent.TempDirectory)\webgpu-build-tools" + displayName: Set WebGPUBuildToolsDir + + - task: CmdLine@2 + inputs: + script: | + echo $(WebGPUBuildToolsDir) + displayName: 'Print WebGPUBuildToolsDir after downloading WebGPU build tools' + + - task: CmdLine@2 + displayName: 'Print contents of WebGPU build tools' + inputs: + script: | + dir $(WebGPUBuildToolsDir) diff --git a/tools/ci_build/github/azure-pipelines/templates/qnn-ep-win.yml b/tools/ci_build/github/azure-pipelines/templates/qnn-ep-win.yml index 2221c93ecc5d0..19d2ce9182679 100644 --- a/tools/ci_build/github/azure-pipelines/templates/qnn-ep-win.yml +++ b/tools/ci_build/github/azure-pipelines/templates/qnn-ep-win.yml @@ -8,6 +8,8 @@ parameters: StageName: 'OnnxRuntime_QNN_Nuget_Win_x64' PublishArchive: false PublishNugetToFeed: true + UseWebGPU: false + ExtraBuildArgs: '' stages: - stage: ${{ parameters.StageName }} @@ -48,6 +50,7 @@ stages: OrtPackageId: ${{ parameters.OrtNugetPackageId }} ReleaseVersionSuffix: $[stageDependencies.Setup.Set_Variables.outputs['Set_Release_Version_Suffix.ReleaseVersionSuffix']] commonBuildArgs: '--skip_submodule_sync --build_shared_lib --client_package_build --cmake_generator "Visual Studio 17 2022" --config ${{ parameters.build_config }} --parallel --use_vcpkg --use_vcpkg_ms_internal_asset_cache --use_binskim_compliant_compile_flags ' + WebGPUBuildFlags: '' steps: - template: set-version-number-variables-step.yml @@ -56,6 +59,13 @@ stages: parameters: host_cpu_arch: 'x64' + - ${{ if eq(parameters.UseWebGPU, true) }}: + - template: jobs/download_win_webgpu_build_tools.yml + + - powershell: | + echo "##vso[task.setvariable variable=WebGPUBuildFlags] --use_webgpu --cmake_extra_defines LLVM_TABLEGEN=$(WebGPUBuildToolsDir)\llvm-tblgen.exe CLANG_TABLEGEN=$(WebGPUBuildToolsDir)\clang-tblgen.exe" + displayName: Set Additional Build Flags for WebGPU + - template: jobs/download_win_qnn_sdk.yml parameters: QnnSDKVersion: ${{ parameters.QnnSdk }} @@ -64,13 +74,13 @@ stages: displayName: 'Build arm64x project - generate the def & lib file for next build' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: ' --arm64 --buildasx --build_dir $(Build.BinariesDirectory)\arm64x --use_qnn --qnn_home $(QnnSDKRootDir) $(commonBuildArgs)' - + arguments: ' --arm64 --buildasx --build_dir $(Build.BinariesDirectory)\arm64x --use_qnn --qnn_home $(QnnSDKRootDir) $(commonBuildArgs) $(WebGPUBuildFlags)' + - task: PythonScript@0 displayName: 'Build arm64ecx project - the real arm64x' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: ' --arm64ec --buildasx --build_dir $(Build.BinariesDirectory) --use_qnn --qnn_home $(QnnSDKRootDir) $(commonBuildArgs)' + arguments: ' --arm64ec --buildasx --build_dir $(Build.BinariesDirectory) --use_qnn --qnn_home $(QnnSDKRootDir) $(commonBuildArgs) $(WebGPUBuildFlags)' - task: CmdLine@2 displayName: 'Print contents of binaries directory'