From 07788e082ef2c78c3f4e72f49e7e7c3db6f09cb0 Mon Sep 17 00:00:00 2001 From: Changming Sun Date: Tue, 15 Jun 2021 10:24:58 -0700 Subject: [PATCH] Enable python GPU tests (#7854) --- onnxruntime/python/backend/backend.py | 2 + .../onnx_backend_test_series_filters.jsonc | 12 +++++- .../azure-pipelines/win-gpu-ci-pipeline.yml | 43 +++++-------------- 3 files changed, 23 insertions(+), 34 deletions(-) diff --git a/onnxruntime/python/backend/backend.py b/onnxruntime/python/backend/backend.py index 0433c58ccb..4436ac2c79 100644 --- a/onnxruntime/python/backend/backend.py +++ b/onnxruntime/python/backend/backend.py @@ -79,6 +79,8 @@ class OnnxRuntimeBackend(Backend): Check whether the backend is compiled with particular device support. In particular it's used in the testing suite. """ + if device == 'CUDA': + device = 'GPU' return device in get_device() @classmethod diff --git a/onnxruntime/test/testdata/onnx_backend_test_series_filters.jsonc b/onnxruntime/test/testdata/onnx_backend_test_series_filters.jsonc index eb77ffce72..64bc0884e2 100644 --- a/onnxruntime/test/testdata/onnx_backend_test_series_filters.jsonc +++ b/onnxruntime/test/testdata/onnx_backend_test_series_filters.jsonc @@ -61,7 +61,17 @@ "^test_mul_uint8_cpu", "^test_add_uint8_cpu", "^test_div_uint8_cpu", - "^test_batchnorm_*" + //GPU failures + "^test_batchnorm_epsilon_training_mode_cuda", + "^test_batchnorm_example_training_mode_cuda", + "^test_convtranspose_autopad_same_cpu", + "^test_sub_uint8_cuda", + "^test_simple_rnn_batchwise_cuda", + "^test_mul_uint8_cuda", + "^test_lstm_batchwise_cuda", + "^test_gru_batchwise_cuda", + "^test_div_uint8_cuda", + "^test_add_uint8_cuda" ], "current_failing_tests_x86": [ "^test_vgg19", diff --git a/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline.yml index 15f2a4f87a..efc0f1336c 100644 --- a/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline.yml @@ -7,17 +7,23 @@ parameters: jobs: - job: 'build' pool: 'Win-GPU-2019' + strategy: + matrix: + cuda: + additionalBuildFlags: --build_java --build_nodejs --use_cuda --cuda_version=11.1 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1" --cudnn_home="C:\local\cudnn-11.1-windows-x64-v8.0.5.39\cuda" --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=52 --gen_doc validate + EnvSetupScript: setup_env_cuda_11.bat + dml: + additionalBuildFlags: --use_dml --cmake_extra_defines CMAKE_SYSTEM_VERSION=10.0.18362.0 --enable_wcos --use_winml + EnvSetupScript: setup_env.bat variables: OrtPackageId: 'Microsoft.ML.OnnxRuntime.Gpu' MsbuildArguments: '-maxcpucount' OnnxRuntimeBuildDirectory: '$(Build.BinariesDirectory)' DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true - EnvSetupScript: setup_env_cuda_11.bat setVcvars: true BuildConfig: 'RelWithDebInfo' UseOmp: '' buildArch: x64 - additionalBuildFlags: --build_java --build_nodejs --use_dml --use_cuda --cuda_version=11.1 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1" --cudnn_home="C:\local\cudnn-11.1-windows-x64-v8.0.5.39\cuda" --cmake_extra_defines CMAKE_SYSTEM_VERSION=10.0.18362.0 msbuildPlatform: x64 isX86: false ALLOW_RELEASED_ONNX_OPSET_ONLY: '0' @@ -95,7 +101,7 @@ jobs: displayName: 'Generate cmake config' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: '--config $(BuildConfig) --build_dir $(Build.BinariesDirectory) $(UseOmp) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --build_wheel --use_winml --build_shared_lib --enable_onnx_tests --enable_wcos --gen_doc $(additionalBuildFlags)' + arguments: '--config $(BuildConfig) --build_dir $(Build.BinariesDirectory) $(UseOmp) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --build_wheel --enable_onnx_tests $(additionalBuildFlags)' workingDirectory: '$(Build.BinariesDirectory)' - task: VSBuild@1 @@ -148,7 +154,7 @@ jobs: - powershell: | Get-ChildItem -Path dist/*.whl | foreach {pip --disable-pip-version-check install --upgrade $_.fullname} - python $(Build.SourcesDirectory)\tools\ci_build\build.py --config $(BuildConfig) --build_dir $(Build.BinariesDirectory) $(UseOmp) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --build_wheel --use_winml --build_shared_lib --enable_onnx_tests --enable_wcos --gen_doc validate $(additionalBuildFlags) + python $(Build.SourcesDirectory)\tools\ci_build\build.py --config $(BuildConfig) --build_dir $(Build.BinariesDirectory) $(UseOmp) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --build_wheel --enable_onnx_tests $(additionalBuildFlags) workingDirectory: '$(Build.BinariesDirectory)\$(BuildConfig)\$(BuildConfig)' condition: and(succeeded(), eq('${{ parameters.RunOnnxRuntimeTests}}', true)) displayName: 'Run tests' @@ -170,35 +176,6 @@ jobs: artifactName: 'ContribOperators.md' - - task: PythonScript@0 - displayName: 'Regenerate cmake config with STATIC_ANALYSIS=ON ' - condition: and(succeeded(), eq(variables['BuildConfig'], 'RelWithDebInfo')) - inputs: - scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: '--config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --build_wheel --build_shared_lib --enable_onnx_tests $(additionalBuildFlags) --cmake_extra_defines onnxruntime_ENABLE_STATIC_ANALYSIS=ON' - workingDirectory: '$(Build.BinariesDirectory)' - - - task: DeleteFiles@1 - displayName: 'Delete files from $(Build.BinariesDirectory)\RelWithDebInfo' - condition: and(succeeded(), eq(variables['BuildConfig'], 'RelWithDebInfo')) - inputs: - SourceFolder: '$(Build.BinariesDirectory)\RelWithDebInfo' - Contents: | - **/*.obj - **/*.pdb - **/*.dll - - #Manually set msBuildCommandline so that we can also set CAExcludePath - - task: SDLNativeRules@2 - displayName: 'Run the PREfast SDL Native Rules for MSBuild' - condition: and(succeeded(), eq(variables['BuildConfig'], 'RelWithDebInfo')) - inputs: - userProvideBuildInfo: msBuildInfo - msBuildVersion: 16.0 - msBuildArchitecture: $(msbuildPlatform) - msBuildCommandline: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\amd64\msbuild.exe" "$(Build.BinariesDirectory)\RelWithDebInfo\onnxruntime.sln" /p:platform=$(msbuildPlatform) /p:configuration="RelWithDebInfo" /p:CAExcludePath="$(Build.BinariesDirectory);$(Build.SourcesDirectory)\cmake;C:\program files (x86)" /p:VisualStudioVersion="16.0" /m /p:PreferredToolArchitecture=x64' - - - task: PublishSecurityAnalysisLogs@3 displayName: 'Publish Security Analysis Logs' condition: and(succeeded(), eq(variables['BuildConfig'], 'RelWithDebInfo'))