mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-29 20:14:01 +00:00
Convert eigen to a submodule and update it to the latest version
This commit is contained in:
parent
ada90086f7
commit
687bac455d
22 changed files with 43 additions and 56 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
|
@ -28,3 +28,6 @@
|
|||
[submodule "cmake/external/onnx-tensorrt"]
|
||||
path = cmake/external/onnx-tensorrt
|
||||
url = https://github.com/onnx/onnx-tensorrt.git
|
||||
[submodule "cmake/external/eigen"]
|
||||
path = cmake/external/eigen
|
||||
url = https://github.com/eigenteam/eigen-git-mirror.git
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@
|
|||
"component":{
|
||||
"type":"git",
|
||||
"git":{
|
||||
"commitHash":"cf794d3b741a6278df169e58461f8529f43bce5d",
|
||||
"commitHash":"1456fe2fac0cd074bbbb8630ba003a7c325d015b",
|
||||
"repositoryUrl":"https://github.com/eigenteam/eigen-git-mirror.git"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ option(onnxruntime_ENABLE_LTO "Enable link time optimization, which is not stabl
|
|||
option(onnxruntime_CROSS_COMPILING "Cross compiling onnx runtime" OFF)
|
||||
option(onnxruntime_USE_FULL_PROTOBUF "Use full protobuf" OFF)
|
||||
option(onnxruntime_DISABLE_CONTRIB_OPS "Disable contrib ops" OFF)
|
||||
option(onnxruntime_USE_EIGEN_THREADPOOL "Use eigen threadpool. Otherwise OpenMP or a homemade one will be used" OFF)
|
||||
option(tensorflow_C_PACKAGE_PATH "Path to tensorflow C package installation dir")
|
||||
|
||||
set(protobuf_BUILD_TESTS OFF CACHE BOOL "Build protobuf tests" FORCE)
|
||||
|
|
|
|||
1
cmake/external/eigen
vendored
Submodule
1
cmake/external/eigen
vendored
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 1456fe2fac0cd074bbbb8630ba003a7c325d015b
|
||||
14
cmake/external/eigen.cmake
vendored
14
cmake/external/eigen.cmake
vendored
|
|
@ -5,17 +5,5 @@ if (onnxruntime_USE_PREINSTALLED_EIGEN)
|
|||
file(TO_CMAKE_PATH ${eigen_SOURCE_PATH} eigen_INCLUDE_DIRS)
|
||||
target_include_directories(eigen INTERFACE ${eigen_INCLUDE_DIRS})
|
||||
else ()
|
||||
set(eigen_URL "https://github.com/eigenteam/eigen-git-mirror.git")
|
||||
set(eigen_TAG "3.3.7")
|
||||
set(eigen_ROOT_DIR ${CMAKE_CURRENT_BINARY_DIR}/external/eigen)
|
||||
set(eigen_INCLUDE_DIRS ${eigen_ROOT_DIR})
|
||||
ExternalProject_Add(eigen
|
||||
PREFIX eigen
|
||||
GIT_REPOSITORY ${eigen_URL}
|
||||
GIT_TAG ${eigen_TAG}
|
||||
SOURCE_DIR ${eigen_ROOT_DIR}
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
)
|
||||
set(eigen_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/external/eigen")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ endif()
|
|||
if(onnxruntime_USE_EIGEN_THREADPOOL)
|
||||
target_include_directories(onnxruntime_common PRIVATE ${eigen_INCLUDE_DIRS})
|
||||
target_compile_definitions(onnxruntime_common PUBLIC USE_EIGEN_THREADPOOL)
|
||||
add_dependencies(onnxruntime_common ${onnxruntime_EXTERNAL_DEPENDENCIES} eigen)
|
||||
add_dependencies(onnxruntime_common ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
||||
endif()
|
||||
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/../include/onnxruntime/core/common DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnxruntime/core)
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ onnxruntime_add_include_to_target(onnxruntime_providers onnxruntime_common onnxr
|
|||
set(gemmlowp_src ${ONNXRUNTIME_ROOT}/../cmake/external/gemmlowp)
|
||||
set(re2_src ${ONNXRUNTIME_ROOT}/../cmake/external/re2)
|
||||
target_include_directories(onnxruntime_providers PRIVATE ${ONNXRUNTIME_ROOT} ${eigen_INCLUDE_DIRS} ${gemmlowp_src} ${re2_src})
|
||||
add_dependencies(onnxruntime_providers eigen gsl onnx ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
||||
add_dependencies(onnxruntime_providers gsl onnx ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/../include/onnxruntime/core/providers/cpu DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnxruntime/core/providers)
|
||||
set_target_properties(onnxruntime_providers PROPERTIES LINKER_LANGUAGE CXX)
|
||||
set_target_properties(onnxruntime_providers PROPERTIES FOLDER "ONNXRuntime")
|
||||
|
|
@ -66,7 +66,7 @@ if (onnxruntime_USE_CUDA)
|
|||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:-Wno-reorder>")
|
||||
endif()
|
||||
onnxruntime_add_include_to_target(onnxruntime_providers_cuda onnxruntime_common onnxruntime_framework gsl onnx onnx_proto protobuf::libprotobuf)
|
||||
add_dependencies(onnxruntime_providers_cuda eigen ${onnxruntime_EXTERNAL_DEPENDENCIES} ${onnxruntime_tvm_dependencies})
|
||||
add_dependencies(onnxruntime_providers_cuda ${onnxruntime_EXTERNAL_DEPENDENCIES} ${onnxruntime_tvm_dependencies})
|
||||
target_include_directories(onnxruntime_providers_cuda PRIVATE ${ONNXRUNTIME_ROOT} ${onnxruntime_CUDNN_HOME}/include ${eigen_INCLUDE_DIRS} ${TVM_INCLUDES} PUBLIC ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/../include/onnxruntime/core/providers/cuda DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnxruntime/core/providers)
|
||||
set_target_properties(onnxruntime_providers_cuda PROPERTIES LINKER_LANGUAGE CUDA)
|
||||
|
|
@ -99,7 +99,7 @@ if (onnxruntime_USE_MKLDNN)
|
|||
source_group(TREE ${ONNXRUNTIME_ROOT}/core FILES ${onnxruntime_providers_mkldnn_cc_srcs})
|
||||
add_library(onnxruntime_providers_mkldnn ${onnxruntime_providers_mkldnn_cc_srcs})
|
||||
onnxruntime_add_include_to_target(onnxruntime_providers_mkldnn gsl onnxruntime_common onnxruntime_framework gsl onnx onnx_proto protobuf::libprotobuf)
|
||||
add_dependencies(onnxruntime_providers_mkldnn eigen ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
||||
add_dependencies(onnxruntime_providers_mkldnn ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
||||
set_target_properties(onnxruntime_providers_mkldnn PROPERTIES FOLDER "ONNXRuntime")
|
||||
target_include_directories(onnxruntime_providers_mkldnn PRIVATE ${ONNXRUNTIME_ROOT} ${eigen_INCLUDE_DIRS} ${MKLDNN_INCLUDE_DIR})
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/../include/onnxruntime/core/providers/mkldnn DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnxruntime/core/providers)
|
||||
|
|
@ -164,7 +164,7 @@ if (onnxruntime_USE_TENSORRT)
|
|||
add_library(onnxruntime_providers_tensorrt ${onnxruntime_providers_tensorrt_cc_srcs})
|
||||
target_link_libraries(onnxruntime_providers_tensorrt ${onnxparser_link_libs} ${trt_link_libs})
|
||||
onnxruntime_add_include_to_target(onnxruntime_providers_tensorrt onnxruntime_common onnxruntime_framework gsl onnx onnx_proto protobuf::libprotobuf)
|
||||
add_dependencies(onnxruntime_providers_tensorrt eigen ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
||||
add_dependencies(onnxruntime_providers_tensorrt ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
||||
target_include_directories(onnxruntime_providers_tensorrt PRIVATE ${ONNXRUNTIME_ROOT} ${onnxruntime_CUDNN_HOME}/include ${eigen_INCLUDE_DIRS} PUBLIC ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/../include/onnxruntime/core/providers/tensorrt DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnxruntime/core/providers)
|
||||
set_target_properties(onnxruntime_providers_tensorrt PROPERTIES LINKER_LANGUAGE CXX)
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ function(AddTest)
|
|||
else()
|
||||
target_link_libraries(${_UT_TARGET} PRIVATE ${_UT_LIBS} gtest gmock ${onnxruntime_EXTERNAL_LIBRARIES})
|
||||
endif()
|
||||
onnxruntime_add_include_to_target(${_UT_TARGET} date_interface gsl eigen)
|
||||
onnxruntime_add_include_to_target(${_UT_TARGET} date_interface gsl)
|
||||
target_include_directories(${_UT_TARGET} PRIVATE ${TEST_INC_DIR})
|
||||
if (onnxruntime_USE_CUDA)
|
||||
target_include_directories(${_UT_TARGET} PRIVATE ${CUDA_INCLUDE_DIRS} ${onnxruntime_CUDNN_HOME}/include)
|
||||
|
|
@ -224,7 +224,7 @@ onnxruntime_add_include_to_target(onnxruntime_test_utils_for_framework onnxrunti
|
|||
if (onnxruntime_USE_MKLDNN)
|
||||
target_compile_definitions(onnxruntime_test_utils_for_framework PUBLIC USE_MKLDNN=1)
|
||||
endif()
|
||||
add_dependencies(onnxruntime_test_utils_for_framework ${onnxruntime_EXTERNAL_DEPENDENCIES} eigen)
|
||||
add_dependencies(onnxruntime_test_utils_for_framework ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
||||
target_include_directories(onnxruntime_test_utils_for_framework PUBLIC "${TEST_SRC_DIR}/util/include" PRIVATE ${eigen_INCLUDE_DIRS} ${ONNXRUNTIME_ROOT})
|
||||
# Add the define for conditionally using the framework Environment class in TestEnvironment
|
||||
target_compile_definitions(onnxruntime_test_utils_for_framework PUBLIC "HAVE_FRAMEWORK_LIB")
|
||||
|
|
@ -236,7 +236,7 @@ onnxruntime_add_include_to_target(onnxruntime_test_utils onnxruntime_framework g
|
|||
if (onnxruntime_USE_MKLDNN)
|
||||
target_compile_definitions(onnxruntime_test_utils PUBLIC USE_MKLDNN=1)
|
||||
endif()
|
||||
add_dependencies(onnxruntime_test_utils ${onnxruntime_EXTERNAL_DEPENDENCIES} eigen)
|
||||
add_dependencies(onnxruntime_test_utils ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
||||
target_include_directories(onnxruntime_test_utils PUBLIC "${TEST_SRC_DIR}/util/include" PRIVATE ${eigen_INCLUDE_DIRS} ${ONNXRUNTIME_ROOT})
|
||||
set_target_properties(onnxruntime_test_utils PROPERTIES FOLDER "ONNXRuntimeTest")
|
||||
|
||||
|
|
@ -402,7 +402,7 @@ endif()
|
|||
|
||||
add_library(onnx_test_runner_common ${onnx_test_runner_common_srcs})
|
||||
onnxruntime_add_include_to_target(onnx_test_runner_common onnxruntime_common onnxruntime_framework onnxruntime_test_utils gsl onnx onnx_proto)
|
||||
add_dependencies(onnx_test_runner_common eigen onnx_test_data_proto ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
||||
add_dependencies(onnx_test_runner_common onnx_test_data_proto ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
||||
target_include_directories(onnx_test_runner_common PRIVATE ${eigen_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/onnx ${ONNXRUNTIME_ROOT})
|
||||
set_target_properties(onnx_test_runner_common PROPERTIES FOLDER "ONNXRuntimeTest")
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ if(UNIX)
|
|||
endif()
|
||||
set_target_properties(onnxruntime_util PROPERTIES LINKER_LANGUAGE CXX)
|
||||
set_target_properties(onnxruntime_util PROPERTIES FOLDER "ONNXRuntime")
|
||||
add_dependencies(onnxruntime_util ${onnxruntime_EXTERNAL_DEPENDENCIES} eigen)
|
||||
add_dependencies(onnxruntime_util ${onnxruntime_EXTERNAL_DEPENDENCIES})
|
||||
if (WIN32)
|
||||
target_compile_definitions(onnxruntime_util PRIVATE _SCL_SECURE_NO_WARNINGS)
|
||||
target_compile_definitions(onnxruntime_framework PRIVATE _SCL_SECURE_NO_WARNINGS)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
#include "core/framework/op_kernel.h"
|
||||
#include "core/util/math.h"
|
||||
#include "core/util/math_cpuonly.h"
|
||||
#include "Eigen/src/Core/arch/CUDA/Half.h"
|
||||
#include "Eigen/src/Core/arch/GPU/Half.h"
|
||||
#include "core/common/common.h"
|
||||
|
||||
#if defined(USE_MLAS) && defined(_M_AMD64)
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include "core/util/math_cpuonly.h"
|
||||
#include "core/common/common.h"
|
||||
#include "core/framework/tensor.h"
|
||||
#include "Eigen/src/Core/arch/CUDA/Half.h"
|
||||
#include "Eigen/src/Core/arch/GPU/Half.h"
|
||||
|
||||
namespace onnxruntime {
|
||||
// https://github.com/onnx/onnx/blob/master/docs/Operators.md#IsNaN
|
||||
|
|
|
|||
|
|
@ -2,11 +2,6 @@
|
|||
// Licensed under the MIT License.
|
||||
|
||||
#include "core/providers/cpu/tensor/space_depth_ops.h"
|
||||
|
||||
// warning raised from Eigen Tensor code.
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4554)
|
||||
#endif
|
||||
#include "core/util/eigen_common_wrapper.h"
|
||||
#include <array>
|
||||
|
||||
|
|
|
|||
|
|
@ -14,24 +14,23 @@
|
|||
#pragma GCC diagnostic ignored "-Wignored-attributes"
|
||||
#endif
|
||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
// build\windows\debug\external\eigen3\unsupported\eigen\cxx11\src/Tensor/Tensor.h(76):
|
||||
// warning C4554: '&': check operator precedence for possible error; use parentheses to clarify precedence
|
||||
// build\windows\debug\external\eigen3\unsupported\eigen\cxx11\src/Tensor/TensorStorage.h(65):
|
||||
// warning C4324: structure was padded due to alignment specifier
|
||||
#elif defined(_MSC_VER)
|
||||
// unsupported\eigen\cxx11\src\Tensor\TensorUInt128.h(150,0): Warning C4245: 'initializing': conversion from '__int64'
|
||||
// to 'uint64_t', signed/unsigned mismatch
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4554)
|
||||
#pragma warning(disable : 4324)
|
||||
|
||||
#pragma warning(disable : 4245)
|
||||
#endif
|
||||
|
||||
#include "unsupported/Eigen/CXX11/Tensor"
|
||||
|
||||
#if defined(__GNUC__) && __GNUC__ >= 6
|
||||
#if defined(__GNUC__)
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
#pragma warning(pop)
|
||||
|
||||
#endif
|
||||
|
|
@ -38,7 +38,7 @@
|
|||
#include "core/providers/cpu/cpu_execution_provider.h"
|
||||
#include "core/util/math.h"
|
||||
#include "core/util/math_cpuonly.h"
|
||||
#include "Eigen/src/Core/arch/CUDA/Half.h"
|
||||
#include "Eigen/src/Core/arch/GPU/Half.h"
|
||||
|
||||
#if defined(USE_MLAS)
|
||||
#include "core/mlas/inc/mlas.h"
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@
|
|||
#include <Windows.h>
|
||||
#else
|
||||
#include <pthread.h>
|
||||
#include <unsupported/Eigen/CXX11/ThreadPool>
|
||||
#endif
|
||||
|
||||
#include <test/compare_mlvalue.h>
|
||||
#include "TestCase.h"
|
||||
#include "heap_buffer.h"
|
||||
|
|
|
|||
|
|
@ -7,7 +7,14 @@
|
|||
#if defined(_MSC_VER)
|
||||
#pragma warning(disable : 4267)
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
#endif
|
||||
#include <unsupported/Eigen/CXX11/ThreadPool>
|
||||
#if defined(__GNUC__)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
#include <core/common/common.h>
|
||||
#include <core/common/logging/logging.h>
|
||||
#include <core/platform/ort_mutex.h>
|
||||
|
|
@ -56,7 +63,7 @@ Status CreateAndSubmitThreadpoolWork(ORT_CALLBACK_FUNCTION callback, void* data,
|
|||
return Status::OK();
|
||||
}
|
||||
|
||||
using DefaultThreadPoolType = Eigen::NonBlockingThreadPool;
|
||||
using DefaultThreadPoolType = Eigen::ThreadPool;
|
||||
static std::unique_ptr<DefaultThreadPoolType> default_pool;
|
||||
static std::once_flag default_pool_init;
|
||||
|
||||
|
|
|
|||
|
|
@ -20,8 +20,15 @@ using onnxruntime::Status;
|
|||
|
||||
// TODO: Temporary, while we bring up the threadpool impl...
|
||||
#include "core/platform/threadpool.h"
|
||||
#if defined(__GNUC__)
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
#endif
|
||||
#include <unsupported/Eigen/CXX11/ThreadPool>
|
||||
using DefaultThreadPoolType = Eigen::NonBlockingThreadPool;
|
||||
#if defined(__GNUC__)
|
||||
#pragma GCC diagnostic pop
|
||||
#endif
|
||||
using DefaultThreadPoolType = Eigen::ThreadPool;
|
||||
static std::unique_ptr<DefaultThreadPoolType> default_pool;
|
||||
static std::once_flag default_pool_init;
|
||||
Eigen::ThreadPoolInterface* GetDefaultThreadPool(const onnxruntime::Env& env) {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
#include "core/graph/onnx_protobuf.h"
|
||||
#include "core/framework/tensorprotoutils.h"
|
||||
#include "Eigen/Core"
|
||||
#include "Eigen/src/Core/arch/CUDA/Half.h"
|
||||
#include "Eigen/src/Core/arch/GPU/Half.h"
|
||||
|
||||
using namespace onnxruntime;
|
||||
|
||||
|
|
|
|||
|
|
@ -60,10 +60,6 @@ fi
|
|||
|
||||
#The last onnx version will be kept
|
||||
|
||||
aria2c -q -d /tmp/src http://bitbucket.org/eigen/eigen/get/3.3.7.tar.bz2
|
||||
tar -jxf /tmp/src/eigen-eigen-323c052e1731.tar.bz2 -C /usr/include
|
||||
mv /usr/include/eigen-eigen-323c052e1731 /usr/include/eigen3
|
||||
|
||||
rm -rf /tmp/src
|
||||
rm -rf /usr/include/google
|
||||
rm -rf /usr/lib/libproto*
|
||||
|
|
|
|||
|
|
@ -33,10 +33,6 @@ export ONNX_ML=1
|
|||
|
||||
#The last onnx version will be kept
|
||||
|
||||
aria2c -q -d /tmp/src http://bitbucket.org/eigen/eigen/get/3.3.7.tar.bz2
|
||||
tar -jxf /tmp/src/eigen-eigen-323c052e1731.tar.bz2 -C /usr/include
|
||||
mv /usr/include/eigen-eigen-323c052e1731 /usr/include/eigen3
|
||||
|
||||
rm -rf /tmp/src
|
||||
rm -rf /usr/include/google
|
||||
rm -rf /usr/lib/libproto*
|
||||
|
|
|
|||
|
|
@ -53,9 +53,6 @@ else
|
|||
fi
|
||||
|
||||
#The last onnx version will be kept
|
||||
aria2c -q -d /tmp/src http://bitbucket.org/eigen/eigen/get/3.3.7.tar.bz2
|
||||
tar -jxf /tmp/src/eigen-eigen-323c052e1731.tar.bz2 -C /usr/include
|
||||
mv /usr/include/eigen-eigen-323c052e1731 /usr/include/eigen3
|
||||
|
||||
rm -rf /tmp/src
|
||||
|
||||
|
|
|
|||
|
|
@ -72,9 +72,6 @@ for onnx_version in "3376d4438aaadfba483399fa249b841153152bc0" "6f91908b6a894278
|
|||
pip3 uninstall -y onnx
|
||||
done
|
||||
|
||||
aria2c -q -d /tmp/src http://bitbucket.org/eigen/eigen/get/3.3.5.tar.bz2
|
||||
tar -jxf /tmp/src/eigen-eigen-b3f3d4950030.tar.bz2 -C /usr/include
|
||||
mv /usr/include/eigen-eigen-b3f3d4950030 /usr/include/eigen3
|
||||
chmod 0777 /data/onnx
|
||||
rm -rf /tmp/src
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue