From e55f24364af38b1fa81eff5f87cc768133b774f8 Mon Sep 17 00:00:00 2001 From: edgchen1 <18449977+edgchen1@users.noreply.github.com> Date: Mon, 18 May 2020 09:24:10 -0700 Subject: [PATCH] Disable LTO on Windows training CPU build (#3960) Disable LTO on Windows training CPU build. Add a parameter to the win-ci-2019.yml build template for enabling LTO with a default value of true. --- .../github/azure-pipelines/orttraining-win-ci-pipeline.yml | 1 + .../github/azure-pipelines/templates/win-ci-2019.yml | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/ci_build/github/azure-pipelines/orttraining-win-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/orttraining-win-ci-pipeline.yml index 187c974f09..92c81da374 100644 --- a/tools/ci_build/github/azure-pipelines/orttraining-win-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/orttraining-win-ci-pipeline.yml @@ -19,3 +19,4 @@ jobs: EnvSetupScript: 'setup_env.bat' sln_platform: 'x64' BuildConfigurations: ['Debug', 'RelWithDebInfo'] + EnableLto: false diff --git a/tools/ci_build/github/azure-pipelines/templates/win-ci-2019.yml b/tools/ci_build/github/azure-pipelines/templates/win-ci-2019.yml index df02a41a43..fd42a7807a 100644 --- a/tools/ci_build/github/azure-pipelines/templates/win-ci-2019.yml +++ b/tools/ci_build/github/azure-pipelines/templates/win-ci-2019.yml @@ -17,6 +17,7 @@ parameters: OrtPackageId: Microsoft.ML.OnnxRuntime BuildConfigurations: ['RelWithDebInfo'] # Options: Debug, RelWithDebInfo RunTests : 'true' + EnableLto: true jobs: - job: ${{ parameters.JobName }} timeoutInMinutes: 160 @@ -38,6 +39,8 @@ jobs: DotNetExe: 'dotnet.exe' CUDA_VERSION: ${{ parameters.CudaVersion }} DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true + ${{ if eq(parameters.EnableLto, true) }}: + build_py_lto_flag: --enable_lto steps: - checkout: self @@ -87,7 +90,7 @@ jobs: displayName: 'Generate cmake config' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: '$(BuildCommand) --update --config $(BuildConfig) --enable_lto' + arguments: '$(BuildCommand) --update --config $(BuildConfig) ${{ variables.build_py_lto_flag }}' workingDirectory: '$(Build.BinariesDirectory)' - ${{ if notIn(parameters['sln_platform'], 'Win32', 'x64') }}: @@ -156,7 +159,7 @@ jobs: python.exe -m pip install -q --upgrade %WHEEL_FILENAME% set PATH=%PATH%;$(Build.BinariesDirectory)\$(BuildConfig)\$(BuildConfig) @echo %PATH% - python $(Build.SourcesDirectory)\tools\ci_build\build.py $(BuildCommand) --test --config $(BuildConfig) --enable_lto + python $(Build.SourcesDirectory)\tools\ci_build\build.py $(BuildCommand) --test --config $(BuildConfig) ${{ variables.build_py_lto_flag }} workingDirectory: '$(Build.BinariesDirectory)\$(BuildConfig)\$(BuildConfig)' displayName: 'Run tests'