From 941d0b3117d7c39d6c571ae9969b1d559aacc326 Mon Sep 17 00:00:00 2001 From: Samuel Audet Date: Fri, 26 Apr 2024 23:39:15 +0900 Subject: [PATCH] Fix builds for ONNX Runtime --- onnxruntime/cppbuild.sh | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/onnxruntime/cppbuild.sh b/onnxruntime/cppbuild.sh index 610a630176..f4de5236aa 100755 --- a/onnxruntime/cppbuild.sh +++ b/onnxruntime/cppbuild.sh @@ -16,9 +16,9 @@ export CUDNN_HOME="/usr/local/cuda" export MAKEFLAGS="-j $MAKEJ" export PYTHON_BIN_PATH=$(which python3) -export GPU_FLAGS= +export CUDAFLAGS= if [[ "$EXTENSION" == *gpu ]]; then - GPU_FLAGS="--use_cuda" + CUDAFLAGS="--use_cuda" fi ONNXRUNTIME=1.17.3 @@ -75,6 +75,12 @@ sedinplace '/WX/d' cmake/CMakeLists.txt # allow cross compilation for linux-arm64 sedinplace 's/if args.arm or args.arm64:/if False:/g' tools/ci_build/build.py +sedinplace 's/is_linux() and platform.machine() == "x86_64"/False/g' tools/ci_build/build.py +sedinplace 's/onnxruntime_target_platform STREQUAL "aarch64"/FALSE/g' cmake/CMakeLists.txt +sedinplace 's/if (NOT APPLE)/if (FALSE)/g' cmake/onnxruntime_mlas.cmake +sedinplace 's/!defined(__APPLE__)/0/g' onnxruntime/core/mlas/inc/mlas.h +sedinplace 's/defined(__aarch64__) && defined(__linux__)/0/g' `find . -name *.cpp -o -name *.cc -o -name *.h` +sedinplace 's/MLAS_CPUIDINFO::GetCPUIDInfo().HasArmNeon_I8MM()/false/g' onnxruntime/core/mlas/lib/platform.cpp # work around toolchain issues on Mac and Windows patch -p1 < ../../../onnxruntime.patch @@ -82,11 +88,11 @@ patch -p1 < ../../../onnxruntime.patch sedinplace '/--Werror/d' cmake/CMakeLists.txt sedinplace "s/return 'ON'/return 'OFF'/g" tools/ci_build/build.py sedinplace "s/Visual Studio 1. 20../Ninja/g" tools/ci_build/build.py -sedinplace 's/Darwin|iOS/iOS/g' cmake/onnxruntime_providers.cmake -sedinplace 's/-fvisibility=hidden//g' cmake/CMakeLists.txt cmake/adjust_global_compile_flags.cmake cmake/onnxruntime_providers.cmake -sedinplace 's:/Yucuda_pch.h /FIcuda_pch.h::g' cmake/onnxruntime_providers.cmake -sedinplace 's/${PROJECT_SOURCE_DIR}\/external\/cub//g' cmake/onnxruntime_providers.cmake -sedinplace 's/ONNXRUNTIME_PROVIDERS_SHARED)/ONNXRUNTIME_PROVIDERS_SHARED onnxruntime_providers_shared)/g' cmake/onnxruntime_providers.cmake +sedinplace 's/Darwin|iOS/iOS/g' cmake/onnxruntime_providers_cpu.cmake cmake/onnxruntime_providers.cmake +sedinplace 's/-fvisibility=hidden//g' cmake/CMakeLists.txt cmake/adjust_global_compile_flags.cmake cmake/onnxruntime_providers_cpu.cmake cmake/onnxruntime_providers.cmake +sedinplace 's:/Yucuda_pch.h /FIcuda_pch.h::g' cmake/onnxruntime_providers_cuda.cmake cmake/onnxruntime_providers.cmake +sedinplace 's/${PROJECT_SOURCE_DIR}\/external\/cub//g' cmake/onnxruntime_providers_cuda.cmake cmake/onnxruntime_providers.cmake +sedinplace 's/ONNXRUNTIME_PROVIDERS_SHARED)/ONNXRUNTIME_PROVIDERS_SHARED onnxruntime_providers_shared)/g' cmake/onnxruntime_providers_cpu.cmake cmake/onnxruntime_providers.cmake sedinplace 's/DNNL_TAG v.*)/DNNL_TAG v3.4.1)/g' cmake/external/dnnl.cmake sedinplace 's/DNNL_SHARED_LIB libdnnl.1.dylib/DNNL_SHARED_LIB libdnnl.2.dylib/g' cmake/external/dnnl.cmake sedinplace 's/DNNL_SHARED_LIB libdnnl.so.1/DNNL_SHARED_LIB libdnnl.so.2/g' cmake/external/dnnl.cmake @@ -160,7 +166,7 @@ sedinplace 's/UTFChars(javaNameStrings/UTFChars((jstring)javaNameStrings/g' java sedinplace 's/initializers = allocarray/initializers = (const OrtValue**)allocarray/g' java/src/main/native/ai_onnxruntime_OrtSession_SessionOptions.cpp which ctest3 &> /dev/null && CTEST="ctest3" || CTEST="ctest" -"$PYTHON_BIN_PATH" tools/ci_build/build.py --build_dir ../build --config Release --cmake_path "$CMAKE" --ctest_path "$CTEST" --build_shared_lib $ARCH_FLAGS $DNNL_FLAGS $OPENMP_FLAGS $GPU_FLAGS +"$PYTHON_BIN_PATH" tools/ci_build/build.py --build_dir ../build --config Release --cmake_path "$CMAKE" --ctest_path "$CTEST" --build_shared_lib $ARCH_FLAGS $DNNL_FLAGS $OPENMP_FLAGS $CUDAFLAGS # install headers and libraries in standard directories cp -r include/* ../include