diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 53a6a744cf..6c28be7de4 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -1163,6 +1163,10 @@ else() if (HAS_ENUM_CONSTEXPR_CONVERSION) target_compile_options(${PROTOBUF_LIB} PRIVATE "-Wno-enum-constexpr-conversion") endif() + if (onnxruntime_USE_ROCM) + # float16.h:90:12: error: ‘tmp’ is used uninitialized + list(APPEND ORT_WARNING_FLAGS -Wno-uninitialized) + endif() endif() #names in this var must match the directory names under onnxruntime/core/providers diff --git a/onnxruntime/core/providers/rocm/cu_inc/common.cuh b/onnxruntime/core/providers/rocm/cu_inc/common.cuh index 13923d9ae9..1ce2fbc518 100644 --- a/onnxruntime/core/providers/rocm/cu_inc/common.cuh +++ b/onnxruntime/core/providers/rocm/cu_inc/common.cuh @@ -2,6 +2,8 @@ // Licensed under the MIT License. #pragma once +#include +#include #include #include #include diff --git a/onnxruntime/test/contrib_ops/attention_op_test.cc b/onnxruntime/test/contrib_ops/attention_op_test.cc index 0d0b0d58c9..27dc95f258 100644 --- a/onnxruntime/test/contrib_ops/attention_op_test.cc +++ b/onnxruntime/test/contrib_ops/attention_op_test.cc @@ -1905,7 +1905,7 @@ TEST(AttentionTest, Attention_Mask1D_Fp32_B2_S64) { false); } -TEST(AttentionTest, Attention_Mask1D_Fp16_B2_FusedNoPadding) { +TEST(AttentionTest, DISABLED_Attention_Mask1D_Fp16_B2_FusedNoPadding) { constexpr int batch_size = 2; // Sequence lengths used in TRT fused attention fp16 v2 kernels. diff --git a/setup.py b/setup.py index 077a25ad49..8eb2589197 100644 --- a/setup.py +++ b/setup.py @@ -104,6 +104,7 @@ manylinux_tags = [ "manylinux2014_ppc64le", "manylinux2014_s390x", "manylinux_2_27_x86_64", + "manylinux_2_27_aarch64", ] is_manylinux = environ.get("AUDITWHEEL_PLAT", None) in manylinux_tags diff --git a/tools/ci_build/github/azure-pipelines/binary-size-checks-pipeline.yml b/tools/ci_build/github/azure-pipelines/binary-size-checks-pipeline.yml index 8c4df184ff..46f2b04ec8 100644 --- a/tools/ci_build/github/azure-pipelines/binary-size-checks-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/binary-size-checks-pipeline.yml @@ -14,7 +14,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe jobs: - job: BinarySizeChecks diff --git a/tools/ci_build/github/azure-pipelines/build-perf-test-binaries-pipeline.yml b/tools/ci_build/github/azure-pipelines/build-perf-test-binaries-pipeline.yml index 517edce58f..a0ed5eb301 100644 --- a/tools/ci_build/github/azure-pipelines/build-perf-test-binaries-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/build-perf-test-binaries-pipeline.yml @@ -12,7 +12,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe stages: diff --git a/tools/ci_build/github/azure-pipelines/c-api-noopenmp-packaging-pipelines.yml b/tools/ci_build/github/azure-pipelines/c-api-noopenmp-packaging-pipelines.yml index 912e6a741a..eda85e34fb 100644 --- a/tools/ci_build/github/azure-pipelines/c-api-noopenmp-packaging-pipelines.yml +++ b/tools/ci_build/github/azure-pipelines/c-api-noopenmp-packaging-pipelines.yml @@ -29,7 +29,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe jobs: - template: templates/c-api-cpu.yml @@ -101,7 +101,7 @@ jobs: buildArch: x64 msbuildPlatform: x64 packageName: x64-cuda - buildparameter: --use_cuda --cuda_version=11.4 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4" --enable_onnx_tests --enable_wcos --build_java --cmake_extra_defines "CMAKE_CUDA_ARCHITECTURES=37;52;60;61;70;75;80" + buildparameter: --use_cuda --cuda_version=11.6 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6" --enable_onnx_tests --enable_wcos --build_java --cmake_extra_defines "CMAKE_CUDA_ARCHITECTURES=37;52;60;61;70;75;80" runTests: ${{ parameters.RunOnnxRuntimeTests }} buildJava: true java_artifact_id: onnxruntime_gpu @@ -116,7 +116,7 @@ jobs: buildArch: x64 msbuildPlatform: x64 packageName: x64-tensorrt - buildparameter: --use_tensorrt --tensorrt_home="C:\local\TensorRT-8.4.1.5.Windows10.x86_64.cuda-11.6.cudnn8.4" --cuda_version=11.4 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4" --enable_onnx_tests --enable_wcos --build_java --cmake_extra_defines "CMAKE_CUDA_ARCHITECTURES=37;52;60;61;70;75;80" + buildparameter: --use_tensorrt --tensorrt_home="C:\local\TensorRT-8.4.1.5.Windows10.x86_64.cuda-11.6.cudnn8.4" --cuda_version=11.6 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6" --enable_onnx_tests --enable_wcos --build_java --cmake_extra_defines "CMAKE_CUDA_ARCHITECTURES=37;52;60;61;70;75;80" runTests: ${{ parameters.RunOnnxRuntimeTests }} buildJava: true java_artifact_id: onnxruntime_gpu @@ -296,7 +296,7 @@ jobs: tools/ci_build/get_docker_image.py \ --dockerfile tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11_6_tensorrt8_4 \ --context tools/ci_build/github/linux/docker \ - --docker-build-args "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" \ + --docker-build-args "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-11/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-11/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-11/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib:/opt/rh/devtoolset-11/root/usr/lib64/dyninst:/opt/rh/devtoolset-11/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" \ --container-registry onnxruntimebuildcache \ --repository onnxruntimecuda116xtrt84build displayName: "Getonnxruntimecuda116xtrt84build image for tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11_6_tensorrt8_4" @@ -350,7 +350,7 @@ jobs: displayName: 'Test C API application for GPU package' inputs: script: | - docker run --gpus all -e CC=/opt/rh/devtoolset-10/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-10/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e NVIDIA_VISIBLE_DEVICES=all --rm --volume $(Build.SourcesDirectory):/src_dir \ + docker run --gpus all -e CC=/opt/rh/devtoolset-11/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-11/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e NVIDIA_VISIBLE_DEVICES=all --rm --volume $(Build.SourcesDirectory):/src_dir \ --volume $(Build.ArtifactStagingDirectory):/artifact_src -e NIGHTLY_BUILD onnxruntimecuda116xtrt84build \ /src_dir/onnxruntime-inference-examples/c_cxx/squeezenet/run_capi_application.sh -o /src_dir/onnxruntime -p /artifact_src/onnxruntime-linux-x64-gpu-$(OnnxRuntimeVersion).tgz -w /src_dir/onnxruntime-inference-examples/c_cxx/squeezenet workingDirectory: '$(Build.ArtifactStagingDirectory)' @@ -676,7 +676,7 @@ jobs: DoNugetPack : 'true' DoCompliance: 'false' DoEsrp: ${{ parameters.DoEsrp }} - CudaVersion: '11.4' + CudaVersion: '11.6' OrtPackageId: 'Microsoft.ML.OnnxRuntime.DirectML' NuPackScript: | msbuild $(Build.SourcesDirectory)\csharp\OnnxRuntime.CSharp.proj /p:Configuration=RelWithDebInfo /t:CreatePackage /p:OrtPackageId=Microsoft.ML.OnnxRuntime.DirectML 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 ffe9885661..d24f3dd606 100644 --- a/tools/ci_build/github/azure-pipelines/linux-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-ci-pipeline.yml @@ -4,7 +4,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe jobs: - job: Linux_Build 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 4bf09c264f..ebfdb41713 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 @@ -4,7 +4,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe jobs: - job: Linux_Build 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 7756efc76d..f7f113a241 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 @@ -4,7 +4,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe jobs: - job: BuildAndTestEagerMode 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 646880a4f8..3daf443c5c 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 @@ -27,7 +27,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe jobs: - job: Linux_CPU_Minimal_Build_E2E diff --git a/tools/ci_build/github/azure-pipelines/linux-dnnl-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/linux-dnnl-ci-pipeline.yml index 362d8ea706..7bc6b80b64 100644 --- a/tools/ci_build/github/azure-pipelines/linux-dnnl-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-dnnl-ci-pipeline.yml @@ -4,7 +4,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe jobs: - job: Linux_py_Wheels 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 84c8767572..7b2f42697e 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 @@ -4,7 +4,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe jobs: - job: Linux_Build @@ -23,14 +23,14 @@ jobs: parameters: Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11 Context: tools/ci_build/github/linux/docker - DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg BASEIMAGE=nvidia/cuda:11.4.0-cudnn8-devel-centos7 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" + DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg BASEIMAGE=nvidia/cuda:11.6.2-cudnn8-devel-centos7 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-11/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-11/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-11/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib:/opt/rh/devtoolset-11/root/usr/lib64/dyninst:/opt/rh/devtoolset-11/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" Repository: onnxruntimecuda11build - task: CmdLine@2 inputs: script: | mkdir -p $HOME/.onnx - docker run -e CC=/opt/rh/devtoolset-10/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-10/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" --rm \ + docker run -e CC=/opt/rh/devtoolset-11/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-11/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" --rm \ --volume /data/onnx:/data/onnx:ro \ --volume $(Build.SourcesDirectory):/onnxruntime_src \ --volume $(Build.BinariesDirectory):/build \ @@ -47,10 +47,10 @@ jobs: --build_shared_lib \ --parallel \ --build_wheel \ - --enable_onnx_tests --use_cuda --cuda_version=11.4 --cuda_home=/usr/local/cuda-11.4 --cudnn_home=/usr/local/cuda-11.4 \ + --enable_onnx_tests --use_cuda --cuda_version=11.6 --cuda_home=/usr/local/cuda-11.6 --cudnn_home=/usr/local/cuda-11.6 \ --enable_cuda_profiling \ --enable_pybind --build_java \ - --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-10/root/usr/bin/cc CMAKE_CUDA_ARCHITECTURES=75 + --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-11/root/usr/bin/cc CMAKE_CUDA_ARCHITECTURES=75 workingDirectory: $(Build.SourcesDirectory) - task: CmdLine@2 @@ -122,7 +122,7 @@ jobs: --build_shared_lib \ --parallel \ --build_wheel \ - --enable_onnx_tests --use_cuda --cuda_version=11.4 --cuda_home=/usr/local/cuda-11.4 --cudnn_home=/usr/local/cuda-11.4 \ + --enable_onnx_tests --use_cuda --cuda_version=11.6 --cuda_home=/usr/local/cuda-11.6 --cudnn_home=/usr/local/cuda-11.6 \ --enable_pybind --build_java --ctest_path '' - template: templates/clean-agent-build-directory-step.yml diff --git a/tools/ci_build/github/azure-pipelines/linux-gpu-cuda-11-pipeline.yml b/tools/ci_build/github/azure-pipelines/linux-gpu-cuda-11-pipeline.yml index 90a40f1b66..00c00079c6 100644 --- a/tools/ci_build/github/azure-pipelines/linux-gpu-cuda-11-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-gpu-cuda-11-pipeline.yml @@ -4,7 +4,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe jobs: - job: Linux_Build_CUDA11_NV6 @@ -21,14 +21,14 @@ jobs: parameters: Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11 Context: tools/ci_build/github/linux/docker - DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg BASEIMAGE=nvidia/cuda:11.4.0-cudnn8-devel-centos7 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" + DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg BASEIMAGE=nvidia/cuda:11.6.2-cudnn8-devel-centos7 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-11/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-11/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-11/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib:/opt/rh/devtoolset-11/root/usr/lib64/dyninst:/opt/rh/devtoolset-11/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" Repository: onnxruntimecuda11build - task: CmdLine@2 inputs: script: | mkdir -p $HOME/.onnx - docker run --gpus all -e CC=/opt/rh/devtoolset-10/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-10/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" --rm \ + docker run --gpus all -e CC=/opt/rh/devtoolset-11/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-11/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" --rm \ --volume /data/onnx:/data/onnx:ro \ --volume $(Build.SourcesDirectory):/onnxruntime_src \ --volume $(Build.BinariesDirectory):/build \ @@ -45,9 +45,9 @@ jobs: --build_shared_lib \ --parallel \ --build_wheel \ - --enable_onnx_tests --use_cuda --cuda_version=11.4 --cuda_home=/usr/local/cuda-11.4 --cudnn_home=/usr/local/cuda-11.4 \ + --enable_onnx_tests --use_cuda --cuda_version=11.6 --cuda_home=/usr/local/cuda-11.6 --cudnn_home=/usr/local/cuda-11.6 \ --enable_pybind --build_java --build_nodejs \ - --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-10/root/usr/bin/cc CMAKE_CUDA_ARCHITECTURES=52 + --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-11/root/usr/bin/cc CMAKE_CUDA_ARCHITECTURES=52 workingDirectory: $(Build.SourcesDirectory) - task: PublishTestResults@2 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 9e8d1f5af3..b64bc243b0 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 @@ -4,7 +4,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe jobs: - job: Linux_CI_GPU_TENSORRT_Dev @@ -22,13 +22,13 @@ jobs: parameters: Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11_6_tensorrt8_4 Context: tools/ci_build/github/linux/docker - DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" + DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-11/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-11/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-11/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib:/opt/rh/devtoolset-11/root/usr/lib64/dyninst:/opt/rh/devtoolset-11/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" Repository: onnxruntimetensorrt84gpubuild - task: CmdLine@2 inputs: script: | mkdir -p $HOME/.onnx - docker run --gpus all -e CC=/opt/rh/devtoolset-10/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-10/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" --rm \ + docker run --gpus all -e CC=/opt/rh/devtoolset-11/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-11/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" --rm \ --volume /data/onnx:/data/onnx:ro \ --volume $(Build.SourcesDirectory):/onnxruntime_src \ --volume $(Build.BinariesDirectory):/build \ @@ -48,7 +48,7 @@ jobs: --enable_onnx_tests --use_cuda --cuda_version=11.6 --cuda_home=/usr/local/cuda-11.6 --cudnn_home=/usr/local/cuda-11.6 \ --enable_pybind --build_java --build_nodejs \ --use_tensorrt --tensorrt_placeholder_builder --tensorrt_home /usr \ - --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-10/root/usr/bin/cc CMAKE_CUDA_ARCHITECTURES=52 + --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-11/root/usr/bin/cc CMAKE_CUDA_ARCHITECTURES=52 workingDirectory: $(Build.SourcesDirectory) - task: PublishTestResults@2 displayName: 'Publish unit test results' diff --git a/tools/ci_build/github/azure-pipelines/linux-gpu-tensorrt-packaging-pipeline.yml b/tools/ci_build/github/azure-pipelines/linux-gpu-tensorrt-packaging-pipeline.yml index 4fa0d6bbbd..f78e741584 100644 --- a/tools/ci_build/github/azure-pipelines/linux-gpu-tensorrt-packaging-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-gpu-tensorrt-packaging-pipeline.yml @@ -32,7 +32,7 @@ jobs: parameters: Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11_6_tensorrt8_4 Context: tools/ci_build/github/linux/docker - DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" + DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-11/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-11/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-11/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib:/opt/rh/devtoolset-11/root/usr/lib64/dyninst:/opt/rh/devtoolset-11/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" Repository: onnxruntimecuda114xtrt82build - template: templates/set-version-number-variables-step.yml @@ -41,10 +41,10 @@ jobs: inputs: script: | mkdir -p $HOME/.onnx - docker run --gpus all -e CC=/opt/rh/devtoolset-10/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-10/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e NVIDIA_VISIBLE_DEVICES=all --rm --volume /data/onnx:/data/onnx:ro --volume $(Build.SourcesDirectory):/onnxruntime_src --volume $(Build.BinariesDirectory):/build \ + docker run --gpus all -e CC=/opt/rh/devtoolset-11/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-11/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -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 onnxruntimecuda114xtrt82build \ /opt/python/cp37-cp37m/bin/python3 /onnxruntime_src/tools/ci_build/build.py --build_dir /build --config Release \ - --skip_submodule_sync --parallel --build_shared_lib ${{ parameters.buildJavaOption }} --use_tensorrt --tensorrt_placeholder_builder --cuda_version=$(CUDA_VERSION) --cuda_home=/usr/local/cuda-$(CUDA_VERSION) --cudnn_home=/usr --tensorrt_home=/usr --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-10/root/usr/bin/cc 'CMAKE_CUDA_ARCHITECTURES=37;50;52;60;61;70;75;80' + --skip_submodule_sync --parallel --build_shared_lib ${{ parameters.buildJavaOption }} --use_tensorrt --tensorrt_placeholder_builder --cuda_version=$(CUDA_VERSION) --cuda_home=/usr/local/cuda-$(CUDA_VERSION) --cudnn_home=/usr --tensorrt_home=/usr --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-11/root/usr/bin/cc 'CMAKE_CUDA_ARCHITECTURES=37;50;52;60;61;70;75;80' workingDirectory: $(Build.SourcesDirectory) - ${{ if eq(parameters.buildJava, true) }}: diff --git a/tools/ci_build/github/azure-pipelines/linux-multi-gpu-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/linux-multi-gpu-ci-pipeline.yml index 2fc00b1a66..6047e7ff78 100644 --- a/tools/ci_build/github/azure-pipelines/linux-multi-gpu-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/linux-multi-gpu-ci-pipeline.yml @@ -4,7 +4,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe jobs: - job: Linux_Build @@ -21,14 +21,14 @@ jobs: parameters: Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11 Context: tools/ci_build/github/linux/docker - DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg BASEIMAGE=nvidia/cuda:11.4.0-cudnn8-devel-centos7 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" + DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg BASEIMAGE=nvidia/cuda:11.6.2-cudnn8-devel-centos7 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-11/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-11/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-11/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib:/opt/rh/devtoolset-11/root/usr/lib64/dyninst:/opt/rh/devtoolset-11/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" Repository: onnxruntimecuda11build - task: CmdLine@2 inputs: script: | mkdir -p $HOME/.onnx - docker run --gpus all -e CC=/opt/rh/devtoolset-10/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-10/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" --rm \ + docker run --gpus all -e CC=/opt/rh/devtoolset-11/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-11/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" --rm \ --volume /data/onnx:/data/onnx:ro \ --volume $(Build.SourcesDirectory):/onnxruntime_src \ --volume $(Build.BinariesDirectory):/build \ @@ -45,9 +45,9 @@ jobs: --build_shared_lib \ --parallel \ --build_wheel \ - --enable_onnx_tests --use_cuda --cuda_version=11.4 --cuda_home=/usr/local/cuda-11.4 --cudnn_home=/usr/local/cuda-11.4 \ + --enable_onnx_tests --use_cuda --cuda_version=11.6 --cuda_home=/usr/local/cuda-11.6 --cudnn_home=/usr/local/cuda-11.6 \ --enable_pybind --build_java --build_nodejs --enable_multi_device_test \ - --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-10/root/usr/bin/cc CMAKE_CUDA_ARCHITECTURES=52 + --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-11/root/usr/bin/cc CMAKE_CUDA_ARCHITECTURES=52 workingDirectory: $(Build.SourcesDirectory) - task: PublishTestResults@2 diff --git a/tools/ci_build/github/azure-pipelines/mac-react-native-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/mac-react-native-ci-pipeline.yml index d76c93a9bd..46d052520d 100644 --- a/tools/ci_build/github/azure-pipelines/mac-react-native-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/mac-react-native-ci-pipeline.yml @@ -15,7 +15,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe variables: ${{ if eq(parameters.NpmPublish, 'nightly (@dev)') }}: diff --git a/tools/ci_build/github/azure-pipelines/npm-packaging-pipeline.yml b/tools/ci_build/github/azure-pipelines/npm-packaging-pipeline.yml index 75fb0bdae2..c511fe01fa 100644 --- a/tools/ci_build/github/azure-pipelines/npm-packaging-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/npm-packaging-pipeline.yml @@ -34,7 +34,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe stages: - template: templates/web-ci.yml 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 d37a10feab..851568d0e6 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 @@ -4,7 +4,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe jobs: - job: Linux_Build diff --git a/tools/ci_build/github/azure-pipelines/orttraining-linux-external-custom-ops.yml b/tools/ci_build/github/azure-pipelines/orttraining-linux-external-custom-ops.yml index 77b415beb4..4eaeed65b4 100644 --- a/tools/ci_build/github/azure-pipelines/orttraining-linux-external-custom-ops.yml +++ b/tools/ci_build/github/azure-pipelines/orttraining-linux-external-custom-ops.yml @@ -4,7 +4,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe jobs: - job: Linux_Build 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 afdd5f5040..e3dcdd16ff 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 @@ -15,7 +15,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe stages: - stage: Python_Packaging diff --git a/tools/ci_build/github/azure-pipelines/orttraining-py-packaging-pipeline-cuda116.yml b/tools/ci_build/github/azure-pipelines/orttraining-py-packaging-pipeline-cuda116.yml index 11e4e82a1d..00bf2865cc 100644 --- a/tools/ci_build/github/azure-pipelines/orttraining-py-packaging-pipeline-cuda116.yml +++ b/tools/ci_build/github/azure-pipelines/orttraining-py-packaging-pipeline-cuda116.yml @@ -17,7 +17,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe stages: - template: templates/py-packaging-training-cuda-stage.yml @@ -26,7 +26,7 @@ stages: torch_version: '1.11.0' opset_version: '15' cuda_version: '11.6' - gcc_version: 10 + gcc_version: 11 cmake_cuda_architectures: 37;50;52;60;61;70;75;80;86;87 docker_file: Dockerfile.manylinux2014_training_cuda11_6 agent_pool: Onnxruntime-Linux-GPU diff --git a/tools/ci_build/github/azure-pipelines/orttraining-py-packaging-pipeline-rocm.yml b/tools/ci_build/github/azure-pipelines/orttraining-py-packaging-pipeline-rocm.yml index 5e8a28f106..c2b39af5f1 100644 --- a/tools/ci_build/github/azure-pipelines/orttraining-py-packaging-pipeline-rocm.yml +++ b/tools/ci_build/github/azure-pipelines/orttraining-py-packaging-pipeline-rocm.yml @@ -6,7 +6,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe stages: - stage: Python_Packaging diff --git a/tools/ci_build/github/azure-pipelines/py-package-build-pipeline.yml b/tools/ci_build/github/azure-pipelines/py-package-build-pipeline.yml index f40f4f16a8..25d1cd107b 100644 --- a/tools/ci_build/github/azure-pipelines/py-package-build-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/py-package-build-pipeline.yml @@ -47,7 +47,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe stages: - template: templates/py-packaging-selectable-stage.yml diff --git a/tools/ci_build/github/azure-pipelines/py-package-test-pipeline.yml b/tools/ci_build/github/azure-pipelines/py-package-test-pipeline.yml index 148c1d0db7..d4ebedffc9 100644 --- a/tools/ci_build/github/azure-pipelines/py-package-test-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/py-package-test-pipeline.yml @@ -5,52 +5,41 @@ resources: trigger: true jobs: -- job: Linux_Test +- template: templates/py-packaging-linux-test.yml + parameters: + arch: 'x86_64' + machine_pool: 'Linux-CPU' + device: 'CPU' + +- template: templates/py-packaging-linux-test.yml + parameters: + arch: 'aarch64' + machine_pool: 'aiinfra-linux-ARM64-CPU-2019' + device: 'CPU' + +- template: templates/py-packaging-linux-test.yml + parameters: + arch: 'x86_64' + machine_pool: 'Onnxruntime-Linux-GPU' + device: 'GPU' + python_wheel_suffix: '_gpu' + +- job: Final + dependsOn: + - Linux_Test_CPU_x86_64 + - Linux_Test_CPU_aarch64 + - Linux_Test_GPU_x86_64 + #Run this step only if all previous steps are succeeded and (this build was triggered by a resource trigger or it was triggered by another build). + condition: and(succeeded(), eq(variables['Build.Reason'], 'ResourceTrigger')) timeoutInMinutes: 60 variables: skipComponentGovernanceDetection: true workspace: clean: all - pool: Linux-CPU + pool: Azure-Pipelines-EO-Windows2022-aiinfra steps: - - task: DownloadPipelineArtifact@2 - displayName: 'Download Pipeline Artifact' - inputs: - preferTriggeringPipeline: true - artifactName: 'drop-linux-cpu-x86_64' - targetPath: '$(Build.BinariesDirectory)/Release' - runVersion: 'latest' - buildType: specific - project: '530acbc4-21bc-487d-8cd8-348ff451d2ff' - definition: 841 - #buildVersionToDownload: specific - #pipelineId: 227749 - - - task: DownloadPipelineArtifact@2 - displayName: 'Download Pipeline Artifact' - inputs: - preferTriggeringPipeline: true - artifactName: 'onnxruntime' - targetPath: '$(Build.BinariesDirectory)/whl' - runVersion: 'latest' - buildType: specific - project: '530acbc4-21bc-487d-8cd8-348ff451d2ff' - definition: 841 - #buildVersionToDownload: specific - #pipelineId: 227749 - - - - task: Bash@3 - displayName: 'Bash Script' - inputs: - targetType: filePath - filePath: tools/ci_build/github/linux/run_python_tests.sh - - - task: PowerShell@2 - displayName: 'Add Build Tag' - #Run this step only if all previous steps are succeeded and (this build was triggered by a resource trigger or it was triggered by another build). - condition: and(succeeded(), eq(variables['Build.Reason'], 'ResourceTrigger')) + displayName: 'Add Build Tag' env: SYSTEM_ACCESSTOKEN: $(System.AccessToken) inputs: @@ -61,7 +50,3 @@ jobs: $headers.Add("Content-Type", "application/json") $uri = "https://dev.azure.com/aiinfra/Lotus/_apis/build/builds/$(resources.pipeline.build.runID)/tags/test%20pass?api-version=6.0" Invoke-RestMethod -Uri $uri -Headers $headers -Method PUT - - - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3 - displayName: 'Clean Agent Directories' - condition: always() diff --git a/tools/ci_build/github/azure-pipelines/py-packaging-pipeline.yml b/tools/ci_build/github/azure-pipelines/py-packaging-pipeline.yml index 731512e32d..d095c45bef 100644 --- a/tools/ci_build/github/azure-pipelines/py-packaging-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/py-packaging-pipeline.yml @@ -47,7 +47,7 @@ resources: type: Github endpoint: Microsoft name: pypa/manylinux - ref: a8099af1b3e25f0489717ad9c4f9a2e25a8c5b36 + ref: 1a61614cabfd6b91c6afd6d9e172cc5b838c65fe stages: - template: templates/py-packaging-stage.yml diff --git a/tools/ci_build/github/azure-pipelines/templates/c-api-cpu.yml b/tools/ci_build/github/azure-pipelines/templates/c-api-cpu.yml index ad8e36b7ee..956f16c1d8 100644 --- a/tools/ci_build/github/azure-pipelines/templates/c-api-cpu.yml +++ b/tools/ci_build/github/azure-pipelines/templates/c-api-cpu.yml @@ -66,7 +66,7 @@ jobs: MACOSX_DEPLOYMENT_TARGET: '10.14' pool: vmImage: 'macOS-11' - timeoutInMinutes: 240 + timeoutInMinutes: 300 steps: - template: set-version-number-variables-step.yml diff --git a/tools/ci_build/github/azure-pipelines/templates/py-linux-gpu.yml b/tools/ci_build/github/azure-pipelines/templates/py-linux-gpu.yml new file mode 100644 index 0000000000..5d317b43c2 --- /dev/null +++ b/tools/ci_build/github/azure-pipelines/templates/py-linux-gpu.yml @@ -0,0 +1,66 @@ +parameters: +- name: arch + type: string + +- name: machine_pool + type: string + +jobs: +- job: Linux_py_GPU_Wheels_${{ parameters.arch }} + timeoutInMinutes: 240 + workspace: + clean: all + pool: ${{ parameters.machine_pool }} + variables: + # The build machine pool doesn't have dotnet, so it can't run CG. + skipComponentGovernanceDetection: true + steps: + - checkout: self + clean: true + submodules: recursive + + - template: set-nightly-build-option-variable-step.yml + + - template: get-docker-image-steps.yml + parameters: + Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11_6_tensorrt8_4 + Context: tools/ci_build/github/linux/docker + DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-11/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-11/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-11/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib:/opt/rh/devtoolset-11/root/usr/lib64/dyninst:/opt/rh/devtoolset-11/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u ) --build-arg PLATFORM=${{ parameters.arch }}" + Repository: onnxruntimecuda116xtrt84build${{ parameters.arch }} + + - task: CmdLine@2 + displayName: 'Build Python Wheel' + inputs: + script: | + set -e -x + mkdir -p $HOME/.onnx + docker run --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 \ + -w /onnxruntime_src \ + -e NIGHTLY_BUILD \ + -e BUILD_BUILDNUMBER \ + onnxruntimecuda116xtrt84build${{ parameters.arch }} /bin/bash tools/ci_build/github/linux/build_linux_arm64_python_package.sh -d GPU + rm -rf $(Build.BinariesDirectory)/Release/onnxruntime $(Build.BinariesDirectory)/Release/pybind11 $(Build.BinariesDirectory)/Release/models $(Build.BinariesDirectory)/Release/_deps $(Build.BinariesDirectory)/Release/CMakeFiles + cd $(Build.BinariesDirectory)/Release + find -executable -type f > $(Build.BinariesDirectory)/Release/perms.txt + + - task: PublishBuildArtifacts@1 + displayName: 'Publish Artifact: ONNXRuntime python wheel' + inputs: + PathtoPublish: '$(Build.BinariesDirectory)/dist' + ArtifactName: onnxruntime_gpu + + - task: PublishPipelineArtifact@0 + displayName: 'Publish Test Binaries' + inputs: + artifactName: 'drop-linux-gpu-${{ parameters.arch }}' + targetPath: '$(Build.BinariesDirectory)/Release' + + + - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3 + displayName: 'Clean Agent Directories' + condition: always() diff --git a/tools/ci_build/github/azure-pipelines/templates/py-linux-ubuntu.yml b/tools/ci_build/github/azure-pipelines/templates/py-linux-ubuntu.yml new file mode 100644 index 0000000000..76db6528fe --- /dev/null +++ b/tools/ci_build/github/azure-pipelines/templates/py-linux-ubuntu.yml @@ -0,0 +1,69 @@ +parameters: +- name: arch + type: string + +- name: machine_pool + type: string + +- name: base_image + type: string + +jobs: +- job: Linux_Ubuntu_CPU_py_Wheels_${{ parameters.arch }} + timeoutInMinutes: 240 + workspace: + clean: all + pool: ${{ parameters.machine_pool }} + variables: + # The build machine pool doesn't have dotnet, so it can't run CG. + skipComponentGovernanceDetection: true + steps: + - checkout: self + clean: true + submodules: recursive + + - template: set-nightly-build-option-variable-step.yml + + - template: get-docker-image-steps.yml + parameters: + Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux_2_27_cpu + Context: tools/ci_build/github/linux/docker + DockerBuildArgs: "--build-arg BUILD_UID=$( id -u ) --build-arg BASEIMAGE=${{ parameters.base_image }} --build-arg PLATFORM=${{ parameters.arch }}" + Repository: onnxruntimecpubuildubuntu20python${{ parameters.arch }} + + - task: CmdLine@2 + displayName: 'Build Python Wheel' + inputs: + script: | + set -e -x + mkdir -p $HOME/.onnx + docker run --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 \ + -w /onnxruntime_src \ + -e NIGHTLY_BUILD \ + -e BUILD_BUILDNUMBER \ + onnxruntimecpubuildubuntu20python${{ parameters.arch }} tools/ci_build/github/linux/build_linux_arm64_python_package.sh + rm -rf $(Build.BinariesDirectory)/Release/onnxruntime $(Build.BinariesDirectory)/Release/pybind11 $(Build.BinariesDirectory)/Release/models $(Build.BinariesDirectory)/Release/_deps $(Build.BinariesDirectory)/Release/CMakeFiles + cd $(Build.BinariesDirectory)/Release + find -executable -type f > $(Build.BinariesDirectory)/Release/perms.txt + + - task: PublishBuildArtifacts@1 + displayName: 'Publish Artifact: ONNXRuntime python wheel' + inputs: + PathtoPublish: '$(Build.BinariesDirectory)/dist' + ArtifactName: onnxruntime + + - task: PublishPipelineArtifact@0 + displayName: 'Publish Test Binaries' + inputs: + artifactName: 'drop-ubuntu-cpu-${{ parameters.arch }}' + targetPath: '$(Build.BinariesDirectory)/Release' + + + - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3 + displayName: 'Clean Agent Directories' + condition: always() diff --git a/tools/ci_build/github/azure-pipelines/templates/py-linux.yml b/tools/ci_build/github/azure-pipelines/templates/py-linux.yml index e1f317714a..cbdba6bb08 100644 --- a/tools/ci_build/github/azure-pipelines/templates/py-linux.yml +++ b/tools/ci_build/github/azure-pipelines/templates/py-linux.yml @@ -8,6 +8,15 @@ parameters: - name: base_image type: string +- name: devtoolset_rootpath + type: string + +- name: ld_library_path_arg + type: string + +- name: prepend_path + type: string + jobs: - job: Linux_py_Wheels_${{ parameters.arch }} timeoutInMinutes: 240 @@ -28,13 +37,14 @@ jobs: parameters: Dockerfile: tools/ci_build/github/linux/docker/inference/x64/python/cpu/Dockerfile.manylinux2014_cpu Context: tools/ci_build/github/linux/docker/inference/x64/python/cpu - DockerBuildArgs: "--build-arg BUILD_UID=$( id -u ) --build-arg BASEIMAGE=${{ parameters.base_image }} --build-arg PLATFORM=${{ parameters.arch }}" + DockerBuildArgs: "--build-arg BUILD_UID=$( id -u ) --build-arg BASEIMAGE=${{ parameters.base_image }} --build-arg PLATFORM=${{ parameters.arch }} --build-arg PREPEND_PATH=${{ parameters.prepend_path }} --build-arg LD_LIBRARY_PATH_ARG=${{ parameters.ld_library_path_arg }} --build-arg DEVTOOLSET_ROOTPATH=${{ parameters.devtoolset_rootpath }}" Repository: onnxruntimecpubuilpython${{ parameters.arch }} - task: CmdLine@2 displayName: 'Build Python Wheel' inputs: script: | + set -e -x mkdir -p $HOME/.onnx docker run --rm \ --volume /data/onnx:/data/onnx:ro \ @@ -45,10 +55,8 @@ jobs: -w /onnxruntime_src \ -e NIGHTLY_BUILD \ -e BUILD_BUILDNUMBER \ - onnxruntimecpubuilpython${{ parameters.arch }} /bin/bash tools/ci_build/github/linux/build_linux_arm64_python_package.sh - rm -rf $(Build.BinariesDirectory)/Release/onnxruntime $(Build.BinariesDirectory)/Release/pybind11 - rm -f $(Build.BinariesDirectory)/Release/models - rm -rf $(Build.BinariesDirectory)/Release/_deps + onnxruntimecpubuilpython${{ parameters.arch }} tools/ci_build/github/linux/build_linux_arm64_python_package.sh + rm -rf $(Build.BinariesDirectory)/Release/onnxruntime $(Build.BinariesDirectory)/Release/pybind11 $(Build.BinariesDirectory)/Release/models$(Build.BinariesDirectory)/Release/_deps $(Build.BinariesDirectory)/Release/CMakeFiles cd $(Build.BinariesDirectory)/Release find -executable -type f > $(Build.BinariesDirectory)/Release/perms.txt diff --git a/tools/ci_build/github/azure-pipelines/templates/py-packaging-linux-test.yml b/tools/ci_build/github/azure-pipelines/templates/py-packaging-linux-test.yml new file mode 100644 index 0000000000..99ef1ee603 --- /dev/null +++ b/tools/ci_build/github/azure-pipelines/templates/py-packaging-linux-test.yml @@ -0,0 +1,60 @@ +parameters: +- name: arch + type: string + +- name: device + type: string + +- name: machine_pool + type: string + +- name: extra_job_id + type: string + default: '' + +- name: python_wheel_suffix + type: string + default: '' + +jobs: +- job: Linux_Test_${{ parameters.device }}${{ parameters.extra_job_id }}_${{ parameters.arch }} + timeoutInMinutes: 240 + variables: + skipComponentGovernanceDetection: true + workspace: + clean: all + pool: ${{ parameters.machine_pool }} + steps: + - task: DownloadPipelineArtifact@2 + displayName: 'Download Pipeline Artifact' + inputs: + preferTriggeringPipeline: true + artifactName: 'drop-linux-${{ lower(parameters.device) }}-${{ parameters.arch }}' + targetPath: '$(Build.BinariesDirectory)/Release' + runVersion: 'latest' + buildType: specific + project: '530acbc4-21bc-487d-8cd8-348ff451d2ff' + definition: 841 + + - task: DownloadPipelineArtifact@2 + displayName: 'Download Pipeline Artifact' + inputs: + preferTriggeringPipeline: true + artifactName: 'onnxruntime${{ parameters.python_wheel_suffix }}' + targetPath: '$(Build.BinariesDirectory)/whl' + runVersion: 'latest' + buildType: specific + project: '530acbc4-21bc-487d-8cd8-348ff451d2ff' + definition: 841 + + + - task: Bash@3 + displayName: 'Bash Script' + inputs: + targetType: filePath + filePath: tools/ci_build/github/linux/run_python_tests.sh + arguments: -d ${{ parameters.device }} + + - task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3 + displayName: 'Clean Agent Directories' + condition: always() diff --git a/tools/ci_build/github/azure-pipelines/templates/py-packaging-selectable-stage.yml b/tools/ci_build/github/azure-pipelines/templates/py-packaging-selectable-stage.yml index da89f6e55c..d076b8e831 100644 --- a/tools/ci_build/github/azure-pipelines/templates/py-packaging-selectable-stage.yml +++ b/tools/ci_build/github/azure-pipelines/templates/py-packaging-selectable-stage.yml @@ -305,7 +305,7 @@ stages: parameters: Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11_6_tensorrt8_4 Context: tools/ci_build/github/linux/docker - DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" + DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-11/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-11/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-11/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib:/opt/rh/devtoolset-11/root/usr/lib64/dyninst:/opt/rh/devtoolset-11/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" Repository: onnxruntimecuda116xtrt84build - task: CmdLine@2 @@ -313,7 +313,7 @@ stages: inputs: script: | mkdir -p $HOME/.onnx - docker run --gpus all -e CC=/opt/rh/devtoolset-10/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-10/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" --rm \ + docker run --gpus all -e CC=/opt/rh/devtoolset-11/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-11/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" --rm \ --volume /data/onnx:/data/onnx:ro \ --volume $(Build.SourcesDirectory):/onnxruntime_src \ --volume $(Build.BinariesDirectory):/build \ @@ -329,7 +329,7 @@ stages: --build_wheel \ --enable_onnx_tests --use_tensorrt --cuda_version=11.6 --tensorrt_home=/usr --cuda_home=/usr/local/cuda-11.6 --cudnn_home=/usr/local/cuda-11.6 \ ${{ parameters.gpu_build_py_parameters }} \ - --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-10/root/usr/bin/cc 'CMAKE_CUDA_ARCHITECTURES=37;50;52;60;61;70;75;80' + --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-11/root/usr/bin/cc 'CMAKE_CUDA_ARCHITECTURES=37;50;52;60;61;70;75;80' workingDirectory: $(Build.SourcesDirectory) - task: CmdLine@2 @@ -359,7 +359,7 @@ stages: --build_wheel \ --enable_onnx_tests --use_tensorrt --cuda_version=11.6 --tensorrt_home=/usr --cuda_home=/usr/local/cuda-11.6 --cudnn_home=/usr/local/cuda-11.6 \ ${{ parameters.gpu_build_py_parameters }} --ctest_path '' \ - --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-10/root/usr/bin/cc 'CMAKE_CUDA_ARCHITECTURES=37;50;52;60;61;70;75;80' + --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-11/root/usr/bin/cc 'CMAKE_CUDA_ARCHITECTURES=37;50;52;60;61;70;75;80' - task: CopyFiles@2 displayName: 'Copy Python Wheel to: $(Build.ArtifactStagingDirectory)' @@ -386,7 +386,7 @@ stages: pool: 'onnxruntime-gpu-winbuild' timeoutInMinutes: 300 variables: - CUDA_VERSION: '11.4' + CUDA_VERSION: '11.6' buildArch: x64 EpBuildFlags: --use_tensorrt --tensorrt_home="C:\local\TensorRT-8.4.1.5.Windows10.x86_64.cuda-11.6.cudnn8.4" --cuda_version=$(CUDA_VERSION) --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v$(CUDA_VERSION)" --cmake_extra_defines "CMAKE_CUDA_ARCHITECTURES=37;50;52;60;61;70;75;80" EnvSetupScript: setup_env_gpu.bat 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 49bc4508b0..f46e6aebc6 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 @@ -20,11 +20,6 @@ parameters: type: boolean default: true -- name: enable_linux_gpu_tests - displayName: 'Whether to run tests when building the Linux GPU package.' - type: boolean - default: true - - name: enable_windows_cpu displayName: 'Whether Windows CPU package is built.' type: boolean @@ -55,218 +50,6 @@ stages: dependsOn: [] jobs: - - ${{ if eq(parameters.enable_ubuntu_cpu, true) }}: - - job: Linux_Ubuntu_CPU_py_Wheels - timeoutInMinutes: 90 - workspace: - clean: all - pool: Linux-CPU - strategy: - matrix: - Python37: - PythonVersion: '3.7' - Python38: - PythonVersion: '3.8' - Python39: - PythonVersion: '3.9' - Python310: - PythonVersion: '3.10' - variables: - - name: cachedimage - value: onnxruntimecpu227build - steps: - - checkout: self - clean: true - submodules: recursive - - - template: set-python-manylinux-variables-step.yml - - - template: get-docker-image-steps.yml - parameters: - Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux_2_27_cpu - Context: tools/ci_build/github/linux/docker - DockerBuildArgs: "--build-arg BUILD_UID=$( id -u )" - Repository: ${{ variables.cachedimage }} - - - task: CmdLine@2 - displayName: 'Build Python Wheel' - inputs: - script: | - mkdir -p $HOME/.onnx - docker run --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 \ - -e BUILD_BUILDNUMBER \ - ${{ variables.cachedimage }} \ - $(PythonManylinuxDir)/bin/python3 /onnxruntime_src/tools/ci_build/build.py \ - --build_dir /build --cmake_generator Ninja \ - --config Release --update --build \ - --skip_submodule_sync \ - --parallel \ - --enable_lto \ - --build_wheel \ - --enable_onnx_tests \ - ${{ parameters.build_py_parameters }} - workingDirectory: $(Build.SourcesDirectory) - - - task: CmdLine@2 - displayName: 'Running tests' - condition: and(succeeded(), eq(variables['PythonVersion'], '3.8')) - inputs: - script: | - set -e -x - rm -rf $(Build.BinariesDirectory)/Release/onnxruntime $(Build.BinariesDirectory)/Release/pybind11 - sudo rm -f /build /onnxruntime_src - sudo ln -s $(Build.SourcesDirectory) /onnxruntime_src - python3 -m pip install --upgrade pip - python3 -m pip uninstall -y ort-nightly-gpu ort-nightly onnxruntime onnxruntime-gpu onnxruntime-training onnxruntime-directml ort-nightly-directml -qq - cp $(Build.SourcesDirectory)/tools/ci_build/github/linux/docker/scripts/manylinux/requirements.txt $(Build.BinariesDirectory)/requirements.txt - # Test ORT with the latest ONNX release. - export ONNX_VERSION=$(cat $(Build.SourcesDirectory)/cmake/external/onnx/VERSION_NUMBER) - sed -i "s/git+http:\/\/github\.com\/onnx\/onnx.*/onnx==$ONNX_VERSION/" $(Build.BinariesDirectory)/requirements.txt - python3 -m pip install -r $(Build.BinariesDirectory)/requirements.txt - python3 -m pip install $(Build.BinariesDirectory)/Release/dist/*.whl - cd $(Build.BinariesDirectory)/Release - ls $(Build.BinariesDirectory)/models - rmdir $(Build.BinariesDirectory)/models - ln -sf /data/models $(Build.BinariesDirectory) - python3 $(Build.SourcesDirectory)/tools/ci_build/build.py \ - --build_dir $(Build.BinariesDirectory) --cmake_generator Ninja \ - --config Release --test \ - --skip_submodule_sync \ - --parallel \ - --enable_lto \ - --build_wheel \ - --enable_onnx_tests \ - ${{ parameters.build_py_parameters }} \ - --ctest_path '' - - - task: CopyFiles@2 - displayName: 'Copy Python Wheel to: $(Build.ArtifactStagingDirectory)' - inputs: - SourceFolder: '$(Build.BinariesDirectory)' - Contents: 'Release/dist/*.whl' - TargetFolder: '$(Build.ArtifactStagingDirectory)' - - - task: PublishBuildArtifacts@1 - displayName: 'Publish Artifact: ONNXRuntime python wheel and documentation' - inputs: - ArtifactName: onnxruntime - - - template: component-governance-component-detection-steps.yml - parameters: - condition: 'succeeded' - - - template: clean-agent-build-directory-step.yml - - - - ${{ if eq(parameters.enable_linux_gpu, true) }}: - - job: Linux_py_GPU_Wheels - timeoutInMinutes: 300 - workspace: - clean: all - pool: Onnxruntime-Linux-GPU - strategy: - matrix: - Python37: - PythonVersion: '3.7' - Python38: - PythonVersion: '3.8' - Python39: - PythonVersion: '3.9' - Python310: - PythonVersion: '3.10' - steps: - - checkout: self - clean: true - submodules: recursive - - - template: set-python-manylinux-variables-step.yml - - - template: get-docker-image-steps.yml - parameters: - Dockerfile: tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cuda11_6_tensorrt8_4 - Context: tools/ci_build/github/linux/docker - DockerBuildArgs: "--network=host --build-arg POLICY=manylinux2014 --build-arg PLATFORM=x86_64 --build-arg DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root --build-arg PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin: --build-arg LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 --build-arg BUILD_UID=$( id -u )" - Repository: onnxruntimecuda116xtrt84build - - - task: CmdLine@2 - displayName: 'Build Python Wheel' - inputs: - script: | - mkdir -p $HOME/.onnx - docker run --gpus all -e CC=/opt/rh/devtoolset-10/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-10/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-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 \ - -e BUILD_BUILDNUMBER \ - onnxruntimecuda116xtrt84build \ - $(PythonManylinuxDir)/bin/python3 /onnxruntime_src/tools/ci_build/build.py \ - --build_dir /build --cmake_generator Ninja \ - --config Release --update --build \ - --skip_submodule_sync \ - --parallel \ - --build_wheel \ - --enable_onnx_tests --use_tensorrt --cuda_version=11.6 --tensorrt_home=/usr --cuda_home=/usr/local/cuda-11.6 --cudnn_home=/usr/local/cuda-11.6 \ - ${{ parameters.build_py_parameters }} \ - --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-10/root/usr/bin/cc 'CMAKE_CUDA_ARCHITECTURES=37;50;52;60;61;70;75;80' - workingDirectory: $(Build.SourcesDirectory) - - - ${{ if parameters.enable_linux_gpu_tests }}: - - task: CmdLine@2 - displayName: 'Running tests' - condition: and(succeeded(), eq(variables['PythonVersion'], '3.8')) - inputs: - script: | - set -e -x - rm -rf $(Build.BinariesDirectory)/Release/onnxruntime $(Build.BinariesDirectory)/Release/pybind11 - sudo rm -f /build /onnxruntime_src - sudo ln -s $(Build.SourcesDirectory) /onnxruntime_src - python3 -m pip uninstall -y ort-nightly-gpu ort-nightly onnxruntime onnxruntime-gpu onnxruntime-training onnxruntime-directml ort-nightly-directml -qq - cp $(Build.SourcesDirectory)/tools/ci_build/github/linux/docker/scripts/manylinux/requirements.txt $(Build.BinariesDirectory)/requirements.txt - # Test ORT with the latest ONNX release. - sed -i "s/git+http:\/\/github\.com\/onnx\/onnx.*/onnx/" $(Build.BinariesDirectory)/requirements.txt - python3 -m pip install -r $(Build.BinariesDirectory)/requirements.txt - python3 -m pip install $(Build.BinariesDirectory)/Release/dist/*.whl - cd $(Build.BinariesDirectory)/Release - ls $(Build.BinariesDirectory)/models - rmdir $(Build.BinariesDirectory)/models - ln -sf /data/models $(Build.BinariesDirectory) - python3 /onnxruntime_src/tools/ci_build/build.py \ - --build_dir $(Build.BinariesDirectory) --cmake_generator Ninja \ - --config Release --test \ - --skip_submodule_sync \ - --parallel \ - --build_wheel \ - --enable_onnx_tests --use_tensorrt --cuda_version=11.4 --tensorrt_home=/usr --cuda_home=/usr/local/cuda-11.4 --cudnn_home=/usr/local/cuda-11.4 \ - ${{ parameters.build_py_parameters }} --ctest_path '' \ - --cmake_extra_defines CMAKE_CUDA_HOST_COMPILER=/opt/rh/devtoolset-10/root/usr/bin/cc 'CMAKE_CUDA_ARCHITECTURES=37;50;52;60;61;70;75;80' - - - task: CopyFiles@2 - displayName: 'Copy Python Wheel to: $(Build.ArtifactStagingDirectory)' - inputs: - SourceFolder: '$(Build.BinariesDirectory)' - Contents: 'Release/dist/*.whl' - TargetFolder: '$(Build.ArtifactStagingDirectory)' - - - task: PublishBuildArtifacts@1 - displayName: 'Publish Artifact: ONNXRuntime python wheel' - inputs: - ArtifactName: onnxruntime_gpu - - - template: component-governance-component-detection-steps.yml - parameters: - condition: 'succeeded' - - - template: clean-agent-build-directory-step.yml - - ${{ if eq(parameters.enable_windows_cpu, true) }}: - job: Windows_py_Wheels pool: 'Win-CPU-2021' @@ -329,6 +112,11 @@ stages: addToPath: true architecture: $(buildArch) + - task: PythonScript@0 + displayName: 'Run a Python script' + inputs: + scriptPath: 'tools\ci_build\update_tsaoptions.py' + - template: set-nightly-build-option-variable-step.yml - task: BatchScript@1 @@ -479,7 +267,7 @@ stages: pool: 'onnxruntime-gpu-winbuild' timeoutInMinutes: 300 variables: - CUDA_VERSION: '11.4' + CUDA_VERSION: '11.6' buildArch: x64 strategy: matrix: @@ -614,7 +402,7 @@ stages: - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: ONNXRuntime python wheel' inputs: - ArtifactName: onnxruntime_gpu + ArtifactName: onnxruntime_$(EP_NAME) - script: | 7z x *.whl @@ -821,6 +609,9 @@ stages: arch: 'aarch64' machine_pool: 'aiinfra-linux-ARM64-CPU-2019' base_image: 'arm64v8/centos:7' + devtoolset_rootpath: /opt/rh/devtoolset-10/root + ld_library_path_arg: /opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 + prepend_path: '/opt/rh/devtoolset-10/root/usr/bin:' - ${{ if eq(parameters.enable_linux_cpu, true) }}: - template: py-linux.yml @@ -828,3 +619,26 @@ stages: arch: 'x86_64' machine_pool: 'Azure-Pipelines-EO-Ubuntu-2004-aiinfra' base_image: 'centos:7' + devtoolset_rootpath: /opt/rh/devtoolset-11/root + ld_library_path_arg: /opt/rh/devtoolset-11/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib:/opt/rh/devtoolset-11/root/usr/lib64/dyninst:/opt/rh/devtoolset-11/root/usr/lib/dyninst:/usr/local/lib64 + prepend_path: '/opt/rh/devtoolset-11/root/usr/bin:' + + - ${{ if eq(parameters.enable_ubuntu_cpu, true) }}: + - template: py-linux-ubuntu.yml + parameters: + arch: 'aarch64' + machine_pool: 'aiinfra-linux-ARM64-CPU-2019' + base_image: 'arm64v8/ubuntu:18.04' + + - ${{ if eq(parameters.enable_ubuntu_cpu, true) }}: + - template: py-linux-ubuntu.yml + parameters: + arch: 'x86_64' + machine_pool: 'Linux-CPU' + base_image: 'ubuntu:18.04' + + - ${{ if eq(parameters.enable_linux_gpu, true) }}: + - template: py-linux-gpu.yml + parameters: + arch: 'x86_64' + machine_pool: 'Linux-CPU' \ No newline at end of file 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 eb17e7e7ac..113d6f31d3 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 @@ -147,7 +147,7 @@ stages: inputs: script: | mkdir -p $HOME/.onnx - docker run --rm --gpus all -e CC=/opt/rh/devtoolset-$(GccVersion)/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-$(GccVersion)/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" \ + docker run --rm -e CC=/opt/rh/devtoolset-$(GccVersion)/root/usr/bin/cc -e CXX=/opt/rh/devtoolset-$(GccVersion)/root/usr/bin/c++ -e CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" -e CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -fcf-protection -O3 -Wl,--strip-all" \ --volume /data/onnx:/data/onnx:ro \ --volume $(Build.SourcesDirectory):/onnxruntime_src \ --volume $(Build.BinariesDirectory):/build \ @@ -198,34 +198,6 @@ stages: Contents: "${{ variables['buildConfig'] }}/dist/*.whl" TargetFolder: '$(Build.ArtifactStagingDirectory)' - - task: CmdLine@2 - displayName: 'Build Python Documentation' - condition: and(succeeded(), ne(variables['PythonVersion'], '3.9')) # tensorflow not available on python 3.9 - inputs: - script: | - mkdir -p $HOME/.onnx - docker run --rm \ - --gpus all \ - -e NVIDIA_VISIBLE_DEVICES=all \ - --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 \ - -e BUILD_BUILDNUMBER \ - onnxruntimetraininggpubuild \ - bash -c " $(PythonManylinuxDir)/bin/python3 -m pip install /build/${{ variables['buildConfig'] }}/dist/*.whl && $(PythonManylinuxDir)/bin/python3 -m onnxruntime.training.ortmodule.torch_cpp_extensions.install ; /onnxruntime_src/tools/doc/builddoc.sh $(PythonManylinuxDir)/bin/ /onnxruntime_src /build ${{ variables['buildConfig'] }} " ; - workingDirectory: $(Build.SourcesDirectory) - - - task: CopyFiles@2 - displayName: 'Copy Python Documentation to: $(Build.ArtifactStagingDirectory)' - condition: and(succeeded(), ne(variables['PythonVersion'], '3.9')) # tensorflow not available on python 3.9 - inputs: - SourceFolder: '$(Build.BinariesDirectory)/docs/training/html' - Contents: '**' - TargetFolder: '$(Build.ArtifactStagingDirectory)/training_html_doc' - - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: ONNXRuntime python wheel and documentation' inputs: diff --git a/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline.yml index bb5f649694..5290be8de6 100644 --- a/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/win-gpu-ci-pipeline.yml @@ -13,7 +13,7 @@ stages: BuildConfig: 'RelWithDebInfo' EnvSetupScript: setup_env_cuda_11.bat buildArch: x64 - additionalBuildFlags: --enable_pybind --build_java --build_nodejs --use_cuda --cuda_version=11.4 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4" --enable_cuda_profiling --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=52 + additionalBuildFlags: --enable_pybind --build_java --build_nodejs --use_cuda --cuda_version=11.6 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6" --enable_cuda_profiling --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=52 msbuildPlatform: x64 isX86: false job_name_suffix: x64_RelWithDebInfo @@ -30,7 +30,7 @@ stages: BuildConfig: 'RelWithDebInfo' EnvSetupScript: setup_env_cuda_11.bat buildArch: x64 - additionalBuildFlags: --enable_pybind --enable_training --use_cuda --cuda_version=11.4 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4" --skip_onnx_tests --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=52 + additionalBuildFlags: --enable_pybind --enable_training --use_cuda --cuda_version=11.6 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6" --skip_onnx_tests --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=52 msbuildPlatform: x64 isX86: false job_name_suffix: x64_RelWithDebInfo @@ -65,7 +65,7 @@ stages: BuildConfig: 'RelWithDebInfo' EnvSetupScript: setup_env_cuda_11.bat buildArch: x64 - additionalBuildFlags: --gen_doc validate --skip_tests --enable_pybind --use_dml --use_cuda --cuda_version=11.4 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4" --enable_cuda_profiling --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=52 --cmake_extra_defines onnxruntime_BUILD_UNIT_TESTS=OFF + additionalBuildFlags: --gen_doc validate --skip_tests --enable_pybind --use_dml --use_cuda --cuda_version=11.6 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6" --enable_cuda_profiling --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=52 --cmake_extra_defines onnxruntime_BUILD_UNIT_TESTS=OFF msbuildPlatform: x64 isX86: false job_name_suffix: x64_RelWithDebInfo diff --git a/tools/ci_build/github/azure-pipelines/win-gpu-reduce-op-ci-pipeline.yml b/tools/ci_build/github/azure-pipelines/win-gpu-reduce-op-ci-pipeline.yml index f326c77a5b..b0a2ca0a7a 100644 --- a/tools/ci_build/github/azure-pipelines/win-gpu-reduce-op-ci-pipeline.yml +++ b/tools/ci_build/github/azure-pipelines/win-gpu-reduce-op-ci-pipeline.yml @@ -52,7 +52,7 @@ jobs: displayName: 'Build and test' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: '--config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 16 2019" --build_wheel --use_cuda --cuda_version=11.4 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4" --cmake_extra_defines CMAKE_SYSTEM_VERSION=10.0.18362.0 "CMAKE_CUDA_ARCHITECTURES=52" --include_ops_by_config="$(Build.SourcesDirectory)\onnxruntime\test\testdata\required_ops.config"' + arguments: '--config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --cmake_generator "Visual Studio 16 2019" --build_wheel --use_cuda --cuda_version=11.6 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6" --cmake_extra_defines CMAKE_SYSTEM_VERSION=10.0.18362.0 "CMAKE_CUDA_ARCHITECTURES=52" --include_ops_by_config="$(Build.SourcesDirectory)\onnxruntime\test\testdata\required_ops.config"' workingDirectory: '$(Build.BinariesDirectory)' - template: templates/component-governance-component-detection-steps.yml 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 ba628fa9a7..5c4e5c6568 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 @@ -48,7 +48,7 @@ jobs: displayName: 'Generate cmake config' inputs: scriptPath: '$(Build.SourcesDirectory)\tools\ci_build\build.py' - arguments: '--config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --build_wheel --enable_onnx_tests --use_tensorrt --tensorrt_placeholder_builder --tensorrt_home="C:\local\TensorRT-8.4.1.5.Windows10.x86_64.cuda-11.6.cudnn8.4" --cuda_version=11.4 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4" --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=52' + arguments: '--config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --update --cmake_generator "Visual Studio 16 2019" --build_wheel --enable_onnx_tests --use_tensorrt --tensorrt_placeholder_builder --tensorrt_home="C:\local\TensorRT-8.4.1.5.Windows10.x86_64.cuda-11.6.cudnn8.4" --cuda_version=11.6 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6" --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=52' workingDirectory: '$(Build.BinariesDirectory)' - task: VSBuild@1 @@ -78,7 +78,7 @@ jobs: del wheel_filename_file python.exe -m pip install -q --upgrade %WHEEL_FILENAME% set PATH=$(Build.BinariesDirectory)\$(BuildConfig)\$(BuildConfig);%PATH% - python $(Build.SourcesDirectory)\tools\ci_build\build.py --config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --build_wheel --enable_onnx_tests --use_tensorrt --tensorrt_placeholder_builder --tensorrt_home="C:\local\TensorRT-8.4.1.5.Windows10.x86_64.cuda-11.6.cudnn8.4" --cuda_version=11.4 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4" --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=52 + python $(Build.SourcesDirectory)\tools\ci_build\build.py --config $(BuildConfig) --build_dir $(Build.BinariesDirectory) --skip_submodule_sync --build_shared_lib --test --cmake_generator "Visual Studio 16 2019" --build_wheel --enable_onnx_tests --use_tensorrt --tensorrt_placeholder_builder --tensorrt_home="C:\local\TensorRT-8.4.1.5.Windows10.x86_64.cuda-11.6.cudnn8.4" --cuda_version=11.6 --cuda_home="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6" --cmake_extra_defines CMAKE_CUDA_ARCHITECTURES=52 workingDirectory: '$(Build.BinariesDirectory)\$(BuildConfig)\$(BuildConfig)' displayName: 'Run tests' diff --git a/tools/ci_build/github/linux/build_linux_arm64_python_package.sh b/tools/ci_build/github/linux/build_linux_arm64_python_package.sh old mode 100644 new mode 100755 index a2b05566d9..c36fa959e9 --- a/tools/ci_build/github/linux/build_linux_arm64_python_package.sh +++ b/tools/ci_build/github/linux/build_linux_arm64_python_package.sh @@ -1,26 +1,51 @@ -#/bin/bash -set -x +#!/bin/bash +set -e -x mkdir /build/dist -CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -O3 -Wl,--strip-all" -CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -O3 -Wl,--strip-all" -arch=$(uname -i) -if [[ $arch == x86_64* ]]; then +CFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -O3 -pipe -Wl,--strip-all" +CXXFLAGS="-Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -O3 -pipe -Wl,--strip-all" + + +BUILD_DEVICE="CPU" +BUILD_CONFIG="Release" +while getopts "d:" parameter_Option +do case "${parameter_Option}" +in +#GPU or CPU. +d) BUILD_DEVICE=${OPTARG};; +esac +done + +GCC_VERSION=$(gcc -dumpversion) +#-fstack-clash-protection prevents attacks based on an overlapping heap and stack. +if [ "$GCC_VERSION" -ge 8 ]; then + CFLAGS="$CFLAGS -fstack-clash-protection" + CXXFLAGS="$CXXFLAGS -fstack-clash-protection" +fi + +ARCH=$(uname -i) + +if [ $ARCH == "x86_64" ] && [ "$GCC_VERSION" -ge 9 ]; then CFLAGS="$CFLAGS -fcf-protection" - CXXFLAGS="$CFLAGS -fcf-protection" + CXXFLAGS="$CXXFLAGS -fcf-protection" +fi + + +BUILD_ARGS="--build_dir /build --config $BUILD_CONFIG --update --build --skip_submodule_sync --parallel --enable_lto --build_wheel" + +if [ $ARCH == "x86_64" ]; then + #ARM build machines do not have the test data yet. + BUILD_ARGS="$BUILD_ARGS --enable_onnx_tests" +fi +if [ $BUILD_DEVICE == "GPU" ]; then + BUILD_ARGS="$BUILD_ARGS --use_cuda --use_tensorrt --cuda_version=11.6 --tensorrt_home=/usr --cuda_home=/usr/local/cuda-11.6 --cudnn_home=/usr/local/cuda-11.6" fi export CFLAGS export CXXFLAGS PYTHON_EXES=("/opt/python/cp37-cp37m/bin/python3.7" "/opt/python/cp38-cp38/bin/python3.8" "/opt/python/cp39-cp39/bin/python3.9" "/opt/python/cp310-cp310/bin/python3.10") for PYTHON_EXE in "${PYTHON_EXES[@]}" do - rm -rf /build/Release - ${PYTHON_EXE} /onnxruntime_src/tools/ci_build/build.py \ - --build_dir /build \ - --config Release --update --build \ - --skip_submodule_sync \ - --parallel \ - --enable_lto \ - --build_wheel \ - --enable_onnx_tests - cp /build/Release/dist/*.whl /build/dist + rm -rf /build/$BUILD_CONFIG + ${PYTHON_EXE} /onnxruntime_src/tools/ci_build/build.py $BUILD_ARGS + + cp /build/$BUILD_CONFIG/dist/*.whl /build/dist done diff --git a/tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cpu b/tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cpu index 90e03b41d4..b0eed243aa 100644 --- a/tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cpu +++ b/tools/ci_build/github/linux/docker/Dockerfile.manylinux2014_cpu @@ -1,9 +1,9 @@ ARG BASEIMAGE=centos:7 ARG POLICY=manylinux2014 ARG PLATFORM=x86_64 -ARG DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root -ARG LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 -ARG PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin: +ARG DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-11/root +ARG LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-11/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib:/opt/rh/devtoolset-11/root/usr/lib64/dyninst:/opt/rh/devtoolset-11/root/usr/lib/dyninst:/usr/local/lib64 +ARG PREPEND_PATH=/opt/rh/devtoolset-11/root/usr/bin: #Build manylinux2014 docker image begin FROM $BASEIMAGE AS runtime_base @@ -160,7 +160,7 @@ CMD ["/bin/bash"] #Build manylinux2014 docker image end -ENV PATH /usr/local/gradle/bin:/opt/rh/devtoolset-10/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV PATH /usr/local/gradle/bin:/opt/rh/devtoolset-11/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ADD scripts /tmp/scripts RUN cd /tmp/scripts && /tmp/scripts/manylinux/install_centos.sh && /tmp/scripts/manylinux/install_deps.sh && rm -rf /tmp/scripts diff --git a/tools/ci_build/github/linux/docker/inference/x64/python/cpu/Dockerfile.manylinux2014_cpu b/tools/ci_build/github/linux/docker/inference/x64/python/cpu/Dockerfile.manylinux2014_cpu index 042465abd2..2fba12a02d 100644 --- a/tools/ci_build/github/linux/docker/inference/x64/python/cpu/Dockerfile.manylinux2014_cpu +++ b/tools/ci_build/github/linux/docker/inference/x64/python/cpu/Dockerfile.manylinux2014_cpu @@ -1,9 +1,9 @@ ARG BASEIMAGE=centos:7 ARG POLICY=manylinux2014 ARG PLATFORM=x86_64 -ARG DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-10/root -ARG LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/usr/local/lib64 -ARG PREPEND_PATH=/opt/rh/devtoolset-10/root/usr/bin: +ARG DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-11/root +ARG LD_LIBRARY_PATH_ARG=/opt/rh/devtoolset-11/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib:/opt/rh/devtoolset-11/root/usr/lib64/dyninst:/opt/rh/devtoolset-11/root/usr/lib/dyninst:/usr/local/lib64 +ARG PREPEND_PATH=/opt/rh/devtoolset-11/root/usr/bin: #Build manylinux2014 docker image begin FROM $BASEIMAGE AS runtime_base @@ -156,8 +156,6 @@ CMD ["/bin/bash"] #Build manylinux2014 docker image end -ENV PATH /usr/local/gradle/bin:/opt/rh/devtoolset-10/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - ADD scripts /tmp/scripts RUN cd /tmp/scripts && /tmp/scripts/install_centos.sh && /tmp/scripts/install_deps.sh && rm -rf /tmp/scripts diff --git a/tools/ci_build/github/linux/docker/manylinux.patch b/tools/ci_build/github/linux/docker/manylinux.patch index d2865a92e5..4b55a15305 100644 --- a/tools/ci_build/github/linux/docker/manylinux.patch +++ b/tools/ci_build/github/linux/docker/manylinux.patch @@ -1,19 +1,21 @@ -diff -ur /home/chasun/manylinux/docker/build_scripts/build-cpython.sh ./build-cpython.sh ---- /home/chasun/manylinux/docker/build_scripts/build-cpython.sh 2022-07-29 02:19:20.983860581 +0000 -+++ ./build-cpython.sh 2022-07-29 02:19:30.831732784 +0000 -@@ -52,7 +52,7 @@ +diff --git a/build-cpython.sh b/build-cpython.sh +index e0a7e86..ed17dc6 100755 +--- a/build-cpython.sh ++++ b/build-cpython.sh +@@ -38,7 +38,7 @@ mkdir -p ${PREFIX}/lib CFLAGS_NODIST="${MANYLINUX_CFLAGS} ${MANYLINUX_CPPFLAGS}" \ LDFLAGS_NODIST="${MANYLINUX_LDFLAGS}" \ --prefix=${PREFIX} --disable-shared --with-ensurepip=no > /dev/null -make > /dev/null +make -j$(nproc) > /dev/null make install > /dev/null - if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ]; then - rm -f /usr/include/ffi.h /usr/include/ffitarget.h -diff -ur /home/chasun/manylinux/docker/build_scripts/build-git.sh ./build-git.sh ---- /home/chasun/manylinux/docker/build_scripts/build-git.sh 2022-07-29 02:19:20.983860581 +0000 -+++ ./build-git.sh 2022-07-29 02:19:46.127533315 +0000 -@@ -27,7 +27,7 @@ + popd + rm -rf Python-${CPYTHON_VERSION} Python-${CPYTHON_VERSION}.tgz Python-${CPYTHON_VERSION}.tgz.asc +diff --git a/build-git.sh b/build-git.sh +index a99f55a..da3a7ca 100755 +--- a/build-git.sh ++++ b/build-git.sh +@@ -27,7 +27,7 @@ fetch_source ${GIT_ROOT}.tar.gz ${GIT_DOWNLOAD_URL} check_sha256sum ${GIT_ROOT}.tar.gz ${GIT_HASH} tar -xzf ${GIT_ROOT}.tar.gz pushd ${GIT_ROOT} @@ -22,10 +24,11 @@ diff -ur /home/chasun/manylinux/docker/build_scripts/build-git.sh ./build-git.sh popd rm -rf ${GIT_ROOT} ${GIT_ROOT}.tar.gz -diff -ur /home/chasun/manylinux/docker/build_scripts/build-openssl.sh ./build-openssl.sh ---- /home/chasun/manylinux/docker/build_scripts/build-openssl.sh 2022-07-29 02:19:20.983860581 +0000 -+++ ./build-openssl.sh 2022-07-29 02:19:46.127533315 +0000 -@@ -42,7 +42,7 @@ +diff --git a/build-openssl.sh b/build-openssl.sh +index b93e209..49dd769 100755 +--- a/build-openssl.sh ++++ b/build-openssl.sh +@@ -42,7 +42,7 @@ check_sha256sum ${OPENSSL_ROOT}.tar.gz ${OPENSSL_HASH} tar -xzf ${OPENSSL_ROOT}.tar.gz pushd ${OPENSSL_ROOT} ./config no-shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS} -fPIC" CXXFLAGS="${MANYLINUX_CXXFLAGS} -fPIC" LDFLAGS="${MANYLINUX_LDFLAGS} -fPIC" > /dev/null @@ -34,10 +37,11 @@ diff -ur /home/chasun/manylinux/docker/build_scripts/build-openssl.sh ./build-op make install_sw > /dev/null popd rm -rf ${OPENSSL_ROOT} ${OPENSSL_ROOT}.tar.gz -diff -ur /home/chasun/manylinux/docker/build_scripts/build_utils.sh ./build_utils.sh ---- /home/chasun/manylinux/docker/build_scripts/build_utils.sh 2022-07-29 02:19:20.983860581 +0000 -+++ ./build_utils.sh 2022-07-29 02:19:58.119376443 +0000 -@@ -33,6 +33,7 @@ +diff --git a/build_utils.sh b/build_utils.sh +index 961e34d..c1ef5a3 100755 +--- a/build_utils.sh ++++ b/build_utils.sh +@@ -33,6 +33,7 @@ function fetch_source { if [ -f ${file} ]; then echo "${file} exists, skipping fetch" else @@ -45,7 +49,7 @@ diff -ur /home/chasun/manylinux/docker/build_scripts/build_utils.sh ./build_util curl -fsSL -o ${file} ${url}/${file} fi } -@@ -52,7 +53,7 @@ +@@ -52,7 +53,7 @@ function check_sha256sum { function do_standard_install { ./configure "$@" CPPFLAGS="${MANYLINUX_CPPFLAGS}" CFLAGS="${MANYLINUX_CFLAGS}" "CXXFLAGS=${MANYLINUX_CXXFLAGS}" LDFLAGS="${MANYLINUX_LDFLAGS}" > /dev/null @@ -54,71 +58,48 @@ diff -ur /home/chasun/manylinux/docker/build_scripts/build_utils.sh ./build_util make install > /dev/null } -diff -ur /home/chasun/manylinux/docker/build_scripts/install-build-packages.sh ./install-build-packages.sh ---- /home/chasun/manylinux/docker/build_scripts/install-build-packages.sh 2022-07-29 02:19:20.983860581 +0000 -+++ ./install-build-packages.sh 2022-07-29 02:19:58.119376443 +0000 -@@ -20,7 +20,7 @@ - else - COMPILE_DEPS="${COMPILE_DEPS} libdb-devel" - fi +diff --git a/install-build-packages.sh b/install-build-packages.sh +index 344eaac..aab08a7 100755 +--- a/install-build-packages.sh ++++ b/install-build-packages.sh +@@ -18,7 +18,7 @@ if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == + if [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ]; then + COMPILE_DEPS="${COMPILE_DEPS} tk-devel" + fi -elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then +elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then PACKAGE_MANAGER=apt COMPILE_DEPS="libbz2-dev libncurses5-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev liblzma-dev openssl libssl-dev libkeyutils-dev libkrb5-dev comerr-dev libidn2-0-dev libcurl4-openssl-dev uuid-dev libffi-dev linux-kernel-headers" elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then -diff -ur /home/chasun/manylinux/docker/build_scripts/install-entrypoint.sh ./install-entrypoint.sh ---- /home/chasun/manylinux/docker/build_scripts/install-entrypoint.sh 2022-07-19 21:37:58.452393854 +0000 -+++ ./install-entrypoint.sh 2022-07-29 02:19:58.119376443 +0000 -@@ -11,18 +11,24 @@ - - - if [ "${AUDITWHEEL_PLAT}" = "manylinux2010_i686" ] || [ "${AUDITWHEEL_PLAT}" = "manylinux2014_i686" ]; then -- echo "i386" > /etc/yum/vars/basearch -- fixup-mirrors -- yum -y update -- fixup-mirrors -- yum install -y util-linux-ng -- # update system packages, we already updated them but -- # the following script takes care of cleaning-up some things -- # and since it's also needed in the finalize step, everything's -- # centralized in this script to avoid code duplication -- LC_ALL=C "${MY_DIR}/update-system-packages.sh" -+ echo "i386" > /etc/yum/vars/basearch -+ fixup-mirrors -+ yum -y update -+ fixup-mirrors -+ yum install -y util-linux-ng -+ # update system packages, we already updated them but -+ # the following script takes care of cleaning-up some things -+ # and since it's also needed in the finalize step, everything's -+ # centralized in this script to avoid code duplication -+ LC_ALL=C "${MY_DIR}/update-system-packages.sh" - fi - +diff --git a/install-entrypoint.sh b/install-entrypoint.sh +index 9ef1e99..ec52833 100755 +--- a/install-entrypoint.sh ++++ b/install-entrypoint.sh +@@ -26,3 +26,8 @@ fi if [ "${AUDITWHEEL_POLICY}" = "musllinux_1_1" ]; then -- apk add --no-cache bash -+ apk add --no-cache bash -+fi + apk add --no-cache bash + fi + -+# https://www.shellcheck.net/wiki/SC3020 +if command -v yum 2>&1 ; then + yum install -y yum-plugin-versionlock + yum versionlock cuda* libcudnn* libnccl* - fi -diff -ur /home/chasun/manylinux/docker/build_scripts/install-runtime-packages.sh ./install-runtime-packages.sh ---- /home/chasun/manylinux/docker/build_scripts/install-runtime-packages.sh 2022-07-29 02:19:20.983860581 +0000 -+++ ./install-runtime-packages.sh 2022-07-29 02:19:58.119376443 +0000 -@@ -34,7 +34,7 @@ ++fi +\ No newline at end of file +diff --git a/install-runtime-packages.sh b/install-runtime-packages.sh +index e599ff0..2050bb3 100755 +--- a/install-runtime-packages.sh ++++ b/install-runtime-packages.sh +@@ -34,7 +34,7 @@ source $MY_DIR/build_utils.sh # MANYLINUX_DEPS: Install development packages (except for libgcc which is provided by gcc install) - if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ]; then + if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ]; then MANYLINUX_DEPS="glibc-devel libstdc++-devel glib2-devel libX11-devel libXext-devel libXrender-devel mesa-libGL-devel libICE-devel libSM-devel zlib-devel expat-devel" -elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then +elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then MANYLINUX_DEPS="libc6-dev libstdc++-6-dev libglib2.0-dev libx11-dev libxext-dev libxrender-dev libgl1-mesa-dev libice-dev libsm-dev libz-dev libexpat1-dev" elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then MANYLINUX_DEPS="musl-dev libstdc++ glib-dev libx11-dev libxext-dev libxrender-dev mesa-dev libice-dev libsm-dev zlib-dev expat-dev" -@@ -53,6 +53,9 @@ - fi +@@ -51,6 +51,9 @@ if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == + fi elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then RUNTIME_DEPS="zlib1g libbz2-1.0 libexpat1 libncurses5 libreadline7 tk libgdbm3 libdb5.3 libpcap0.8 liblzma5 libssl1.1 libkeyutils1 libkrb5-3 libcomerr2 libidn2-0 libcurl3 uuid libffi6" +elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_27" ]; then @@ -127,32 +108,34 @@ diff -ur /home/chasun/manylinux/docker/build_scripts/install-runtime-packages.sh elif [ "${AUDITWHEEL_POLICY}" == "musllinux_1_1" ]; then RUNTIME_DEPS="zlib bzip2 expat ncurses5-libs readline tk gdbm db xz openssl keyutils-libs krb5-libs libcom_err libidn2 libcurl libuuid libffi" else -@@ -96,12 +99,22 @@ +@@ -73,22 +76,31 @@ if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then yum -y update yum -y install yum-utils curl yum-config-manager --enable extras - TOOLCHAIN_DEPS="devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-gcc-gfortran" +- if [ "${AUDITWHEEL_ARCH}" == "x86_64" ]; then + -+ #Added by @snnn -+ if [ -d "/usr/local/cuda-10.2" ]; then -+ TOOLCHAIN_DEPS="devtoolset-8-binutils devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-gcc-gfortran" -+ elif [ -d "/usr/local/cuda-11.1" ]; then -+ TOOLCHAIN_DEPS="devtoolset-9-binutils devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-gcc-gfortran" -+ else -+ TOOLCHAIN_DEPS="devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-gcc-gfortran" -+ fi - if [ "${AUDITWHEEL_ARCH}" == "x86_64" ]; then ++ ++ if [ "${AUDITWHEEL_ARCH}" == "x86_64" ]; then # Software collection (for devtoolset-10) yum -y install centos-release-scl-rh # EPEL support (for yasm) - yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -+ if ! rpm -q --quiet epel-release ; then -+ yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -+ fi ++ if ! rpm -q --quiet epel-release ; then ++ yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm ++ fi ++ if [[ -d /opt/rocm ]]; then ++ TOOLCHAIN_DEPS="devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-gcc-gfortran" ++ else ++ TOOLCHAIN_DEPS="devtoolset-11-binutils devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-gcc-gfortran" ++ fi TOOLCHAIN_DEPS="${TOOLCHAIN_DEPS} yasm" elif [ "${AUDITWHEEL_ARCH}" == "aarch64" ] || [ "${AUDITWHEEL_ARCH}" == "ppc64le" ] || [ "${AUDITWHEEL_ARCH}" == "s390x" ]; then # Software collection (for devtoolset-10) -@@ -111,7 +124,7 @@ + yum -y install centos-release-scl-rh ++ TOOLCHAIN_DEPS="devtoolset-10-binutils devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-gcc-gfortran" + elif [ "${AUDITWHEEL_ARCH}" == "i686" ]; then + # No yasm on i686 # Install mayeut/devtoolset-10 repo to get devtoolset-10 curl -fsSLo /etc/yum.repos.d/mayeut-devtoolset-10.repo https://copr.fedorainfracloud.org/coprs/mayeut/devtoolset-10/repo/custom-1/mayeut-devtoolset-10-custom-1.repo fi @@ -161,9 +144,10 @@ diff -ur /home/chasun/manylinux/docker/build_scripts/install-runtime-packages.sh PACKAGE_MANAGER=apt BASETOOLS="${BASETOOLS} hardlink hostname" export DEBIAN_FRONTEND=noninteractive -diff -ur /home/chasun/manylinux/docker/build_scripts/python-tag-abi-tag.py ./python-tag-abi-tag.py ---- /home/chasun/manylinux/docker/build_scripts/python-tag-abi-tag.py 2022-07-19 21:37:58.452393854 +0000 -+++ ./python-tag-abi-tag.py 2022-07-29 02:19:58.119376443 +0000 +diff --git a/python-tag-abi-tag.py b/python-tag-abi-tag.py +index 942394b..f405f03 100644 +--- a/python-tag-abi-tag.py ++++ b/python-tag-abi-tag.py @@ -4,7 +4,6 @@ from wheel.vendored.packaging.tags import sys_tags @@ -172,10 +156,11 @@ diff -ur /home/chasun/manylinux/docker/build_scripts/python-tag-abi-tag.py ./pyt # first tag is always the more specific tag tag = next(sys_tags()) print("{0}-{1}".format(tag.interpreter, tag.abi)) -diff -ur /home/chasun/manylinux/docker/build_scripts/update-system-packages.sh ./update-system-packages.sh ---- /home/chasun/manylinux/docker/build_scripts/update-system-packages.sh 2022-07-29 02:19:20.987860529 +0000 -+++ ./update-system-packages.sh 2022-07-29 02:19:58.119376443 +0000 -@@ -20,7 +20,7 @@ +diff --git a/update-system-packages.sh b/update-system-packages.sh +index 36a7018..fb18ec9 100755 +--- a/update-system-packages.sh ++++ b/update-system-packages.sh +@@ -20,7 +20,7 @@ if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ]; then fi yum clean all rm -rf /var/cache/yum @@ -184,8 +169,8 @@ diff -ur /home/chasun/manylinux/docker/build_scripts/update-system-packages.sh . export DEBIAN_FRONTEND=noninteractive apt-get update -qq apt-get upgrade -qq -y -@@ -60,7 +60,7 @@ - if [ "${AUDITWHEEL_POLICY}" == "manylinux2010" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ]; then +@@ -60,7 +60,7 @@ if [ "${BASE_POLICY}" == "manylinux" ]; then + if [ "${AUDITWHEEL_POLICY}" == "manylinux2014" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ]; then mv -f ${LOCALE_ARCHIVE} ${LOCALE_ARCHIVE}.tmpl build-locale-archive --install-langs="en_US.utf8" - elif [ "${AUDITWHEEL_POLICY}" == "manylinux_2_24" ]; then diff --git a/tools/ci_build/github/linux/docker/scripts/manylinux/install_ubuntuos.sh b/tools/ci_build/github/linux/docker/scripts/manylinux/install_ubuntuos.sh old mode 100644 new mode 100755 diff --git a/tools/ci_build/github/linux/run_python_tests.sh b/tools/ci_build/github/linux/run_python_tests.sh old mode 100644 new mode 100755 index 7da478b74f..e9c8936592 --- a/tools/ci_build/github/linux/run_python_tests.sh +++ b/tools/ci_build/github/linux/run_python_tests.sh @@ -1,6 +1,16 @@ #!/bin/bash set -e -x +BUILD_DEVICE="CPU" +BUILD_CONFIG="Release" +while getopts "d:" parameter_Option +do case "${parameter_Option}" +in +#GPU or CPU. +d) BUILD_DEVICE=${OPTARG};; +esac +done + cd $BUILD_BINARIESDIRECTORY files=(whl/*.whl) FILE_NAME="${files[0]}" @@ -9,24 +19,26 @@ PYTHON_PACKAGE_NAME=$(echo "$FILE_NAME" | cut -f 1 -d '-') echo "Package name:$PYTHON_PACKAGE_NAME" -# We assume the machine doesn't have gcc and python development header files -sudo rm -f /build /onnxruntime_src +BUILD_ARGS="--build_dir $BUILD_BINARIESDIRECTORY --config $BUILD_CONFIG --test --skip_submodule_sync --parallel --enable_lto --build_wheel " + +if [ $ARCH == "x86_64" ]; then + #ARM build machines do not have the test data yet. + BUILD_ARGS="$BUILD_ARGS --enable_onnx_tests" +fi +if [ $BUILD_DEVICE == "GPU" ]; then + BUILD_ARGS="$BUILD_ARGS --use_cuda --use_tensorrt --cuda_version=11.6 --tensorrt_home=/usr --cuda_home=/usr/local/cuda-11.6 --cudnn_home=/usr/local/cuda-11.6" +fi +# We assume the machine doesn't have gcc and python development header files, so we don't build onnxruntime from source +sudo rm -rf /build /onnxruntime_src sudo ln -s $BUILD_SOURCESDIRECTORY /onnxruntime_src -python3 -m pip uninstall -y $$PYTHON_PACKAGE_NAME ort-nightly-gpu ort-nightly onnxruntime onnxruntime-gpu onnxruntime-training onnxruntime-directml ort-nightly-directml onnx -qq +python3 -m pip uninstall -y $PYTHON_PACKAGE_NAME ort-nightly-gpu ort-nightly onnxruntime onnxruntime-gpu onnxruntime-training onnxruntime-directml ort-nightly-directml onnx -qq cp $BUILD_SOURCESDIRECTORY/tools/ci_build/github/linux/docker/scripts/manylinux/requirements.txt $BUILD_BINARIESDIRECTORY/requirements.txt # Test ORT with the latest ONNX release. sed -i "s/git+http:\/\/github\.com\/onnx\/onnx.*/onnx/" $BUILD_BINARIESDIRECTORY/requirements.txt python3 -m pip install -r $BUILD_BINARIESDIRECTORY/requirements.txt python3 -m pip install --find-links $BUILD_BINARIESDIRECTORY/whl $PYTHON_PACKAGE_NAME ln -s /data/models $BUILD_BINARIESDIRECTORY -cd $BUILD_BINARIESDIRECTORY/Release +cd $BUILD_BINARIESDIRECTORY/$BUILD_CONFIG # Restore file permissions -xargs -a $BUILD_BINARIESDIRECTORY/Release/perms.txt chmod a+x -python3 $BUILD_SOURCESDIRECTORY/tools/ci_build/build.py \ - --build_dir $BUILD_BINARIESDIRECTORY \ - --config Release --test \ - --skip_submodule_sync \ - --parallel \ - --build_wheel \ - --enable_onnx_tests \ - --enable_pybind --ctest_path '' \ No newline at end of file +xargs -a $BUILD_BINARIESDIRECTORY/$BUILD_CONFIG/perms.txt chmod a+x +python3 $BUILD_SOURCESDIRECTORY/tools/ci_build/build.py $BUILD_ARGS --ctest_path '' \ No newline at end of file diff --git a/tools/ci_build/github/windows/setup_env_cuda_11.bat b/tools/ci_build/github/windows/setup_env_cuda_11.bat index 3d856fddf3..faaa83fe8c 100644 --- a/tools/ci_build/github/windows/setup_env_cuda_11.bat +++ b/tools/ci_build/github/windows/setup_env_cuda_11.bat @@ -1,2 +1,2 @@ -set PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\extras\CUPTI\lib64;%PATH% +set PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\CUPTI\lib64;%PATH% set GRADLE_OPTS=-Dorg.gradle.daemon=false diff --git a/tools/ci_build/github/windows/setup_env_gpu.bat b/tools/ci_build/github/windows/setup_env_gpu.bat index 00a417d15f..28e1e2bf7d 100644 --- a/tools/ci_build/github/windows/setup_env_gpu.bat +++ b/tools/ci_build/github/windows/setup_env_gpu.bat @@ -1,2 +1,2 @@ -set PATH=C:\local\TensorRT-8.4.1.5.Windows10.x86_64.cuda-11.6.cudnn8.4\lib;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\extras\CUPTI\lib64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin;%PATH% +set PATH=C:\local\TensorRT-8.4.1.5.Windows10.x86_64.cuda-11.6.cudnn8.4\lib;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\CUPTI\lib64;C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin;%PATH% set GRADLE_OPTS=-Dorg.gradle.daemon=false diff --git a/tools/ci_build/update_tsaoptions.py b/tools/ci_build/update_tsaoptions.py new file mode 100644 index 0000000000..679eef581d --- /dev/null +++ b/tools/ci_build/update_tsaoptions.py @@ -0,0 +1,16 @@ +import json +import os +from pathlib import Path + +SCRIPT_DIR = Path(os.path.dirname(os.path.realpath(__file__))) +REPO_DIR = SCRIPT_DIR.parent.parent + +with (REPO_DIR / ".config" / "tsaoptions.json").open() as f: + data = json.load(f) + +buildNumber = os.getenv("BUILD_BUILDNUMBER") +if buildNumber is not None: + data["buildNumber"] = buildNumber + +with (REPO_DIR / ".config" / "tsaoptions.json").open(mode="w") as f: + json.dump(data, f)