From e96a038f01ab198cb03dea3b918351e3cfe4a9fc Mon Sep 17 00:00:00 2001 From: Yi Zhang Date: Tue, 30 Jan 2024 01:33:58 +0800 Subject: [PATCH 1/8] Add VP test in Stable diffusion pipeline (#19300) ### Description 1. Add visual parity test based on openai clip model 2. Add trigger rules ### Motivation and Context 1. check generated image is expected 2. reduce unnecessary triggers --- .../models/stable_diffusion/demo_txt2img.py | 1 + .../models/stable_diffusion/demo_utils.py | 1 + .../pipeline_stable_diffusion.py | 4 ++ .../astronaut_riding_txt2image-DDIM-50.png | Bin 0 -> 395084 bytes .../stable_diffusion/test/check_image.py | 68 ++++++++++++++++++ .../stable_diffusion/test/requirements.txt | 4 ++ .../azure-pipelines/bigmodels-ci-pipeline.yml | 57 +++++++++++++-- tools/ci_build/set-trigger-rules.py | 2 +- 8 files changed, 131 insertions(+), 6 deletions(-) create mode 100644 onnxruntime/python/tools/transformers/models/stable_diffusion/test/astronaut_riding_txt2image-DDIM-50.png create mode 100644 onnxruntime/python/tools/transformers/models/stable_diffusion/test/check_image.py create mode 100644 onnxruntime/python/tools/transformers/models/stable_diffusion/test/requirements.txt diff --git a/onnxruntime/python/tools/transformers/models/stable_diffusion/demo_txt2img.py b/onnxruntime/python/tools/transformers/models/stable_diffusion/demo_txt2img.py index 40692701c28d6..2cd64e8784c6b 100644 --- a/onnxruntime/python/tools/transformers/models/stable_diffusion/demo_txt2img.py +++ b/onnxruntime/python/tools/transformers/models/stable_diffusion/demo_txt2img.py @@ -61,6 +61,7 @@ def run_inference(warmup=False): controlnet_scales=controlnet_scale, show_latency=not warmup, output_type="pil", + deterministic=args.deterministic, ) if not args.disable_cuda_graph: diff --git a/onnxruntime/python/tools/transformers/models/stable_diffusion/demo_utils.py b/onnxruntime/python/tools/transformers/models/stable_diffusion/demo_utils.py index 965a2598a2488..32c673416fce2 100644 --- a/onnxruntime/python/tools/transformers/models/stable_diffusion/demo_utils.py +++ b/onnxruntime/python/tools/transformers/models/stable_diffusion/demo_utils.py @@ -239,6 +239,7 @@ def parse_arguments(is_xl: bool, parser): ) parser.add_argument("--nvtx-profile", action="store_true", help="Enable NVTX markers for performance profiling.") parser.add_argument("--seed", type=int, default=None, help="Seed for random generator to get consistent results.") + parser.add_argument("--deterministic", action="store_true", help="use deterministic algorithms.") parser.add_argument("-dc", "--disable-cuda-graph", action="store_true", help="Disable cuda graph.") group = parser.add_argument_group("Options for ORT_CUDA engine only") diff --git a/onnxruntime/python/tools/transformers/models/stable_diffusion/pipeline_stable_diffusion.py b/onnxruntime/python/tools/transformers/models/stable_diffusion/pipeline_stable_diffusion.py index 104ce984bd401..0ad8b13b6091c 100644 --- a/onnxruntime/python/tools/transformers/models/stable_diffusion/pipeline_stable_diffusion.py +++ b/onnxruntime/python/tools/transformers/models/stable_diffusion/pipeline_stable_diffusion.py @@ -754,6 +754,7 @@ def run( controlnet_scales: Optional[torch.Tensor] = None, show_latency: bool = False, output_type: str = "pil", + deterministic: bool = False, ): """ Run the diffusion pipeline. @@ -783,6 +784,9 @@ def run( output_type (str): It can be "latent", "pt" or "pil". """ + if deterministic: + torch.use_deterministic_algorithms(True) + if self.is_backend_tensorrt(): import tensorrt as trt from trt_utilities import TRT_LOGGER diff --git a/onnxruntime/python/tools/transformers/models/stable_diffusion/test/astronaut_riding_txt2image-DDIM-50.png b/onnxruntime/python/tools/transformers/models/stable_diffusion/test/astronaut_riding_txt2image-DDIM-50.png new file mode 100644 index 0000000000000000000000000000000000000000..9d20ce55030161954f29023c6bd89e8719da7057 GIT binary patch literal 395084 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

gmj=9#Mxh=hm1V`Wes6aCV1=ZOLNODO)RW=CZe4 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≤#==3Gf(GGvWYWb0&j8+sn@FDGv9= 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

^Muu9m4IT#~WP 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

+1$E@LbuU9s?-tC-73-AN}P$j*H(99bh$ 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

VYta(#>?x#TkTYz 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

S*P}f6sisbuIXWxD+R?Ea5saA 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 literal 0 HcmV?d00001 diff --git a/onnxruntime/python/tools/transformers/models/stable_diffusion/test/check_image.py b/onnxruntime/python/tools/transformers/models/stable_diffusion/test/check_image.py new file mode 100644 index 0000000000000..fcfe8b081fb0a --- /dev/null +++ b/onnxruntime/python/tools/transformers/models/stable_diffusion/test/check_image.py @@ -0,0 +1,68 @@ +import argparse +import os + +import cv2 +import open_clip +import torch +from PIL import Image +from sentence_transformers import util + + +def arg_parser(): + parser = argparse.ArgumentParser(description="Options for Compare 2 image") + parser.add_argument("--image1", type=str, help="Path to image 1") + parser.add_argument("--image2", type=str, help="Path to image 2") + args = parser.parse_args() + return args + + +def image_encoder(img: Image.Image): # -> torch.Tensor: + device = "cuda" if torch.cuda.is_available() else "cpu" + model, _, preprocess = open_clip.create_model_and_transforms("ViT-B-16-plus-240", pretrained="laion400m_e32") + model.to(device) + + img1 = Image.fromarray(img).convert("RGB") + img1 = preprocess(img1).unsqueeze(0).to(device) + img1 = model.encode_image(img1) + return img1 + + +def load_image(image_path: str): # -> Image.Image: + # cv2.imread() can silently fail when the path is too long + # https://stackoverflow.com/questions/68716321/how-to-use-absolute-path-in-cv2-imread + if os.path.isabs(image_path): + directory = os.path.dirname(image_path) + current_directory = os.getcwd() + os.chdir(directory) + img = cv2.imread(os.path.basename(image_path), cv2.IMREAD_UNCHANGED) + os.chdir(current_directory) + else: + img = cv2.imread(image_path, cv2.IMREAD_UNCHANGED) + return img + + +def generate_score(image1: str, image2: str): # -> float: + test_img = load_image(image1) + data_img = load_image(image2) + img1 = image_encoder(test_img) + img2 = image_encoder(data_img) + cos_scores = util.pytorch_cos_sim(img1, img2) + score = round(float(cos_scores[0][0]) * 100, 2) + return score + + +def main(): + args = arg_parser() + image1 = args.image1 + image2 = args.image2 + score = round(generate_score(image1, image2), 2) + print("similarity Score: ", {score}) + if score < 99: + print(f"{image1} and {image2} are different") + raise SystemExit(1) + else: + print(f"{image1} and {image2} are same") + + +if __name__ == "__main__": + main() diff --git a/onnxruntime/python/tools/transformers/models/stable_diffusion/test/requirements.txt b/onnxruntime/python/tools/transformers/models/stable_diffusion/test/requirements.txt new file mode 100644 index 0000000000000..e51ffb395c643 --- /dev/null +++ b/onnxruntime/python/tools/transformers/models/stable_diffusion/test/requirements.txt @@ -0,0 +1,4 @@ +git+https://github.com/openai/CLIP.git +open_clip_torch +sentence_transformers +pillow diff --git a/tools/ci_build/github/azure-pipelines/bigmodels-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/bigmodels-ci-pipeline.yml index b767b7276b428..dd88a4d6d5632 100644 --- a/tools/ci_build/github/azure-pipelines/bigmodels-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/bigmodels-ci-pipeline.yml @@ -1,3 +1,32 @@ +##### start trigger Don't edit it manually, Please do edit set-trigger-rules.py #### +trigger: + branches: + include: + - main + - rel-* + paths: + exclude: + - docs/** + - README.md + - CONTRIBUTING.md + - BUILD.md + - 'js/web' + - 'onnxruntime/core/providers/js' +pr: + branches: + include: + - main + - rel-* + paths: + exclude: + - docs/** + - README.md + - CONTRIBUTING.md + - BUILD.md + - 'js/web' + - 'onnxruntime/core/providers/js' +#### end trigger ####parameters: + # reference: https://github.com/microsoft/onnxruntime/blob/main/onnxruntime/python/tools/transformers/models/stable_diffusion/README.md parameters: - name: specificArtifact @@ -143,7 +172,6 @@ stages: - job: Stable_Diffusion variables: skipComponentGovernanceDetection: true - CCACHE_DIR: $(Pipeline.Workspace)/ccache workspace: clean: all pool: onnxruntime-Linux-GPU-A10-12G @@ -162,7 +190,7 @@ stages: - script: | docker run --rm --gpus all -v $PWD:/workspace -v $(Build.BinariesDirectory)/Release:/Release nvcr.io/nvidia/pytorch:22.11-py3 \ - bash -c " + bash -c ' set -ex; \ python3 --version; \ python3 -m pip install --upgrade pip; \ @@ -171,12 +199,31 @@ stages: python3 -m pip install -r requirements-cuda11.txt; \ python3 -m pip install --upgrade polygraphy onnx-graphsurgeon --extra-index-url https://pypi.ngc.nvidia.com; \ echo Generate an image guided by a text prompt; \ - python3 demo_txt2img.py 'astronaut riding a horse on mars'; \ - popd; \ - " + python3 demo_txt2img.py --seed 1 --deterministic "astronaut riding a horse on mars" ; \ + find $(pwd) -name "*.png" ; \ + popd ; \ + ' displayName: 'Run stable diffusion demo' workingDirectory: $(Build.SourcesDirectory) + - script: | + docker run --rm --gpus all -v $PWD:/workspace nvcr.io/nvidia/pytorch:22.11-py3 \ + bash -c ' + set -ex; \ + python3 --version; \ + python3 -m pip install --upgrade pip; \ + pushd /workspace/onnxruntime/python/tools/transformers/models/stable_diffusion/; \ + image2=$(find $(pwd) -name "astronaut_riding_a_h*.png") ; \ + pushd test; \ + python3 -m pip install -r requirements.txt; \ + echo check demo_txt2image.py generate image; \ + python3 -u check_image.py --image1 astronaut_riding_txt2image-DDIM-50.png --image2 $image2; \ + popd ; \ + popd ; \ + ' + displayName: 'Check the generated image' + workingDirectory: $(Build.SourcesDirectory) + - stage: Llama2_ONNX_FP16 dependsOn: - Build_Onnxruntime_Cuda diff --git a/tools/ci_build/set-trigger-rules.py b/tools/ci_build/set-trigger-rules.py index cdb75154ecd29..d26fec41033ca 100644 --- a/tools/ci_build/set-trigger-rules.py +++ b/tools/ci_build/set-trigger-rules.py @@ -14,6 +14,7 @@ skip_js_changes = [ "android-arm64-v8a-QNN-crosscompile-ci-pipeline.yml", "android-x86_64-crosscompile-ci-pipeline.yml", + "bigmodels-ci-pipeline.yml", "linux-ci-pipeline.yml", "linux-cpu-aten-pipeline.yml", "linux-cpu-eager-pipeline.yml", @@ -31,7 +32,6 @@ "orttraining-linux-ci-pipeline.yml", "orttraining-linux-gpu-ci-pipeline.yml", "orttraining-linux-gpu-ortmodule-distributed-test-ci-pipeline.yml", - "orttraining-linux-gpu-training-apis.yml", "orttraining-mac-ci-pipeline.yml", "win-ci-pipeline.yml", "win-gpu-ci-pipeline.yml", From 9e69606360d7e77f9ee869beec2b8c9e43517fae Mon Sep 17 00:00:00 2001 From: Guenther Schmuelling Date: Mon, 29 Jan 2024 10:13:46 -0800 Subject: [PATCH 2/8] fix f16 for attention, enable slice and flatten for more types (#19262) --- js/web/lib/wasm/jsep/webgpu/ops/attention.ts | 2 +- onnxruntime/core/providers/js/operators/flatten.cc | 8 ++++---- onnxruntime/core/providers/js/operators/slice.cc | 12 ++++-------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/js/web/lib/wasm/jsep/webgpu/ops/attention.ts b/js/web/lib/wasm/jsep/webgpu/ops/attention.ts index ef8038dff487e..f07a21a343fa8 100644 --- a/js/web/lib/wasm/jsep/webgpu/ops/attention.ts +++ b/js/web/lib/wasm/jsep/webgpu/ops/attention.ts @@ -297,7 +297,7 @@ export const computeInPlaceSoftmax = (context: ComputeContext, input: TensorView if (sum == 0) { for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) { - x[offset + i] = ${fillVector('f32', components, 'uniforms.d_inv')}; + x[offset + i] = ${fillVector(elemValueType, components, 'uniforms.d_inv')}; } } else { for (var i: u32 = 0; i < uniforms.elements_per_wg && i + localOffset < uniforms.d_comp; i++) { diff --git a/onnxruntime/core/providers/js/operators/flatten.cc b/onnxruntime/core/providers/js/operators/flatten.cc index 7e4b4c350951b..1aacae819e304 100644 --- a/onnxruntime/core/providers/js/operators/flatten.cc +++ b/onnxruntime/core/providers/js/operators/flatten.cc @@ -13,7 +13,7 @@ ONNX_OPERATOR_VERSIONED_KERNEL_EX( kJsExecutionProvider, (*KernelDefBuilder::Create()) .Alias(0, 0) - .TypeConstraint("T", DataTypeImpl::GetTensorType()), + .TypeConstraint("T", JsepSupportedFloatTypes()), Flatten); ONNX_OPERATOR_VERSIONED_KERNEL_EX( @@ -23,7 +23,7 @@ ONNX_OPERATOR_VERSIONED_KERNEL_EX( kJsExecutionProvider, (*KernelDefBuilder::Create()) .Alias(0, 0) - .TypeConstraint("T", DataTypeImpl::GetTensorType()), + .TypeConstraint("T", JsepSupportedFloatTypes()), Flatten); ONNX_OPERATOR_VERSIONED_KERNEL_EX( @@ -33,7 +33,7 @@ ONNX_OPERATOR_VERSIONED_KERNEL_EX( kJsExecutionProvider, (*KernelDefBuilder::Create()) .Alias(0, 0) - .TypeConstraint("T", DataTypeImpl::GetTensorType()), + .TypeConstraint("T", JsepSupportedFloatTypes()), Flatten); ONNX_OPERATOR_KERNEL_EX( @@ -43,7 +43,7 @@ ONNX_OPERATOR_KERNEL_EX( kJsExecutionProvider, (*KernelDefBuilder::Create()) .Alias(0, 0) - .TypeConstraint("T", DataTypeImpl::GetTensorType()), + .TypeConstraint("T", JsepSupportedFloatTypes()), Flatten); } // namespace js diff --git a/onnxruntime/core/providers/js/operators/slice.cc b/onnxruntime/core/providers/js/operators/slice.cc index bbafe40ea92ac..869b5450501e1 100644 --- a/onnxruntime/core/providers/js/operators/slice.cc +++ b/onnxruntime/core/providers/js/operators/slice.cc @@ -12,8 +12,7 @@ ONNX_OPERATOR_VERSIONED_KERNEL_EX( 1, 9, kJsExecutionProvider, (*KernelDefBuilder::Create()) - .TypeConstraint("T", {DataTypeImpl::GetTensorType(), - DataTypeImpl::GetTensorType()}), + .TypeConstraint("T", JsepSupportedDataTypes()), Slice_1); ONNX_OPERATOR_VERSIONED_KERNEL_EX( @@ -26,8 +25,7 @@ ONNX_OPERATOR_VERSIONED_KERNEL_EX( .InputMemoryType(OrtMemTypeCPU, 2) .InputMemoryType(OrtMemTypeCPU, 3) .InputMemoryType(OrtMemTypeCPU, 4) - .TypeConstraint("T", {DataTypeImpl::GetTensorType(), - DataTypeImpl::GetTensorType()}), + .TypeConstraint("T", JsepSupportedDataTypes()), Slice); ONNX_OPERATOR_VERSIONED_KERNEL_EX( @@ -40,8 +38,7 @@ ONNX_OPERATOR_VERSIONED_KERNEL_EX( .InputMemoryType(OrtMemTypeCPU, 2) .InputMemoryType(OrtMemTypeCPU, 3) .InputMemoryType(OrtMemTypeCPU, 4) - .TypeConstraint("T", {DataTypeImpl::GetTensorType(), - DataTypeImpl::GetTensorType()}), + .TypeConstraint("T", JsepSupportedDataTypes()), Slice); ONNX_OPERATOR_KERNEL_EX( @@ -54,8 +51,7 @@ ONNX_OPERATOR_KERNEL_EX( .InputMemoryType(OrtMemTypeCPU, 2) .InputMemoryType(OrtMemTypeCPU, 3) .InputMemoryType(OrtMemTypeCPU, 4) - .TypeConstraint("T", {DataTypeImpl::GetTensorType(), - DataTypeImpl::GetTensorType()}), + .TypeConstraint("T", JsepSupportedDataTypes()), Slice); } // namespace js From 4ee222413f4ac0bef1d7383c693796b9b5a30106 Mon Sep 17 00:00:00 2001 From: Changming Sun Date: Mon, 29 Jan 2024 12:00:42 -0800 Subject: [PATCH 3/8] Update OneBranch.Nuget-WindowsAI-Pipeline.Official.yml for Azure Pipelines (#19293) To fix a pipeline issue. --- .pipelines/OneBranch.Nuget-WindowsAI-Pipeline.Official.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.pipelines/OneBranch.Nuget-WindowsAI-Pipeline.Official.yml b/.pipelines/OneBranch.Nuget-WindowsAI-Pipeline.Official.yml index 67f9d8b0ce392..fd3b7266d30f7 100644 --- a/.pipelines/OneBranch.Nuget-WindowsAI-Pipeline.Official.yml +++ b/.pipelines/OneBranch.Nuget-WindowsAI-Pipeline.Official.yml @@ -29,6 +29,8 @@ extends: git: submodules: false globalSdl: # https://aka.ms/obpipelines/sdl + asyncSdl: + enabled: false tsa: enabled: true prefast: From e91d91ae4f0057bd8ffcc3bd8c5826af85f77731 Mon Sep 17 00:00:00 2001 From: Changming Sun Date: Mon, 29 Jan 2024 12:45:38 -0800 Subject: [PATCH 4/8] Fix a build issue: /MP was not enabled correctly (#19190) ### Description In PR #19073 I mistunderstood the value of "--parallel". Instead of testing if args.parallel is None or not , I should test the returned value of number_of_parallel_jobs function. If build.py was invoked without --parallel, then args.parallel equals to 1. Because it is the default value. Then we should not add "/MP". However, the current code adds it. Because if `args.paralllel` is evaluated to `if 1` , which is True. If build.py was invoked with --parallel with additional numbers, then args.parallel equals to 0. Because it is unspecified. Then we should add "/MP". However, the current code does not add it. Because `if args.paralllel` is evaluated to `if 0` , which is False. This also adds a new build flag: use_binskim_compliant_compile_flags, which is intended to be only used in ONNX Runtime team's build pipelines for compliance reasons. ### Motivation and Context --- .pipelines/windowsai-steps.yml | 2 +- tools/ci_build/build.py | 43 ++++++++++--------- .../azure-pipelines/linux-ci-pipeline.yml | 6 +-- .../linux-cpu-aten-pipeline.yml | 4 +- .../linux-cpu-eager-pipeline.yml | 2 +- .../linux-cpu-minimal-build-ci-pipeline.yml | 12 +++--- .../azure-pipelines/linux-gpu-ci-pipeline.yml | 4 +- .../linux-gpu-tensorrt-ci-pipeline.yml | 2 +- .../azure-pipelines/linux-qnn-ci-pipeline.yml | 4 +- .../mac-coreml-ci-pipeline.yml | 2 +- .../azure-pipelines/mac-ios-ci-pipeline.yml | 2 +- .../mac-objc-static-analysis-ci-pipeline.yml | 2 +- .../nuget/templates/dml-vs-2022.yml | 4 +- .../orttraining-linux-ci-pipeline.yml | 2 +- .../orttraining-py-packaging-pipeline-cpu.yml | 2 +- .../qnn-ep-nuget-packaging-pipeline.yml | 2 +- .../templates/c-api-linux-cpu.yml | 2 +- .../templates/jobs/win-ci-vs-2022-job.yml | 2 +- .../templates/mac-cpu-packaging-steps.yml | 4 +- .../templates/py-packaging-stage.yml | 4 +- .../py-packaging-training-cuda-stage.yml | 2 +- .../azure-pipelines/templates/py-win-gpu.yml | 4 +- .../azure-pipelines/templates/win-ci.yml | 6 +-- .../azure-pipelines/win-ci-pipeline.yml | 2 +- .../win-gpu-tensorrt-ci-pipeline.yml | 4 +- .../azure-pipelines/win-qnn-ci-pipeline.yml | 2 +- .../github/linux/build_cuda_c_api_package.sh | 2 +- .../linux/build_linux_python_package.sh | 2 +- .../linux/build_tensorrt_c_api_package.sh | 2 +- .../build_full_ort_and_create_ort_files.sh | 2 +- .../build_minimal_ort_and_run_tests.sh | 2 +- tools/ci_build/github/linux/run_build.sh | 2 +- tools/scripts/python_test.sh | 2 +- 33 files changed, 72 insertions(+), 69 deletions(-) diff --git a/.pipelines/windowsai-steps.yml b/.pipelines/windowsai-steps.yml index 6e551d8187171..ff5179e6135c2 100644 --- a/.pipelines/windowsai-steps.yml +++ b/.pipelines/windowsai-steps.yml @@ -84,7 +84,7 @@ jobs: 7z x cmake-3.26.3-windows-x86_64.zip set PYTHONHOME=$(Build.BinariesDirectory)\${{ parameters.PythonPackageName }}.3.9.7\tools set PYTHONPATH=$(Build.BinariesDirectory)\${{ parameters.PythonPackageName }}.3.9.7\tools - $(Build.BinariesDirectory)\${{ parameters.PythonPackageName }}.3.9.7\tools\python.exe "$(Build.SourcesDirectory)\tools\ci_build\build.py" --build_dir $(Build.BinariesDirectory) --build_shared_lib --enable_onnx_tests --ms_experimental --use_dml --use_winml --cmake_generator "Visual Studio 17 2022" --update --config RelWithDebInfo --enable_qspectre --enable_lto --use_telemetry --disable_rtti --enable_wcos $(BuildFlags) --cmake_extra_defines "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO=/PROFILE" "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO=/PROFILE" CMAKE_SYSTEM_VERSION=10.0.19041.0 --cmake_path $(Build.BinariesDirectory)\cmake-3.26.3-windows-x86_64\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake-3.26.3-windows-x86_64\bin\ctest.exe + $(Build.BinariesDirectory)\${{ parameters.PythonPackageName }}.3.9.7\tools\python.exe "$(Build.SourcesDirectory)\tools\ci_build\build.py" --build_dir $(Build.BinariesDirectory) --parallel --use_binskim_compliant_compile_flags --build_shared_lib --enable_onnx_tests --ms_experimental --use_dml --use_winml --cmake_generator "Visual Studio 17 2022" --update --config RelWithDebInfo --enable_lto --use_telemetry --disable_rtti --enable_wcos $(BuildFlags) --cmake_extra_defines "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO=/PROFILE" "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO=/PROFILE" CMAKE_SYSTEM_VERSION=10.0.19041.0 --cmake_path $(Build.BinariesDirectory)\cmake-3.26.3-windows-x86_64\bin\cmake.exe --ctest_path $(Build.BinariesDirectory)\cmake-3.26.3-windows-x86_64\bin\ctest.exe workingDirectory: '$(Build.BinariesDirectory)' displayName: 'Generate cmake config' diff --git a/tools/ci_build/build.py b/tools/ci_build/build.py index 186bb699ad209..b2040b24ffaa2 100644 --- a/tools/ci_build/build.py +++ b/tools/ci_build/build.py @@ -442,8 +442,8 @@ def convert_arg_line_to_args(self, arg_line): parser.add_argument( "--enable_address_sanitizer", action="store_true", help="Enable address sanitizer. Windows/Linux/MacOS only." ) - # The following feature requires installing some special Visual Studio components that do not get installed by default. Therefore the options is default OFF. - parser.add_argument("--enable_qspectre", action="store_true", help="Enable Qspectre. Windows only.") + # The following flag is mostly designed to be used in ONNX Runtime's Azure DevOps/Github build pipelines. Its main purpose is to make the built binaries pass BinSkim scan. + parser.add_argument("--use_binskim_compliant_compile_flags", action="store_true", help="Use preset compile flags.") parser.add_argument( "--disable_memleak_checker", action="store_true", @@ -1484,27 +1484,29 @@ def generate_build_tree( f"-DVERSION_PRIVATE_PART={MM}{DD}", f"-DVERSION_STRING={ort_major}.{ort_minor}.{build_number}.{source_version[0:7]}", ] - cflags = None - cxxflags = None - ldflags = None - cudaflags = [] + for config in configs: + cflags = [] + cxxflags = None + ldflags = None + cudaflags = [] + if is_windows() and not args.ios and not args.android and not args.build_wasm: + njobs = number_of_parallel_jobs(args) + if njobs > 1: + if args.parallel == 0: + cflags += ["/MP"] + else: + cflags += ["/MP%d" % njobs] # Setup default values for cflags/cxxflags/ldflags. # The values set here are purely for security and compliance purposes. ONNX Runtime should work fine without these flags. if ( - "CFLAGS" not in os.environ - and "CXXFLAGS" not in os.environ - and (not args.use_cuda or "CUDAFLAGS" not in os.environ) + (args.use_binskim_compliant_compile_flags or args.enable_address_sanitizer) and not args.ios and not args.android and not args.build_wasm - and not args.use_rocm - and not (is_linux() and platform.machine() != "aarch64" and platform.machine() != "x86_64") ): if is_windows(): - cflags = ["/guard:cf", "/DWIN32", "/D_WINDOWS"] - if args.parallel: - cflags += ["/MP"] + cflags += ["/guard:cf", "/DWIN32", "/D_WINDOWS"] if not args.use_gdk: # Target Windows 10 cflags += [ @@ -1516,7 +1518,8 @@ def generate_build_tree( # The "/profile" flag implies "/DEBUG:FULL /DEBUGTYPE:cv,fixup /OPT:REF /OPT:NOICF /INCREMENTAL:NO /FIXED:NO". We set it for satisfying a Microsoft internal compliance requirement. External users # do not need to have it. ldflags = ["/profile", "/DYNAMICBASE"] - if args.enable_qspectre: + # Address Sanitizer libs do not have a Qspectre version. So they two cannot be both enabled. + if not args.enable_address_sanitizer: cflags += ["/Qspectre"] if config == "Release": cflags += ["/O2", "/Ob2", "/DNDEBUG"] @@ -1524,13 +1527,11 @@ def generate_build_tree( cflags += ["/O2", "/Ob1", "/DNDEBUG"] elif config == "Debug": cflags += ["/Ob0", "/Od", "/RTC1"] - if args.enable_address_sanitizer: - cflags += ["/fsanitize=address"] elif config == "MinSizeRel": cflags += ["/O1", "/Ob1", "/DNDEBUG"] + if args.enable_address_sanitizer: + cflags += ["/fsanitize=address"] cxxflags = cflags.copy() - if not args.disable_exceptions: - cxxflags += ["/EHsc"] if args.use_cuda: # On Windows, nvcc passes /EHsc to the host compiler by default. cuda_compile_flags_str = "" @@ -1590,6 +1591,8 @@ def generate_build_tree( cxxflags = cflags.copy() if args.use_cuda: cudaflags = cflags.copy() + if cxxflags is None and cflags is not None and len(cflags) != 0: + cxxflags = cflags.copy() config_build_dir = get_config_build_dir(build_dir, config) os.makedirs(config_build_dir, exist_ok=True) if args.use_tvm: @@ -1604,7 +1607,7 @@ def generate_build_tree( ) preinstalled_dir = Path(build_dir) / config temp_cmake_args = cmake_args.copy() - if cflags is not None and cxxflags is not None: + if cflags is not None and cxxflags is not None and len(cflags) != 0 and len(cxxflags) != 0: temp_cmake_args += [ "-DCMAKE_C_FLAGS=%s" % (" ".join(cflags)), "-DCMAKE_CXX_FLAGS=%s" % (" ".join(cxxflags)), diff --git a/tools/ci_build/github/azure-pipelines/linux-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/linux-ci-pipeline.yml index cff7c96aa9253..a4bd24b4dd18b 100644 --- a/tools/ci_build/github/azure-pipelines/linux-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-ci-pipeline.yml @@ -93,7 +93,7 @@ stages: --config Debug \ --skip_submodule_sync \ --build_shared_lib \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --build_csharp \ --enable_onnx_tests --enable_address_sanitizer \ --update --build; @@ -102,7 +102,7 @@ stages: --config Debug \ --skip_submodule_sync \ --build_shared_lib \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --build_csharp \ --enable_onnx_tests --enable_address_sanitizer \ --test;" @@ -228,7 +228,7 @@ stages: --config Release \ --skip_submodule_sync \ --build_shared_lib \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --build_wheel \ --build_csharp \ --enable_onnx_tests \ diff --git a/tools/ci_build/github/azure-pipelines/linux-cpu-aten-pipeline.yml b/tools/ci_build/github/azure-pipelines/linux-cpu-aten-pipeline.yml index 090ce97296687..31decb0c2ffcc 100644 --- a/tools/ci_build/github/azure-pipelines/linux-cpu-aten-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-cpu-aten-pipeline.yml @@ -94,7 +94,7 @@ jobs: --config Release \ --skip_submodule_sync \ --build_shared_lib \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --build_wheel \ --skip_tests \ --cmake_extra_defines onnxruntime_ENABLE_ATEN=ON \ @@ -126,7 +126,7 @@ jobs: --config Release \ --skip_submodule_sync \ --build_shared_lib \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --build_wheel \ --test \ --cmake_extra_defines onnxruntime_ENABLE_ATEN=ON" diff --git a/tools/ci_build/github/azure-pipelines/linux-cpu-eager-pipeline.yml b/tools/ci_build/github/azure-pipelines/linux-cpu-eager-pipeline.yml index d3d13cc5344da..b3f5ff9631412 100644 --- a/tools/ci_build/github/azure-pipelines/linux-cpu-eager-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-cpu-eager-pipeline.yml @@ -80,7 +80,7 @@ jobs: --config Release \ --skip_submodule_sync \ --build_shared_lib \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --enable_lazy_tensor --enable_training --build_wheel --skip_test \ workingDirectory: $(Build.SourcesDirectory) diff --git a/tools/ci_build/github/azure-pipelines/linux-cpu-minimal-build-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/linux-cpu-minimal-build-ci-pipeline.yml index 1df36c2f2fb13..1053a2518125f 100644 --- a/tools/ci_build/github/azure-pipelines/linux-cpu-minimal-build-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-cpu-minimal-build-ci-pipeline.yml @@ -141,7 +141,7 @@ jobs: --config Debug \ --skip_submodule_sync \ --build_shared_lib \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --skip_tests \ --minimal_build \ --disable_exceptions \ @@ -222,7 +222,7 @@ jobs: --build_dir /build/5 --cmake_generator Ninja \ --config Debug \ --skip_submodule_sync \ - --build_shared_lib \ + --build_shared_lib --use_binskim_compliant_compile_flags \ --parallel \ --minimal_build extended workingDirectory: $(Build.SourcesDirectory) @@ -246,7 +246,7 @@ jobs: --skip_submodule_sync \ --build_shared_lib \ --build_wheel \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --skip_tests \ --disable_ml_ops \ --disable_types sparsetensor float8 optional \ @@ -272,7 +272,7 @@ jobs: --config MinSizeRel \ --skip_submodule_sync \ --build_shared_lib \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --minimal_build \ --disable_exceptions \ --disable_ml_ops \ @@ -300,7 +300,7 @@ jobs: --cmake_generator Ninja \ --config MinSizeRel \ --skip_submodule_sync \ - --build_shared_lib \ + --build_shared_lib --use_binskim_compliant_compile_flags \ --parallel \ --minimal_build extended \ --disable_exceptions \ @@ -330,7 +330,7 @@ jobs: --cmake_generator Ninja \ --config MinSizeRel \ --skip_submodule_sync \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --android \ --android_sdk_path /android_home \ --android_ndk_path /ndk_home \ diff --git a/tools/ci_build/github/azure-pipelines/linux-gpu-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/linux-gpu-ci-pipeline.yml index 5779b1da3fd43..b19a8b11db265 100644 --- a/tools/ci_build/github/azure-pipelines/linux-gpu-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-gpu-ci-pipeline.yml @@ -131,7 +131,7 @@ jobs: --config Release --update --build \ --skip_submodule_sync \ --build_shared_lib \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --build_wheel \ --enable_onnx_tests --use_cuda --cuda_version=${{parameters.CudaVersion}} --cuda_home=/usr/local/cuda-${{parameters.CudaVersion}} --cudnn_home=/usr/local/cuda-${{parameters.CudaVersion}} \ --enable_cuda_profiling --enable_cuda_nhwc_ops \ @@ -215,7 +215,7 @@ jobs: cd /onnxruntime_src/java && /onnxruntime_src/java/gradlew cmakeCheck -DcmakeBuildDir=/build/Release -DUSE_CUDA=1; \ cd /tmp; \ /tmp/python3 /onnxruntime_src/tools/ci_build/build.py \ - --build_dir /build --config Release --test --skip_submodule_sync --build_shared_lib --parallel --build_wheel --enable_onnx_tests \ + --build_dir /build --config Release --test --skip_submodule_sync --build_shared_lib --parallel --use_binskim_compliant_compile_flags --build_wheel --enable_onnx_tests \ --use_cuda --cuda_version=${{parameters.CudaVersion}} --cuda_home=/usr/local/cuda --cudnn_home=/usr/local/cuda \ --enable_pybind --build_java --ctest_path '' " diff --git a/tools/ci_build/github/azure-pipelines/linux-gpu-tensorrt-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/linux-gpu-tensorrt-ci-pipeline.yml index 4ca11a4d1565b..75e4ba54006d8 100644 --- a/tools/ci_build/github/azure-pipelines/linux-gpu-tensorrt-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-gpu-tensorrt-ci-pipeline.yml @@ -114,7 +114,7 @@ jobs: --config Release \ --skip_submodule_sync \ --build_shared_lib \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --build_wheel \ --enable_onnx_tests \ --use_cuda --cuda_home=/usr/local/cuda-${{ parameters.CudaVersion }} --cudnn_home=/usr/local/cuda-${{ parameters.CudaVersion }} \ diff --git a/tools/ci_build/github/azure-pipelines/linux-qnn-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/linux-qnn-ci-pipeline.yml index 07910911ab67a..0312b70d2b1d5 100644 --- a/tools/ci_build/github/azure-pipelines/linux-qnn-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-qnn-ci-pipeline.yml @@ -63,7 +63,7 @@ jobs: python3 tools/ci_build/build.py \ --build_dir build \ --config Release \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --use_qnn \ --qnn_home $(QNN_SDK_ROOT) \ --cmake_generator=Ninja \ @@ -73,7 +73,7 @@ jobs: - script: | python3 tools/ci_build/build.py \ --build_dir build \ - --config Release \ + --config Release --use_binskim_compliant_compile_flags \ --test \ --qnn_home $(QNN_SDK_ROOT) \ --cmake_generator=Ninja \ diff --git a/tools/ci_build/github/azure-pipelines/mac-coreml-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/mac-coreml-ci-pipeline.yml index f5472a49c5148..a3f56f5c448a9 100644 --- a/tools/ci_build/github/azure-pipelines/mac-coreml-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/mac-coreml-ci-pipeline.yml @@ -57,7 +57,7 @@ jobs: --build_dir build \ --skip_submodule_sync \ --cmake_generator=Ninja \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --build_shared_lib \ --config Debug \ --use_cache \ diff --git a/tools/ci_build/github/azure-pipelines/mac-ios-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/mac-ios-ci-pipeline.yml index 33701fccf0c5f..a1ca68c8279e7 100644 --- a/tools/ci_build/github/azure-pipelines/mac-ios-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/mac-ios-ci-pipeline.yml @@ -62,7 +62,7 @@ jobs: --use_xcode \ --config RelWithDebInfo \ --build_apple_framework \ - --parallel + --parallel --use_binskim_compliant_compile_flags displayName: (CPU, CoreML, XNNPACK EPs) Build onnxruntime for iOS x86_64 and run tests using simulator env: CC: clang diff --git a/tools/ci_build/github/azure-pipelines/mac-objc-static-analysis-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/mac-objc-static-analysis-ci-pipeline.yml index 6893fb95cfec5..7e8e72cad179f 100644 --- a/tools/ci_build/github/azure-pipelines/mac-objc-static-analysis-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/mac-objc-static-analysis-ci-pipeline.yml @@ -26,7 +26,7 @@ jobs: --enable_training_apis \ --cmake_extra_defines CMAKE_EXPORT_COMPILE_COMMANDS=ON \ --update --skip_submodule_sync \ - --build --parallel --target onnx_proto + --build --parallel --use_binskim_compliant_compile_flags --target onnx_proto displayName: Generate compile_commands.json and ONNX protobuf files - script: | diff --git a/tools/ci_build/github/azure-pipelines/nuget/templates/dml-vs-2022.yml b/tools/ci_build/github/azure-pipelines/nuget/templates/dml-vs-2022.yml index 4e7093f04a59f..9393fb07d718a 100644 --- a/tools/ci_build/github/azure-pipelines/nuget/templates/dml-vs-2022.yml +++ b/tools/ci_build/github/azure-pipelines/nuget/templates/dml-vs-2022.yml @@ -103,7 +103,7 @@ stages: displayName: 'Generate cmake config' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: '$(BuildCommand) --path_to_protoc_exe $(Build.BinariesDirectory)\installed\bin\protoc.exe --build_csharp --update --config $(BuildConfig) ${{ variables.build_py_lto_flag }}' + arguments: '$(BuildCommand) --use_binskim_compliant_compile_flags --parallel --path_to_protoc_exe $(Build.BinariesDirectory)\installed\bin\protoc.exe --build_csharp --update --config $(BuildConfig) ${{ variables.build_py_lto_flag }}' workingDirectory: '$(Build.BinariesDirectory)' - ${{ if notIn(parameters['sln_platform'], 'Win32', 'x64') }}: @@ -176,7 +176,7 @@ stages: 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) ${{ variables.build_py_lto_flag }} + python $(Build.SourcesDirectory)\tools\ci_build\build.py $(BuildCommand) --parallel --use_binskim_compliant_compile_flags --test --config $(BuildConfig) ${{ variables.build_py_lto_flag }} workingDirectory: '$(Build.BinariesDirectory)\$(BuildConfig)\$(BuildConfig)' displayName: 'Run tests' diff --git a/tools/ci_build/github/azure-pipelines/orttraining-linux-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/orttraining-linux-ci-pipeline.yml index 26fd5e1ec0b5d..d8f02054a3216 100644 --- a/tools/ci_build/github/azure-pipelines/orttraining-linux-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/orttraining-linux-ci-pipeline.yml @@ -102,7 +102,7 @@ jobs: --config Release \ --skip_submodule_sync \ --build_shared_lib \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --build_wheel \ --enable_onnx_tests \ --enable_training \ diff --git a/tools/ci_build/github/azure-pipelines/orttraining-py-packaging-pipeline-cpu.yml b/tools/ci_build/github/azure-pipelines/orttraining-py-packaging-pipeline-cpu.yml index a44a8c215939f..bf1ba71b7b818 100644 --- a/tools/ci_build/github/azure-pipelines/orttraining-py-packaging-pipeline-cpu.yml +++ b/tools/ci_build/github/azure-pipelines/orttraining-py-packaging-pipeline-cpu.yml @@ -69,7 +69,7 @@ stages: --config Debug Release \ --skip_submodule_sync \ --build_shared_lib \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --build_wheel \ --enable_onnx_tests \ --enable_pybind --enable_training diff --git a/tools/ci_build/github/azure-pipelines/qnn-ep-nuget-packaging-pipeline.yml b/tools/ci_build/github/azure-pipelines/qnn-ep-nuget-packaging-pipeline.yml index 47d97787d3b9e..b0509467e1689 100644 --- a/tools/ci_build/github/azure-pipelines/qnn-ep-nuget-packaging-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/qnn-ep-nuget-packaging-pipeline.yml @@ -37,7 +37,7 @@ jobs: buildArch: x64 setVcvars: true ALLOW_RELEASED_ONNX_OPSET_ONLY: '1' - commonBuildArgs: '--compile_no_warning_as_error --build_dir $(Build.BinariesDirectory)\Windows --skip_submodule_sync --build_shared_lib --cmake_generator "Visual Studio 17 2022" --config ${{ parameters.build_config }} --use_qnn --qnn_home C:\data\qnnsdk\${{parameters.QnnSdk}} --parallel' + commonBuildArgs: '--compile_no_warning_as_error --build_dir $(Build.BinariesDirectory)\Windows --skip_submodule_sync --build_shared_lib --cmake_generator "Visual Studio 17 2022" --config ${{ parameters.build_config }} --use_qnn --qnn_home C:\data\qnnsdk\${{parameters.QnnSdk}} --parallel --use_binskim_compliant_compile_flags ' steps: - template: templates/set-version-number-variables-step.yml diff --git a/tools/ci_build/github/azure-pipelines/templates/c-api-linux-cpu.yml b/tools/ci_build/github/azure-pipelines/templates/c-api-linux-cpu.yml index cf470b3fa2448..2da3b8a9bc7b8 100644 --- a/tools/ci_build/github/azure-pipelines/templates/c-api-linux-cpu.yml +++ b/tools/ci_build/github/azure-pipelines/templates/c-api-linux-cpu.yml @@ -64,7 +64,7 @@ jobs: docker run --rm --volume /data/onnx:/data/onnx:ro --volume $(Build.SourcesDirectory):/onnxruntime_src --volume $(Build.BinariesDirectory):/build \ --volume $HOME/.onnx:/home/onnxruntimedev/.onnx -e NIGHTLY_BUILD onnxruntimecpubuildcentos8${{parameters.OnnxruntimeArch}} /bin/bash -c "python3.9 \ /onnxruntime_src/tools/ci_build/build.py --enable_lto --build_java --build_nodejs --build_dir /build --config Release \ - --skip_submodule_sync --parallel --build_shared_lib ${{ parameters.AdditionalBuildFlags }} && cd /build/Release && make install DESTDIR=/build/linux-${{parameters.OnnxruntimeArch}}" + --skip_submodule_sync --parallel --use_binskim_compliant_compile_flags --build_shared_lib ${{ parameters.AdditionalBuildFlags }} && cd /build/Release && make install DESTDIR=/build/linux-${{parameters.OnnxruntimeArch}}" workingDirectory: $(Build.SourcesDirectory) displayName: 'Build' diff --git a/tools/ci_build/github/azure-pipelines/templates/jobs/win-ci-vs-2022-job.yml b/tools/ci_build/github/azure-pipelines/templates/jobs/win-ci-vs-2022-job.yml index e40c4d0e95dc5..dd703f3199d9b 100644 --- a/tools/ci_build/github/azure-pipelines/templates/jobs/win-ci-vs-2022-job.yml +++ b/tools/ci_build/github/azure-pipelines/templates/jobs/win-ci-vs-2022-job.yml @@ -138,7 +138,7 @@ jobs: Today: $(TODAY) CacheDir: $(ORT_CACHE_DIR) AdditionalKey: " $(System.StageName) | ${{ parameters.BuildConfig }} " - BuildPyArguments: '--config ${{ parameters.BuildConfig }} --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_csharp --update --parallel --cmake_generator "Visual Studio 17 2022" --build_shared_lib --enable_onnx_tests ${{ parameters.additionalBuildFlags }}' + BuildPyArguments: '--config ${{ parameters.BuildConfig }} --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_csharp --update --parallel --use_binskim_compliant_compile_flags --cmake_generator "Visual Studio 17 2022" --build_shared_lib --enable_onnx_tests ${{ parameters.additionalBuildFlags }}' MsbuildArguments: '-maxcpucount' BuildArch: ${{ parameters.buildArch }} Platform: ${{ parameters.msbuildPlatform }} diff --git a/tools/ci_build/github/azure-pipelines/templates/mac-cpu-packaging-steps.yml b/tools/ci_build/github/azure-pipelines/templates/mac-cpu-packaging-steps.yml index 0cb77e222af93..7672b604a5268 100644 --- a/tools/ci_build/github/azure-pipelines/templates/mac-cpu-packaging-steps.yml +++ b/tools/ci_build/github/azure-pipelines/templates/mac-cpu-packaging-steps.yml @@ -47,14 +47,14 @@ steps: BuildStep: - script: | rm -rf $(Build.BinariesDirectory)/Release - python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --update --build ${{ parameters.AdditionalBuildFlags }} --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --build_shared_lib --config Release + python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --update --build ${{ parameters.AdditionalBuildFlags }} --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --use_binskim_compliant_compile_flags --build_shared_lib --config Release displayName: 'Build ${{ parameters.MacosArch }}' env: CCACHE_DIR: ${{ parameters.CacheDir }} - ${{ if eq(parameters.MacosArch, 'x86_64') }}: - script: | - python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --test ${{ parameters.AdditionalBuildFlags }} --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --build_shared_lib --config Release + python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --test ${{ parameters.AdditionalBuildFlags }} --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --use_binskim_compliant_compile_flags --build_shared_lib --config Release displayName: 'Running Tests' - task: ShellScript@2 diff --git a/tools/ci_build/github/azure-pipelines/templates/py-packaging-stage.yml b/tools/ci_build/github/azure-pipelines/templates/py-packaging-stage.yml index 297498843c38d..146e3e58444c1 100644 --- a/tools/ci_build/github/azure-pipelines/templates/py-packaging-stage.yml +++ b/tools/ci_build/github/azure-pipelines/templates/py-packaging-stage.yml @@ -182,7 +182,7 @@ stages: --enable_pybind --enable_onnx_tests ${{ parameters.build_py_parameters }} - --parallel --update + --parallel --use_binskim_compliant_compile_flags --update $(TelemetryOption) workingDirectory: '$(Build.BinariesDirectory)' @@ -388,7 +388,7 @@ stages: set -e -x export _PYTHON_HOST_PLATFORM=macosx-${{variables.MACOSX_DEPLOYMENT_TARGET}}-universal2 python3 -m pip install -r '$(Build.SourcesDirectory)/tools/ci_build/github/linux/docker/scripts/requirements.txt' - python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --build_dir $(Build.BinariesDirectory) --use_coreml --skip_submodule_sync --parallel --config Release --build_wheel ${{ parameters.build_py_parameters }} --use_coreml --cmake_extra_defines CMAKE_OSX_ARCHITECTURES="arm64;x86_64" --update --build + python3 $(Build.SourcesDirectory)/tools/ci_build/build.py --build_dir $(Build.BinariesDirectory) --use_coreml --skip_submodule_sync --parallel --use_binskim_compliant_compile_flags --config Release --build_wheel ${{ parameters.build_py_parameters }} --use_coreml --cmake_extra_defines CMAKE_OSX_ARCHITECTURES="arm64;x86_64" --update --build displayName: 'Command Line Script' - script: | diff --git a/tools/ci_build/github/azure-pipelines/templates/py-packaging-training-cuda-stage.yml b/tools/ci_build/github/azure-pipelines/templates/py-packaging-training-cuda-stage.yml index 158037661f072..c6921e151a029 100644 --- a/tools/ci_build/github/azure-pipelines/templates/py-packaging-training-cuda-stage.yml +++ b/tools/ci_build/github/azure-pipelines/templates/py-packaging-training-cuda-stage.yml @@ -171,7 +171,7 @@ stages: --build_dir /build \ --config ${{ variables['buildConfig'] }} \ --skip_submodule_sync \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --build_wheel \ --enable_onnx_tests \ ${{ parameters.build_py_parameters }} \ diff --git a/tools/ci_build/github/azure-pipelines/templates/py-win-gpu.yml b/tools/ci_build/github/azure-pipelines/templates/py-win-gpu.yml index c83e130dd26e8..18368e59cad52 100644 --- a/tools/ci_build/github/azure-pipelines/templates/py-win-gpu.yml +++ b/tools/ci_build/github/azure-pipelines/templates/py-win-gpu.yml @@ -110,13 +110,13 @@ jobs: inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' arguments: > - --config RelWithDebInfo --enable_qspectre + --config RelWithDebInfo --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "$(VSGenerator)" --enable_pybind --enable_onnx_tests - --parallel --update + --parallel --use_binskim_compliant_compile_flags --update $(TelemetryOption) ${{ parameters.BUILD_PY_PARAMETERS }} ${{ parameters.EP_BUILD_FLAGS }} workingDirectory: '$(Build.BinariesDirectory)' diff --git a/tools/ci_build/github/azure-pipelines/templates/win-ci.yml b/tools/ci_build/github/azure-pipelines/templates/win-ci.yml index 31e41eb4bc2d7..8ed22153fd947 100644 --- a/tools/ci_build/github/azure-pipelines/templates/win-ci.yml +++ b/tools/ci_build/github/azure-pipelines/templates/win-ci.yml @@ -150,9 +150,9 @@ stages: inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' ${{ if eq(parameters['UseIncreasedTimeoutForTests'], 'true') }}: - arguments: '--config RelWithDebInfo --enable_qspectre --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "$(VSGenerator)" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }} --test_all_timeout 72000' + arguments: '--config RelWithDebInfo --use_binskim_compliant_compile_flags --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "$(VSGenerator)" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }} --test_all_timeout 72000' ${{ else }}: - arguments: '--config RelWithDebInfo --enable_qspectre --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "$(VSGenerator)" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }} ' + arguments: '--config RelWithDebInfo --use_binskim_compliant_compile_flags --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "$(VSGenerator)" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }} ' workingDirectory: '$(Build.BinariesDirectory)' - task: VSBuild@1 @@ -172,7 +172,7 @@ stages: condition: and(succeeded(), eq('${{ parameters.runTests}}', true)) inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: '--config RelWithDebInfo --enable_qspectre --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "$(VSGenerator)" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }}' + arguments: '--config RelWithDebInfo --use_binskim_compliant_compile_flags --enable_lto --disable_rtti --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "$(VSGenerator)" --enable_onnx_tests $(TelemetryOption) ${{ parameters.buildparameter }}' workingDirectory: '$(Build.BinariesDirectory)' - script: | diff --git a/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml index d65b75ba9ede1..53eea1d69fb0e 100644 --- a/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/win-ci-pipeline.yml @@ -74,7 +74,7 @@ stages: displayName: 'Build and Test' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: --config Debug --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --cmake_generator "Visual Studio 17 2022" --disable_memleak_checker --enable_address_sanitizer + arguments: --config Debug --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --parallel --use_binskim_compliant_compile_flags --cmake_generator "Visual Studio 17 2022" --disable_memleak_checker --enable_address_sanitizer workingDirectory: '$(Build.BinariesDirectory)' diff --git a/tools/ci_build/github/azure-pipelines/win-gpu-tensorrt-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/win-gpu-tensorrt-ci-pipeline.yml index 2c4e4eb011783..6cbe20bb93463 100644 --- a/tools/ci_build/github/azure-pipelines/win-gpu-tensorrt-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/win-gpu-tensorrt-ci-pipeline.yml @@ -54,7 +54,7 @@ jobs: WithCache: True Today: $(TODAY) AdditionalKey: "gpu-tensorrt | RelWithDebInfo" - BuildPyArguments: '--config RelWithDebInfo --enable_qspectre --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 17 2022" --build_wheel --enable_onnx_tests --use_tensorrt --tensorrt_home="C:\local\TensorRT-8.6.1.6.Windows10.x86_64.cuda-11.8" --cuda_home="$(Agent.TempDirectory)\v11.8" --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=75' + BuildPyArguments: '--config RelWithDebInfo --parallel --use_binskim_compliant_compile_flags --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 17 2022" --build_wheel --enable_onnx_tests --use_tensorrt --tensorrt_home="C:\local\TensorRT-8.6.1.6.Windows10.x86_64.cuda-11.8" --cuda_home="$(Agent.TempDirectory)\v11.8" --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=75' MsbuildArguments: $(MsbuildArguments) BuildArch: 'x64' Platform: 'x64' @@ -74,7 +74,7 @@ jobs: del wheel_filename_file python.exe -m pip install -q --upgrade %WHEEL_FILENAME% set PATH=$(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo;%PATH% - python $(Build.SourcesDirectory)\tools\ci_build\build.py --config RelWithDebInfo --enable_qspectre --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 17 2022" --build_wheel --enable_onnx_tests --use_tensorrt --tensorrt_home="C:\local\TensorRT-8.6.1.6.Windows10.x86_64.cuda-11.8" --cuda_home="$(Agent.TempDirectory)\v11.8" --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=75 + python $(Build.SourcesDirectory)\tools\ci_build\build.py --config RelWithDebInfo --use_binskim_compliant_compile_flags --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 17 2022" --build_wheel --enable_onnx_tests --use_tensorrt --tensorrt_home="C:\local\TensorRT-8.6.1.6.Windows10.x86_64.cuda-11.8" --cuda_home="$(Agent.TempDirectory)\v11.8" --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=75 workingDirectory: '$(Build.BinariesDirectory)\RelWithDebInfo\RelWithDebInfo' displayName: 'Run tests' diff --git a/tools/ci_build/github/azure-pipelines/win-qnn-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/win-qnn-ci-pipeline.yml index c686fc57ab5f1..6246bb83566e5 100644 --- a/tools/ci_build/github/azure-pipelines/win-qnn-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/win-qnn-ci-pipeline.yml @@ -76,7 +76,7 @@ jobs: WithCache: True Today: $(TODAY) AdditionalKey: "win-qnn | $(BuildConfig)" - BuildPyArguments: '--config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --compile_no_warning_as_error --update --cmake_generator "Visual Studio 17 2022" --use_qnn --qnn_home $(QNN_SDK_ROOT) --parallel' + BuildPyArguments: '--config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --compile_no_warning_as_error --update --cmake_generator "Visual Studio 17 2022" --use_qnn --qnn_home $(QNN_SDK_ROOT) --parallel --use_binskim_compliant_compile_flags' MsbuildArguments: $(MsbuildArguments) BuildArch: $(buildArch) Platform: 'x64' diff --git a/tools/ci_build/github/linux/build_cuda_c_api_package.sh b/tools/ci_build/github/linux/build_cuda_c_api_package.sh index 106536c0093b8..aec02f76693b4 100755 --- a/tools/ci_build/github/linux/build_cuda_c_api_package.sh +++ b/tools/ci_build/github/linux/build_cuda_c_api_package.sh @@ -4,6 +4,6 @@ docker run --gpus all -e NVIDIA_VISIBLE_DEVICES=all --rm --volume \ $BUILD_SOURCESDIRECTORY:/onnxruntime_src --volume $BUILD_BINARIESDIRECTORY:/build \ --volume /data/models:/build/models:ro --volume /data/onnx:/data/onnx:ro -e NIGHTLY_BUILD onnxruntimecuda${CUDA_VERSION_MAJOR}build \ /usr/bin/python3.9 /onnxruntime_src/tools/ci_build/build.py --enable_lto --build_java --build_nodejs --build_dir /build --config Release \ ---skip_submodule_sync --parallel --build_shared_lib --use_cuda --cuda_version=$CUDA_VERSION \ +--skip_submodule_sync --parallel --use_binskim_compliant_compile_flags --build_shared_lib --use_cuda --cuda_version=$CUDA_VERSION \ --cuda_home=/usr/local/cuda-$CUDA_VERSION --cudnn_home=/usr/local/cuda-$CUDA_VERSION \ --cmake_extra_defines 'CMAKE_CUDA_ARCHITECTURES=60;61;70;75;80' diff --git a/tools/ci_build/github/linux/build_linux_python_package.sh b/tools/ci_build/github/linux/build_linux_python_package.sh index 933d1f3d5874a..bc57cf4120d25 100755 --- a/tools/ci_build/github/linux/build_linux_python_package.sh +++ b/tools/ci_build/github/linux/build_linux_python_package.sh @@ -23,7 +23,7 @@ c) BUILD_CONFIG=${OPTARG};; esac done -BUILD_ARGS=("--build_dir" "/build" "--config" "$BUILD_CONFIG" "--update" "--build" "--skip_submodule_sync" "--parallel" "--build_wheel") +BUILD_ARGS=("--build_dir" "/build" "--config" "$BUILD_CONFIG" "--update" "--build" "--skip_submodule_sync" "--parallel" "--use_binskim_compliant_compile_flags" "--build_wheel") if [ "$BUILD_CONFIG" != "Debug" ]; then BUILD_ARGS+=("--enable_lto") diff --git a/tools/ci_build/github/linux/build_tensorrt_c_api_package.sh b/tools/ci_build/github/linux/build_tensorrt_c_api_package.sh index a65be0cb6baa8..7d65a6f738a5e 100755 --- a/tools/ci_build/github/linux/build_tensorrt_c_api_package.sh +++ b/tools/ci_build/github/linux/build_tensorrt_c_api_package.sh @@ -4,4 +4,4 @@ mkdir -p $HOME/.onnx docker run --gpus all -e CFLAGS -e CXXFLAGS -e NVIDIA_VISIBLE_DEVICES=all --rm --volume /data/onnx:/data/onnx:ro --volume $BUILD_SOURCESDIRECTORY:/onnxruntime_src --volume $BUILD_BINARIESDIRECTORY:/build \ --volume /data/models:/build/models:ro --volume $HOME/.onnx:/home/onnxruntimedev/.onnx -e NIGHTLY_BUILD onnxruntimecuda${CUDA_VERSION_MAJOR}xtrt86build \ /opt/python/cp38-cp38/bin/python3 /onnxruntime_src/tools/ci_build/build.py --build_dir /build --config Release \ ---skip_submodule_sync --parallel --build_shared_lib --build_java --build_nodejs --use_tensorrt --cuda_version=$CUDA_VERSION --cuda_home=/usr/local/cuda-$CUDA_VERSION --cudnn_home=/usr --tensorrt_home=/usr --cmake_extra_defines 'CMAKE_CUDA_ARCHITECTURES=60;61;70;75;80' +--skip_submodule_sync --parallel --use_binskim_compliant_compile_flags --build_shared_lib --build_java --build_nodejs --use_tensorrt --cuda_version=$CUDA_VERSION --cuda_home=/usr/local/cuda-$CUDA_VERSION --cudnn_home=/usr --tensorrt_home=/usr --cmake_extra_defines 'CMAKE_CUDA_ARCHITECTURES=60;61;70;75;80' diff --git a/tools/ci_build/github/linux/ort_minimal/build_full_ort_and_create_ort_files.sh b/tools/ci_build/github/linux/ort_minimal/build_full_ort_and_create_ort_files.sh index b35bbfbd517d2..640028ee7678c 100755 --- a/tools/ci_build/github/linux/ort_minimal/build_full_ort_and_create_ort_files.sh +++ b/tools/ci_build/github/linux/ort_minimal/build_full_ort_and_create_ort_files.sh @@ -22,7 +22,7 @@ python3 /onnxruntime_src/tools/ci_build/build.py \ --build_dir ${BUILD_DIR} --cmake_generator Ninja \ --config Debug \ --skip_submodule_sync \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --build_wheel \ --skip_tests \ --enable_training_ops \ diff --git a/tools/ci_build/github/linux/ort_minimal/build_minimal_ort_and_run_tests.sh b/tools/ci_build/github/linux/ort_minimal/build_minimal_ort_and_run_tests.sh index 2efcff917417b..58d493086ece9 100755 --- a/tools/ci_build/github/linux/ort_minimal/build_minimal_ort_and_run_tests.sh +++ b/tools/ci_build/github/linux/ort_minimal/build_minimal_ort_and_run_tests.sh @@ -72,7 +72,7 @@ python3 /onnxruntime_src/tools/ci_build/build.py \ --config Debug \ --skip_submodule_sync \ --build_shared_lib \ - --parallel \ + --parallel --use_binskim_compliant_compile_flags \ --minimal_build ${MINIMAL_BUILD_ARGS} \ --disable_ml_ops \ --include_ops_by_config ${REDUCED_OPS_CONFIG_FILE} \ diff --git a/tools/ci_build/github/linux/run_build.sh b/tools/ci_build/github/linux/run_build.sh index 43e1543890e3e..25b3610872a04 100755 --- a/tools/ci_build/github/linux/run_build.sh +++ b/tools/ci_build/github/linux/run_build.sh @@ -37,7 +37,7 @@ if [ $BUILD_OS = "yocto" ]; then make -j$(nproc) else - COMMON_BUILD_ARGS="--skip_submodule_sync --enable_onnx_tests --parallel --cmake_path /usr/bin/cmake --ctest_path /usr/bin/ctest" + COMMON_BUILD_ARGS="--skip_submodule_sync --enable_onnx_tests --parallel --use_binskim_compliant_compile_flags --cmake_path /usr/bin/cmake --ctest_path /usr/bin/ctest" if [ $BUILD_DEVICE = "gpu" ]; then _CUDNN_VERSION=$(echo $CUDNN_VERSION | cut -d. -f1-2) diff --git a/tools/scripts/python_test.sh b/tools/scripts/python_test.sh index bfdd4663feede..39d9ed432a1dc 100755 --- a/tools/scripts/python_test.sh +++ b/tools/scripts/python_test.sh @@ -24,5 +24,5 @@ python3 -m pip install $build_dir/$config/dist/*.whl echo Run $config unit tests pushd $build_dir/$config/ -python3 $src_dir/tools/ci_build/build.py --build_dir $build_dir --cmake_generator Ninja --config $config --test --skip_submodule_sync --build_shared_lib --parallel --build_wheel --enable_onnx_tests --enable_transformers_tool_test --ctest_path "" +python3 $src_dir/tools/ci_build/build.py --build_dir $build_dir --cmake_generator Ninja --config $config --test --skip_submodule_sync --build_shared_lib --parallel --use_binskim_compliant_compile_flags --build_wheel --enable_onnx_tests --enable_transformers_tool_test --ctest_path "" popd From 465540d29b87bcbe5b4bc1d7ff4e7fb082693746 Mon Sep 17 00:00:00 2001 From: Baiju Meswani Date: Mon, 29 Jan 2024 14:14:15 -0800 Subject: [PATCH 5/8] Update training api python documentation (#19287) --- .../on_device_training/training_api.rst | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/docs/python/on_device_training/training_api.rst b/docs/python/on_device_training/training_api.rst index 64f81f3f18142..f4856b085b7fc 100644 --- a/docs/python/on_device_training/training_api.rst +++ b/docs/python/on_device_training/training_api.rst @@ -42,12 +42,32 @@ Sample usage: CheckpointState.save_checkpoint(state, path_to_the_checkpoint_artifact) +.. autoclass:: onnxruntime.training.api.checkpoint_state.Parameter + :members: + :show-inheritance: + :member-order: bysource + :inherited-members: + :special-members: __repr__ + +.. autoclass:: onnxruntime.training.api.checkpoint_state.Parameters + :members: + :show-inheritance: + :member-order: bysource + :inherited-members: + :special-members: __getitem__, __setitem__, __contains__, __iter__, __repr__, __len__ + +.. autoclass:: onnxruntime.training.api.checkpoint_state.Properties + :members: + :show-inheritance: + :member-order: bysource + :inherited-members: + :special-members: __getitem__, __setitem__, __contains__, __iter__, __repr__, __len__ + .. autoclass:: onnxruntime.training.api.CheckpointState :members: :show-inheritance: :member-order: bysource :inherited-members: - :special-members: __getitem__, __setitem__, __contains__ .. autoclass:: onnxruntime.training.api.Module :members: From 00d048121bfd99644ac2241e0d001d5394a970b6 Mon Sep 17 00:00:00 2001 From: Chi Lo <54722500+chilo-ms@users.noreply.github.com> Date: Mon, 29 Jan 2024 17:36:27 -0800 Subject: [PATCH 6/8] [TensorRT EP] Fix InferenceSession::Run() not thread-safe issue (#19301) Given that InferenceSession::Run() is guaranteed to be thread-safe meaning multiple threads can call this function concurrently, TRT EP needs to carefully take care of concurrency here, if not, following concurrent issue might happen: - It's suggested that to perform inference concurrently in multiple streams, use one trt execution context per stream. In the design of TRT EP (Not apply per-thread context implementation) and if multiple threads are calling InferenceSession::Run() concurrently, the trt execution context instance is shared by all the threads and each thread aquires different stream from ORT. So TRT EP will end up having one trt execution context using multiple streams which is not suggested. But, since the whole compute_func() is protected by the lock and if cudaStreamSynchronize() is enforced here, one trt execution context per stream is guaranteed. Therefore, TRT EP needs to call cudaStreamSynchronize() at compute_func() which means to wait until stream has completed all operations to prevent the concurrent github isse: https://github.com/microsoft/onnxruntime/issues/19275 --- .../tensorrt/tensorrt_execution_provider.cc | 48 ++++++++++++++++--- .../tensorrt/tensorrt_execution_provider.h | 6 +-- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/onnxruntime/core/providers/tensorrt/tensorrt_execution_provider.cc b/onnxruntime/core/providers/tensorrt/tensorrt_execution_provider.cc index cdc28846bd12c..c0bf29e486c88 100644 --- a/onnxruntime/core/providers/tensorrt/tensorrt_execution_provider.cc +++ b/onnxruntime/core/providers/tensorrt/tensorrt_execution_provider.cc @@ -1684,6 +1684,16 @@ TensorrtExecutionProvider::TensorrtExecutionProvider(const TensorrtExecutionProv } } + // cuda graph: + // cudaStreamSynchronize() is not allowed in cuda graph capture. + // + // external stream: + // If user provides "external" cuda stream, only this cuda stream will be used even if multiple threads are running InferenceSession.Run() concurrently. + // So, no need to synchronize different streams after enqueueV3. + if (cuda_graph_enable_ || external_stream_) { + sync_stream_after_enqueue_ = false; + } + { auto lock = GetApiLock(); runtime_ = std::unique_ptr(nvinfer1::createInferRuntime(GetTensorrtLogger())); @@ -2529,7 +2539,6 @@ TensorrtExecutionProvider::GetCapability(const GraphViewer& graph, } else if (number_of_trt_nodes == number_of_ort_nodes) { LOGS_DEFAULT(INFO) << "[TensorRT EP] Whole graph will run on TensorRT execution provider"; } else { - sync_stream_after_enqueue_ = true; LOGS_DEFAULT(INFO) << "[TensorRT EP] Graph is partitioned and number of subgraphs running on TensorRT execution provider is " << number_of_subgraphs; } @@ -3131,7 +3140,7 @@ Status TensorrtExecutionProvider::CreateNodeComputeInfoFromGraph(const GraphView *p = {context->allocate_func, context->release_func, context->allocator_handle, context->node_name, builder_.get(), &parsers_[context->node_name], &engines_[context->node_name], &contexts_[context->node_name], &networks_[context->node_name], input_info_[context->node_name], output_info_[context->node_name], - input_shape_ranges_[context->node_name], sync_stream_after_enqueue_, &tensorrt_mu_, fp16_enable_, int8_enable_, int8_calibration_cache_available_, + input_shape_ranges_[context->node_name], &tensorrt_mu_, fp16_enable_, int8_enable_, int8_calibration_cache_available_, dla_enable_, dla_core_, &max_workspace_size_, trt_node_name_with_precision, engine_cache_enable_, cache_path_, runtime_.get(), profiles_[context->node_name], context_memory_sharing_enable_, &max_ctx_mem_size_, dynamic_range_map, engine_decryption_enable_, engine_decryption_, engine_encryption_, timing_cache_enable_, @@ -3159,7 +3168,6 @@ Status TensorrtExecutionProvider::CreateNodeComputeInfoFromGraph(const GraphView const std::unordered_map& input_indexes = (trt_state->input_info)[0]; const std::unordered_map& output_indexes = (trt_state->output_info)[0]; const std::unordered_map& output_types = (trt_state->output_info)[1]; - bool sync_stream_after_enqueue = trt_state->sync_stream_after_enqueue; auto fused_node_name = trt_state->fused_node_name; auto& shape_ranges = trt_state->input_shape_ranges; auto& dds_output_allocator_map = this->dds_output_allocator_maps_[fused_node_name]; @@ -3552,7 +3560,21 @@ Status TensorrtExecutionProvider::CreateNodeComputeInfoFromGraph(const GraphView return ORT_MAKE_STATUS(ONNXRUNTIME, FAIL, "TensorRT EP execution context enqueue failed."); } - if (sync_stream_after_enqueue || dds_output_set.size() > 0) { + /* + * Given that InferenceSession::Run() is guaranteed to be thread-safe meaning multiple threads can call this function concurrently, + * TRT EP needs to carefully take care of concurrency here, if not, following concurrent issue might happen: + * + * It's suggested that to perform inference concurrently in multiple streams, use one trt execution context per stream. + * In the design of TRT EP (Not apply per-thread context implementation) and if multiple threads are calling InferenceSession::Run() concurrently, + * the trt execution context instance is shared by all the threads and each thread aquires different stream from ORT. + * So TRT EP will end up having one trt execution context using multiple streams which is not suggested. + * But, since the whole compute_func() is protected by the lock and if cudaStreamSynchronize() is enforced here, one trt execution context per stream + * is guaranteed. + * + * Therefore, TRT EP needs to call cudaStreamSynchronize() which means to wait until stream has completed all operations to prevent the concurrent issue mentioned above. + * However, if cuda graph is enabled, TRT EP won't call cudaStreamSynchronize() since it's not allowed during graph capture. + */ + if (sync_stream_after_enqueue_) { CUDA_RETURN_IF_ERROR(cudaStreamSynchronize(stream)); } @@ -3696,7 +3718,6 @@ Status TensorrtExecutionProvider::CreateNodeComputeInfoFromPrecompiledEngine(con &contexts_[context->node_name], input_info_[context->node_name], output_info_[context->node_name], - sync_stream_after_enqueue_, context_memory_sharing_enable_, &max_ctx_mem_size_, &tensorrt_mu_}; @@ -3723,7 +3744,6 @@ Status TensorrtExecutionProvider::CreateNodeComputeInfoFromPrecompiledEngine(con const std::unordered_map& output_indexes = (trt_state->output_info)[0]; const std::unordered_map& output_types = (trt_state->output_info)[1]; auto fused_node_name = trt_state->fused_node_name; - bool sync_stream_after_enqueue = trt_state->sync_stream_after_enqueue; auto& dds_output_allocator_map = this->dds_output_allocator_maps_[fused_node_name]; auto trt_engine = trt_state->engine->get(); auto trt_context = trt_state->context->get(); @@ -3833,7 +3853,21 @@ Status TensorrtExecutionProvider::CreateNodeComputeInfoFromPrecompiledEngine(con return ORT_MAKE_STATUS(ONNXRUNTIME, FAIL, "TensorRT EP execution context enqueue failed."); } - if (sync_stream_after_enqueue || dds_output_set.size() > 0) { + /* + * Given that InferenceSession::Run() is guaranteed to be thread-safe meaning multiple threads can call this function concurrently, + * TRT EP needs to carefully take care of concurrency here, if not, following concurrent issue might happen: + * + * It's suggested that to perform inference concurrently in multiple streams, use one trt execution context per stream. + * In the design of TRT EP (Not apply per-thread context implementation) and if multiple threads are calling InferenceSession::Run() concurrently, + * the trt execution context instance is shared by all the threads and each thread aquires different stream from ORT. + * So TRT EP will end up having one trt execution context using multiple streams which is not suggested. + * But, since the whole compute_func() is protected by the lock and if cudaStreamSynchronize() is enforced here, one trt execution context per stream + * is guaranteed. + * + * Therefore, TRT EP needs to call cudaStreamSynchronize() which means to wait until stream has completed all operations to prevent the concurrent issue mentioned above. + * However, if cuda graph is enabled, TRT EP won't call cudaStreamSynchronize() since it's not allowed during graph capture. + */ + if (sync_stream_after_enqueue_) { CUDA_RETURN_IF_ERROR(cudaStreamSynchronize(stream)); } diff --git a/onnxruntime/core/providers/tensorrt/tensorrt_execution_provider.h b/onnxruntime/core/providers/tensorrt/tensorrt_execution_provider.h index ad2d2c55c67e1..e86f997b6597a 100644 --- a/onnxruntime/core/providers/tensorrt/tensorrt_execution_provider.h +++ b/onnxruntime/core/providers/tensorrt/tensorrt_execution_provider.h @@ -149,7 +149,6 @@ struct TensorrtFuncState { std::vector> input_info; std::vector> output_info; std::unordered_map>>> input_shape_ranges; - bool sync_stream_after_enqueue = false; OrtMutex* tensorrt_mu_ptr = nullptr; bool fp16_enable = false; bool int8_enable = false; @@ -193,7 +192,6 @@ struct TensorrtShortFuncState { std::unique_ptr* context = nullptr; std::vector> input_info; std::vector> output_info; - bool sync_stream_after_enqueue = false; bool context_memory_sharing_enable = false; size_t* max_context_mem_size_ptr = nullptr; OrtMutex* tensorrt_mu_ptr = nullptr; @@ -335,8 +333,8 @@ class TensorrtExecutionProvider : public IExecutionProvider { cudnnHandle_t external_cudnn_handle_ = nullptr; cublasHandle_t external_cublas_handle_ = nullptr; - // Call cudaStreamSynchronize() after TRT enqueueV2()/enqueueV3() - mutable bool sync_stream_after_enqueue_ = false; + // Call cudaStreamSynchronize() after TRT enqueueV3() + mutable bool sync_stream_after_enqueue_ = true; CUDAGraph cuda_graph_; bool is_graph_captured_ = false; From 624b4e20635d37458a361a87e562f5ba5011f6cb Mon Sep 17 00:00:00 2001 From: Xu Xing Date: Tue, 30 Jan 2024 09:49:06 +0800 Subject: [PATCH 7/8] [js/webgpu] Remove enableShapesUniforms (#19279) --- .../ops/3rd-party/matmul_packed_webgpu.ts | 12 +++--- js/web/lib/wasm/jsep/webgpu/ops/batch-norm.ts | 4 +- js/web/lib/wasm/jsep/webgpu/ops/binary-op.ts | 37 +++++++----------- js/web/lib/wasm/jsep/webgpu/ops/common.ts | 3 -- js/web/lib/wasm/jsep/webgpu/ops/concat.ts | 26 ++++--------- js/web/lib/wasm/jsep/webgpu/ops/einsum.ts | 31 +++++---------- js/web/lib/wasm/jsep/webgpu/ops/expand.ts | 25 ++++-------- js/web/lib/wasm/jsep/webgpu/ops/gather.ts | 39 ++++++------------- js/web/lib/wasm/jsep/webgpu/ops/transpose.ts | 25 +++++------- 9 files changed, 68 insertions(+), 134 deletions(-) diff --git a/js/web/lib/wasm/jsep/webgpu/ops/3rd-party/matmul_packed_webgpu.ts b/js/web/lib/wasm/jsep/webgpu/ops/3rd-party/matmul_packed_webgpu.ts index ee71110245252..5881c055ef135 100644 --- a/js/web/lib/wasm/jsep/webgpu/ops/3rd-party/matmul_packed_webgpu.ts +++ b/js/web/lib/wasm/jsep/webgpu/ops/3rd-party/matmul_packed_webgpu.ts @@ -443,9 +443,9 @@ export const createMatmulProgramInfo = const components = isVec4 ? 4 : 1; const aShapeTemp = [...outerDimsA, dimAOuter, dimInner / components]; - const aShapeOrRank = aShapeTemp.length; + const aRank = aShapeTemp.length; const bShapeTemp = [...outerDimsB, dimInner, dimBOuter / components]; - const bShapeOrRank = bShapeTemp.length; + const bRank = bShapeTemp.length; const outputShapeTemp = [batchSize, dimAOuter, dimBOuter / components]; const programUniforms: ProgramUniform[] = [{type: 'int32', data: dimAOuter}, {type: 'int32', data: dimBOuter}, {type: 'int32', data: dimInner}]; @@ -467,12 +467,12 @@ export const createMatmulProgramInfo = programUniforms.push(...createTensorShapeVariables(outputShapeTemp)); const getShaderSource = (shaderHelper: ShaderHelper) => { - const batchShapeOrRank = outerDims.length; - const batchDims = internalVariable('batchDims', inputs[0].dataType, batchShapeOrRank, 1); + const batchRank = outerDims.length; + const batchDims = internalVariable('batchDims', inputs[0].dataType, batchRank, 1); const dataType = tensorTypeToWsglStorageType(inputs[0].dataType); - const A = inputVariable('a', inputs[0].dataType, aShapeOrRank, components); - const B = inputVariable('b', inputs[1].dataType, bShapeOrRank, components); + const A = inputVariable('a', inputs[0].dataType, aRank, components); + const B = inputVariable('b', inputs[1].dataType, bRank, components); const output = outputVariable('result', inputs[0].dataType, outputShapeTemp.length, components); const inputVariables = [A, B]; if (hasBias) { diff --git a/js/web/lib/wasm/jsep/webgpu/ops/batch-norm.ts b/js/web/lib/wasm/jsep/webgpu/ops/batch-norm.ts index 00a6ca75b34fa..159b971636765 100644 --- a/js/web/lib/wasm/jsep/webgpu/ops/batch-norm.ts +++ b/js/web/lib/wasm/jsep/webgpu/ops/batch-norm.ts @@ -8,7 +8,7 @@ import {ShapeUtil} from '../../util'; import {AttributeWithCacheKey, createAttributeWithCacheKey} from '../attribute-with-cache-key'; import {ComputeContext, ProgramInfo} from '../types'; -import {createTensorShapeVariables, enableShapesUniforms, getMaxComponents, inputVariable, outputVariable, ShaderHelper} from './common'; +import {createTensorShapeVariables, getMaxComponents, inputVariable, outputVariable, ShaderHelper} from './common'; export interface BatchNormAttributes extends AttributeWithCacheKey { readonly epsilon: number; @@ -61,7 +61,7 @@ const createBatchNormInferenceProgramInfo = const cComponents = format === 'NHWC' && yShape.length > 1 ? components : 1; const outputSize = ShapeUtil.size(yShape) / components; // Only support uniforms for opset version >= 9 (spatial = true). - const useShapesUniforms = enableShapesUniforms(yShape.length) && spatial; + const useShapesUniforms = spatial; const shapeOrRank = useShapesUniforms ? yShape.length : yShape; const x = inputVariable('x', inputs[0].dataType, inputs[0].dims, components); const scale = inputVariable('scale', inputs[1].dataType, inputs[1].dims, cComponents); diff --git a/js/web/lib/wasm/jsep/webgpu/ops/binary-op.ts b/js/web/lib/wasm/jsep/webgpu/ops/binary-op.ts index c033c0ba05356..8e144a36dc1b0 100644 --- a/js/web/lib/wasm/jsep/webgpu/ops/binary-op.ts +++ b/js/web/lib/wasm/jsep/webgpu/ops/binary-op.ts @@ -6,7 +6,7 @@ import {TensorView} from '../../tensor-view'; import {BroadcastUtil, ShapeUtil} from '../../util'; import {ComputeContext, ProgramInfo} from '../types'; -import {createTensorShapeVariables, enableShapesUniforms, inputVariable, outputVariable, ShaderHelper} from './common'; +import {createTensorShapeVariables, inputVariable, outputVariable, ShaderHelper} from './common'; type BuiltinFunctionName = string; type BinaryCustomExpression = (expressionA: string, expressionB: string) => string; @@ -18,8 +18,7 @@ type BinaryFunctionCall = BuiltinFunctionName|BinaryCustomExpression|{ const createBinaryOpProgramShader = (shaderHelper: ShaderHelper, dimsA: readonly number[], dimsB: readonly number[], dimsOutput: readonly number[], vectorize: boolean, doBroadcast: boolean, sharedDimensionDivisibleBy4: boolean, funcCall: BinaryFunctionCall, - typeA: number, typeB: number, typeOutput: number, useShapesUniforms: boolean, - additionalImplementation?: string) => { + typeA: number, typeB: number, typeOutput: number, additionalImplementation?: string) => { let expressionScalar: BinaryCustomExpression; let expressionVector: BinaryCustomExpression; if (typeof funcCall === 'string') { @@ -31,12 +30,9 @@ const createBinaryOpProgramShader = expressionVector = funcCall.vector; } - const inputAShapeOrRank = useShapesUniforms ? dimsA.length : dimsA; - const inputBShapeOrRank = useShapesUniforms ? dimsB.length : dimsB; - const outputShapeOrRank = useShapesUniforms ? dimsOutput.length : dimsOutput; - const output = outputVariable('outputData', typeOutput, outputShapeOrRank, 4); - const a = inputVariable('aData', typeA, inputAShapeOrRank, 4); - const b = inputVariable('bData', typeB, inputBShapeOrRank, 4); + const output = outputVariable('outputData', typeOutput, dimsOutput.length, 4); + const a = inputVariable('aData', typeA, dimsA.length, 4); + const b = inputVariable('bData', typeB, dimsB.length, 4); let assignment: string; if (vectorize) { @@ -169,30 +165,25 @@ const createBinaryOpProgramInfo = vectorize = true; } cacheKeyAux.push(vectorize); - const useShapesUniforms = enableShapesUniforms(a.dims.length) && enableShapesUniforms(b.dims.length) && - enableShapesUniforms(outputShape.length); + return { name, shaderCache: { hint: cacheKey + cacheKeyAux.map((x) => x.toString()).join('_'), - inputDependencies: useShapesUniforms ? ['rank', 'rank'] : ['dims', 'dims'], + inputDependencies: ['rank', 'rank'], }, getShaderSource: (shaderHelper) => createBinaryOpProgramShader( shaderHelper, a.dims, b.dims, outputShape, vectorize, isBroadcast, sharedDimensionDivisibleBy4, funcCall, - a.dataType, b.dataType, outputDataType, useShapesUniforms, additionalImplementation), + a.dataType, b.dataType, outputDataType, additionalImplementation), getRunData: () => ({ outputs: [{dims: outputShape, dataType: outputDataType}], dispatchGroup: {x: Math.ceil(outputSize / 64 /* workgroup size */ / 4 /* component size */)}, - programUniforms: useShapesUniforms ? - [ - {type: 'uint32', data: Math.ceil(ShapeUtil.size(outputShape) / 4)}, - ...createTensorShapeVariables(a.dims), - ...createTensorShapeVariables(b.dims), - ...createTensorShapeVariables(outputShape), - ] : - [ - {type: 'uint32', data: Math.ceil(ShapeUtil.size(outputShape) / 4)}, - ], + programUniforms: [ + {type: 'uint32', data: Math.ceil(ShapeUtil.size(outputShape) / 4)}, + ...createTensorShapeVariables(a.dims), + ...createTensorShapeVariables(b.dims), + ...createTensorShapeVariables(outputShape), + ], }), }; }; diff --git a/js/web/lib/wasm/jsep/webgpu/ops/common.ts b/js/web/lib/wasm/jsep/webgpu/ops/common.ts index 643744108c0f4..1bedf31ee4e38 100644 --- a/js/web/lib/wasm/jsep/webgpu/ops/common.ts +++ b/js/web/lib/wasm/jsep/webgpu/ops/common.ts @@ -922,6 +922,3 @@ export const getBroadcastDims = (inShape: readonly number[], outShape: readonly } return dims; }; - -// TODO: remove this when all related uses have been removed. -export const enableShapesUniforms = (_rank: number): boolean => true; diff --git a/js/web/lib/wasm/jsep/webgpu/ops/concat.ts b/js/web/lib/wasm/jsep/webgpu/ops/concat.ts index 43cc4a4c080bd..daa326b1a34e2 100644 --- a/js/web/lib/wasm/jsep/webgpu/ops/concat.ts +++ b/js/web/lib/wasm/jsep/webgpu/ops/concat.ts @@ -6,7 +6,7 @@ import {ShapeUtil} from '../../util'; import {AttributeWithCacheKey, createAttributeWithCacheKey} from '../attribute-with-cache-key'; import {ComputeContext, ProgramInfo, ProgramInputTensorInfoDependency, ProgramUniform} from '../types'; -import {createTensorShapeVariables, enableShapesUniforms, IndicesHelper, inputVariable, outputVariable, ShaderHelper} from './common'; +import {createTensorShapeVariables, IndicesHelper, inputVariable, outputVariable, ShaderHelper} from './common'; export interface ConcatAttributes extends AttributeWithCacheKey { readonly axis: number; @@ -94,32 +94,22 @@ const createConcatProgramInfo = (inputs: readonly TensorView[], axis: number): P let previousSum = 0; const inputDependencies: ProgramInputTensorInfoDependency[] = []; - const inputShapeOrRanks = []; - const enableInputShapesUniforms = []; + const inputRanks = []; const programUniforms: ProgramUniform[] = [{type: 'uint32', data: outputSize}]; for (let i = 0; i < inputs.length; ++i) { previousSum += inputs[i].dims[adjustedAxis]; sizeInConcatAxis[i] = previousSum; - enableInputShapesUniforms.push(enableShapesUniforms(inputs[i].dims.length)); - inputShapeOrRanks.push(enableInputShapesUniforms[i] ? inputs[i].dims.length : inputs[i].dims); - inputVars[i] = inputVariable(`input${i}`, dataType, inputShapeOrRanks[i]); - inputDependencies.push(enableInputShapesUniforms[i] ? 'rank' : 'dims'); + inputRanks.push(inputs[i].dims.length); + inputVars[i] = inputVariable(`input${i}`, dataType, inputRanks[i]); + inputDependencies.push('rank'); programUniforms.push({type: 'uint32', data: sizeInConcatAxis[i]}); } for (let i = 0; i < inputs.length; ++i) { - if (enableInputShapesUniforms[i]) { - programUniforms.push(...createTensorShapeVariables(inputs[i].dims)); - } - } - - const enableOutputShapesUniforms = enableShapesUniforms(outputShape.length); - if (enableOutputShapesUniforms) { - programUniforms.push(...createTensorShapeVariables(outputShape)); + programUniforms.push(...createTensorShapeVariables(inputs[i].dims)); } + programUniforms.push(...createTensorShapeVariables(outputShape)); - const outputShapeOrRank = enableOutputShapesUniforms ? outputShape.length : outputShape; - const output = outputVariable('output', dataType, outputShapeOrRank); - + const output = outputVariable('output', dataType, outputShape.length); const indicesAxis = output.indicesGet('indices', adjustedAxis); const sizeInConcatAxisStr = Array.from(Array(sizeInConcatAxis.length).keys()).map(i => `uniforms.sizeInConcatAxis${i}`).join(','); diff --git a/js/web/lib/wasm/jsep/webgpu/ops/einsum.ts b/js/web/lib/wasm/jsep/webgpu/ops/einsum.ts index 4db7c04ad67be..9e1f58bbfa127 100644 --- a/js/web/lib/wasm/jsep/webgpu/ops/einsum.ts +++ b/js/web/lib/wasm/jsep/webgpu/ops/einsum.ts @@ -6,8 +6,7 @@ import {ShapeUtil} from '../../util'; import {AttributeWithCacheKey, createAttributeWithCacheKey} from '../attribute-with-cache-key'; import {ComputeContext, ProgramInfo, ProgramUniform} from '../types'; -import {createTensorShapeVariables, enableShapesUniforms, inputVariable, outputVariable, ShaderHelper} from './common'; - +import {createTensorShapeVariables, inputVariable, outputVariable, ShaderHelper} from './common'; export interface EinsumAttributes extends AttributeWithCacheKey { readonly equation: string; @@ -181,14 +180,12 @@ class EinsumEquation { const appendMax = (name: string): string => name + '_max'; const createEinsumProgramInfo = - (enableInputShapesUniforms: readonly boolean[], inputShapes: Array, dataType: number, - einsumEquation: EinsumEquation, outputShape: readonly number[]): ProgramInfo => { - const shapeOrRanks = inputShapes.map((dims, index) => enableInputShapesUniforms[index] ? dims.length : dims); - const inputVars = shapeOrRanks.map((shapeOrRank, index) => inputVariable(`input${index}`, dataType, shapeOrRank)); + (inputShapes: Array, dataType: number, einsumEquation: EinsumEquation, + outputShape: readonly number[]): ProgramInfo => { + const ranks = inputShapes.map((dims) => dims.length); + const inputVars = ranks.map((rank, index) => inputVariable(`input${index}`, dataType, rank)); const outputSize = ShapeUtil.size(outputShape); - const enableOutputShapesUniforms = enableShapesUniforms(outputShape.length); - const outputShapeOrRank = enableOutputShapesUniforms ? outputShape.length : outputShape; - const output = outputVariable('output', dataType, outputShapeOrRank); + const output = outputVariable('output', dataType, outputShape.length); const uniformsSymbols = [...einsumEquation.symbolToInfo.keys()].filter((symbol) => !einsumEquation.rhs.symbolToIndices.has(symbol)); const getShaderSource = (shaderHelper: ShaderHelper) => { @@ -269,10 +266,7 @@ const createEinsumProgramInfo = }; return { name: 'Einsum', - shaderCache: { - hint: einsumEquation.equation, - inputDependencies: enableInputShapesUniforms.map((enableShapeUniform) => enableShapeUniform ? 'rank' : 'dims') - }, + shaderCache: {hint: einsumEquation.equation, inputDependencies: inputShapes.map(() => 'rank')}, getRunData: () => { // The symbols from uniformSymbols array are guaranteed to exist in einsumEquations.symbolToInfo map. The // filter is added to make sure that dimValue is never 0. @@ -281,12 +275,9 @@ const createEinsumProgramInfo = .map((symbol) => ({type: 'uint32', data: einsumEquation.symbolToInfo.get(symbol)?.dimValue || 0})); programUniformsInit.push({type: 'uint32', data: outputSize}); const programUniforms: ProgramUniform[] = - inputShapes.filter((_, index) => enableInputShapesUniforms[index]) - .map((dims, _) => [...createTensorShapeVariables(dims)]) + inputShapes.map((dims, _) => [...createTensorShapeVariables(dims)]) .reduce((acc, inputProgramUniforms) => acc.concat(inputProgramUniforms), programUniformsInit); - if (enableOutputShapesUniforms) { - programUniforms.push(...createTensorShapeVariables(outputShape)); - } + programUniforms.push(...createTensorShapeVariables(outputShape)); return ({ outputs: [{dims: outputShape, dataType}], dispatchGroup: {x: Math.ceil(outputSize / 64 /* workgroup size */)}, @@ -299,11 +290,9 @@ const createEinsumProgramInfo = export const einsum = (context: ComputeContext, attributes: EinsumAttributes): void => { const einsumEquation = new EinsumEquation(context.inputs, attributes.equation); - const enableInputShapesUniforms = context.inputs.map((input, _) => enableShapesUniforms(input.dims.length)); const outputShape = einsumEquation.outputDims; const inputShapes = context.inputs.map((input, _) => input.dims); - context.compute(createEinsumProgramInfo( - enableInputShapesUniforms, inputShapes, context.inputs[0].dataType, einsumEquation, outputShape)); + context.compute(createEinsumProgramInfo(inputShapes, context.inputs[0].dataType, einsumEquation, outputShape)); }; export const parseEinsumAttributes = (attributes: Record): EinsumAttributes => { diff --git a/js/web/lib/wasm/jsep/webgpu/ops/expand.ts b/js/web/lib/wasm/jsep/webgpu/ops/expand.ts index 035d89755c7d7..dd18bd23a5912 100644 --- a/js/web/lib/wasm/jsep/webgpu/ops/expand.ts +++ b/js/web/lib/wasm/jsep/webgpu/ops/expand.ts @@ -6,7 +6,7 @@ import {TensorView} from '../../tensor-view'; import {ShapeUtil} from '../../util'; import {ComputeContext, ProgramInfo, ProgramUniform} from '../types'; -import {createTensorShapeVariables, enableShapesUniforms, inputVariable, outputVariable, ShaderHelper} from './common'; +import {createTensorShapeVariables, inputVariable, outputVariable, ShaderHelper} from './common'; const validateInputs = (inputs: readonly TensorView[]): void => { if (!inputs || inputs.length !== 2) { @@ -49,15 +49,9 @@ const createExpandProgramInfo = (inputs: readonly TensorView[]): ProgramInfo => const components = dataType === DataType.bool ? 4 : 1; const outputSize = Math.ceil(ShapeUtil.size(outputShape) / components); - const enableInputShapeUniform = enableShapesUniforms(inputShape.length); - const enableOutputShapeUniform = enableShapesUniforms(outputShape.length); - - const getShaderSource = (shaderHelper: ShaderHelper) => { - const inputShapeOrRank = enableInputShapeUniform ? inputShape.length : inputShape; - const outputShapeOrRank = enableOutputShapeUniform ? outputShape.length : outputShape; - const input = inputVariable('input', dataType, inputShapeOrRank, components); - const output = outputVariable('output', dataType, outputShapeOrRank, components); + const input = inputVariable('input', dataType, inputShape.length, components); + const output = outputVariable('output', dataType, outputShape.length, components); let assignment: string; if (dataType === DataType.bool) { const singleAssignment = (resStr: string, x: number, typeCast = '') => ` @@ -90,16 +84,13 @@ const createExpandProgramInfo = (inputs: readonly TensorView[]): ProgramInfo => ${assignment}`; }; - const programUniforms: ProgramUniform[] = [{type: 'uint32', data: outputSize}]; - if (enableInputShapeUniform) { - programUniforms.push(...createTensorShapeVariables(inputShape)); - } - if (enableOutputShapeUniform) { - programUniforms.push(...createTensorShapeVariables(outputShape)); - } + const programUniforms: ProgramUniform[] = [ + {type: 'uint32', data: outputSize}, ...createTensorShapeVariables(inputShape), + ...createTensorShapeVariables(outputShape) + ]; return { name: 'Expand', - shaderCache: {hint: `${outputShape.length}`, inputDependencies: [enableInputShapeUniform ? 'rank' : 'dims']}, + shaderCache: {hint: `${outputShape.length}`, inputDependencies: ['rank']}, getShaderSource, getRunData: () => ({ outputs: [{dims: outputShape, dataType: inputs[0].dataType}], diff --git a/js/web/lib/wasm/jsep/webgpu/ops/gather.ts b/js/web/lib/wasm/jsep/webgpu/ops/gather.ts index 469249f92ff28..e2a62c6655c72 100644 --- a/js/web/lib/wasm/jsep/webgpu/ops/gather.ts +++ b/js/web/lib/wasm/jsep/webgpu/ops/gather.ts @@ -5,9 +5,9 @@ import {DataType} from '../../../wasm-common'; import {TensorView} from '../../tensor-view'; import {ShapeUtil} from '../../util'; import {AttributeWithCacheKey, createAttributeWithCacheKey} from '../attribute-with-cache-key'; -import {ComputeContext, ProgramInfo, ProgramInputTensorInfoDependency, ProgramUniform} from '../types'; +import {ComputeContext, ProgramInfo, ProgramUniform} from '../types'; -import {createTensorShapeVariables, enableShapesUniforms, inputVariable, outputVariable, ShaderHelper} from './common'; +import {createTensorShapeVariables, inputVariable, outputVariable, ShaderHelper} from './common'; export interface GatherAttributes extends AttributeWithCacheKey { axis: number; @@ -33,33 +33,16 @@ const createGatherProgramInfo = (inputs: readonly TensorView[], attributes: Gath const components = inputs[0].dataType === DataType.bool ? 4 : 1; const outputSize = Math.ceil(ShapeUtil.size(outputShape) / components); - const enableInputShapesUniforms = enableShapesUniforms(inputs[0].dims.length); - const inputShapeOrRank = enableInputShapesUniforms ? inputs[0].dims.length : inputs[0].dims; - const enableIndicesShapesUniforms = enableShapesUniforms(inputs[1].dims.length); - const indicesShapeOrRank = enableIndicesShapesUniforms ? inputs[1].dims.length : inputs[1].dims; - const enableOutputShapesUniforms = enableShapesUniforms(outputShape.length); - const outputShapeOrRank = enableOutputShapesUniforms ? outputShape.length : outputShape; - - const programUniforms: ProgramUniform[] = - [{type: 'uint32', data: outputSize}, {type: 'int32', data: axisDimLimit}, {type: 'uint32', data: axis}]; - if (enableInputShapesUniforms) { - programUniforms.push(...createTensorShapeVariables(inputs[0].dims)); - } - if (enableIndicesShapesUniforms) { - programUniforms.push(...createTensorShapeVariables(inputs[1].dims)); - } - if (enableOutputShapesUniforms) { - programUniforms.push(...createTensorShapeVariables(outputShape)); - } - - const inputDependencies: ProgramInputTensorInfoDependency[] = []; - inputDependencies.push(enableInputShapesUniforms ? 'rank' : 'dims'); - inputDependencies.push(enableIndicesShapesUniforms ? 'rank' : 'dims'); + const programUniforms: ProgramUniform[] = [ + {type: 'uint32', data: outputSize}, {type: 'int32', data: axisDimLimit}, {type: 'uint32', data: axis}, + ...createTensorShapeVariables(inputs[0].dims), ...createTensorShapeVariables(inputs[1].dims), + ...createTensorShapeVariables(outputShape) + ]; const getShaderSource = (shaderHelper: ShaderHelper) => { - const data = inputVariable('data', inputs[0].dataType, inputShapeOrRank, components); - const indices = inputVariable('inputIndices', inputs[1].dataType, indicesShapeOrRank); - const output = outputVariable('output', inputs[0].dataType, outputShapeOrRank, components); + const data = inputVariable('data', inputs[0].dataType, inputs[0].dims.length, components); + const indices = inputVariable('inputIndices', inputs[1].dataType, inputs[1].dims.length); + const output = outputVariable('output', inputs[0].dataType, outputShape.length, components); const calcDataIndices = (x: number|string): string => { const indicesRank = indicesShape.length; @@ -127,7 +110,7 @@ const createGatherProgramInfo = (inputs: readonly TensorView[], attributes: Gath }; return { name: 'Gather', - shaderCache: {hint: attributes.cacheKey, inputDependencies}, + shaderCache: {hint: attributes.cacheKey, inputDependencies: ['rank', 'rank']}, getRunData: () => ({ outputs: [ {dims: outputShape, dataType: inputs[0].dataType}, diff --git a/js/web/lib/wasm/jsep/webgpu/ops/transpose.ts b/js/web/lib/wasm/jsep/webgpu/ops/transpose.ts index c4d43e9f466f5..ab9a9ac8dd1f0 100644 --- a/js/web/lib/wasm/jsep/webgpu/ops/transpose.ts +++ b/js/web/lib/wasm/jsep/webgpu/ops/transpose.ts @@ -6,7 +6,7 @@ import {ShapeUtil} from '../../util'; import {AttributeWithCacheKey, createAttributeWithCacheKey} from '../attribute-with-cache-key'; import {ComputeContext, ProgramInfo} from '../types'; -import {createTensorShapeVariables, enableShapesUniforms, IndicesHelper, inputVariable, outputVariable, ShaderHelper} from './common'; +import {createTensorShapeVariables, IndicesHelper, inputVariable, outputVariable, ShaderHelper} from './common'; export interface TransposeAttributes extends AttributeWithCacheKey { readonly perm: number[]; @@ -39,12 +39,9 @@ export const createTransposeProgramInfo = (inputTensor: TensorView, permAttr: nu const inputDataType = inputTensor.dataType; const inputRank = inputTensor.dims.length; const perm = getAdjustedPerm(inputRank, permAttr); - const useShapesUniforms = enableShapesUniforms(inputRank); const outputShape = getOutputShape(inputTensor.dims, perm); - const outShapeOrRank = useShapesUniforms ? outputShape.length : outputShape; - const inShapeOrRank = useShapesUniforms ? inputRank : inputTensor.dims; - const output = outputVariable('output', inputDataType, outShapeOrRank); - const input = inputVariable('a', inputDataType, inShapeOrRank); + const output = outputVariable('output', inputDataType, outputShape.length); + const input = inputVariable('a', inputDataType, inputRank); const getShaderSource = (shaderHelper: ShaderHelper) => ` ${shaderHelper.registerUniform('output_size', 'u32').declareVariables(input, output)} @@ -61,21 +58,17 @@ export const createTransposeProgramInfo = (inputTensor: TensorView, permAttr: nu }`; return { name: 'Transpose', - shaderCache: {hint: `${permAttr}`, inputDependencies: useShapesUniforms ? ['rank'] : ['dims']}, + shaderCache: {hint: `${permAttr}`, inputDependencies: ['rank']}, getRunData: (inputs) => { const outputSize = ShapeUtil.size(outputShape); return { outputs: [{dims: outputShape, dataType: inputs[0].dataType}], dispatchGroup: {x: Math.ceil(outputSize / 64 /* workgroup size */)}, - programUniforms: useShapesUniforms ? - [ - {type: 'uint32', data: outputSize}, - ...createTensorShapeVariables(inputs[0].dims), - ...createTensorShapeVariables(outputShape), - ] : - [ - {type: 'uint32', data: outputSize}, - ], + programUniforms: [ + {type: 'uint32', data: outputSize}, + ...createTensorShapeVariables(inputs[0].dims), + ...createTensorShapeVariables(outputShape), + ], }; }, getShaderSource, From 9f68a27c7a3a932a574d50db19f40393a0cedf81 Mon Sep 17 00:00:00 2001 From: Vincent Wang Date: Tue, 30 Jan 2024 17:04:01 +0800 Subject: [PATCH 8/8] [ORTModule] Handle Cast on Constant Number on Triton Code-gen (#19321) When using scaled_dot_product_attention on float16 type, the exported graph has Sqrt(float16(constant)), which cannot be ConstantFold in ORT because Sqrt CPU kernel doesn't support float16. This causes Triton code-gen generates code like: result = 128.0.to(tl.float32) This code cannot be compiled because .to() cannot be applied to constant. This PR is to handle such case that constant number will not do the Cast. --- .../python/training/ort_triton/_codegen.py | 4 +-- .../python/training/ort_triton/_utils.py | 8 ++++++ .../orttraining_test_ortmodule_triton.py | 27 +++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/orttraining/orttraining/python/training/ort_triton/_codegen.py b/orttraining/orttraining/python/training/ort_triton/_codegen.py index e0f65ed272d38..9c7214f467af1 100644 --- a/orttraining/orttraining/python/training/ort_triton/_codegen.py +++ b/orttraining/orttraining/python/training/ort_triton/_codegen.py @@ -37,7 +37,7 @@ from ._lowering import lower from ._sorted_graph import SortedGraph from ._sympy_utils import parse_shape, sympy_dot -from ._utils import may_add_brackets +from ._utils import is_number, may_add_brackets class TritonCodegen(NodeVisitor): @@ -318,7 +318,7 @@ def ComputeNode( # noqa: N802 if op_type == "Cast": from_dtype = node.inputs[0].dtype.type to_dtype = node.outputs[0].dtype.type - if from_dtype == to_dtype: + if from_dtype == to_dtype or is_number(kwargs["i0"]): op_type = "Identity" elif to_dtype == np.bool_: op_type = "CastBool" diff --git a/orttraining/orttraining/python/training/ort_triton/_utils.py b/orttraining/orttraining/python/training/ort_triton/_utils.py index c80e28f6f73df..95e6703be8783 100644 --- a/orttraining/orttraining/python/training/ort_triton/_utils.py +++ b/orttraining/orttraining/python/training/ort_triton/_utils.py @@ -150,3 +150,11 @@ def next_power_of_2(n: int) -> int: n |= n >> 16 n += 1 return n + + +def is_number(name: str) -> bool: + try: + float(name) + return True + except ValueError: + return name.startswith("float(") and name.endswith(")") diff --git a/orttraining/orttraining/test/python/orttraining_test_ortmodule_triton.py b/orttraining/orttraining/test/python/orttraining_test_ortmodule_triton.py index 0c381d70ca4c1..922f5c696500d 100644 --- a/orttraining/orttraining/test/python/orttraining_test_ortmodule_triton.py +++ b/orttraining/orttraining/test/python/orttraining_test_ortmodule_triton.py @@ -12,6 +12,7 @@ import pytest import torch from onnx import TensorProto, helper +from packaging.version import Version from torch._C import _from_dlpack from torch.utils.dlpack import to_dlpack @@ -842,6 +843,32 @@ def _gen_inputs(dtype): _run_module_test(NeuralNetSliceScel, dtype, _gen_inputs, 2) +@pytest.mark.skipif( + Version(torch.__version__) < Version("2.1"), reason="PyTorch has scaled_dot_product_attention since 2.1." +) +def test_scaled_dot_product_attention_module(): + class NeuralNetScaledDotProductAttention(torch.nn.Module): + def __init__(self): + super().__init__() + self.linear1 = torch.nn.Linear(64, 64, bias=False, dtype=torch.float16) + self.linear2 = torch.nn.Linear(64, 64, bias=False, dtype=torch.float16) + self.linear3 = torch.nn.Linear(64, 64, bias=False, dtype=torch.float16) + + def forward(self, q, k, v): + return torch.nn.functional.scaled_dot_product_attention( + self.linear1(q), self.linear2(k), self.linear3(v) + ).to(torch.float16) + + def _gen_inputs(dtype): + return [ + (torch.rand(32, 8, 128, 64) * 0.01).to(dtype=torch.float16, device=DEVICE), + (torch.rand(32, 8, 128, 64) * 0.01).to(dtype=torch.float16, device=DEVICE), + (torch.rand(32, 8, 128, 64) * 0.01).to(dtype=torch.float16, device=DEVICE), + ] + + _run_module_test(NeuralNetScaledDotProductAttention, torch.float16, _gen_inputs, 3) + + @pytest.mark.parametrize("dtype", [torch.float32, torch.float16]) @pytest.mark.parametrize("input_shapes", [([128, 64], [64, 64]), ([16, 64, 128], [16, 128, 64])]) def test_matmul_tunable_op(dtype, input_shapes):