mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-30 20:18:08 +00:00
Enable backtrace in unit tests (#17655)
### Description Google test can be built either with absl/re2 or not. This PR enables the build option so that google test framework can print out a nice stacktrace when something went wrong. It helps locate test errors in CI build pipelines. Also, Google test will remove the build option and make it always ON. So sooner or later we must make this change.
This commit is contained in:
parent
561aca97cf
commit
14d349e290
11 changed files with 83 additions and 85 deletions
|
|
@ -73,6 +73,11 @@ option(onnxruntime_ENABLE_PYTHON "Enable python buildings" OFF)
|
|||
# Enable it may cause LNK1169 error
|
||||
option(onnxruntime_ENABLE_MEMLEAK_CHECKER "Experimental: Enable memory leak checker in Windows debug build" OFF)
|
||||
option(onnxruntime_USE_CUDA "Build with CUDA support" OFF)
|
||||
# Enable ONNX Runtime CUDA EP's internal unit tests that directly access the EP's internal functions instead of through
|
||||
# OpKernels. When the option is ON, we will have two copies of GTest library in the same process. It is not a typical
|
||||
# use. If you hit any problem with that, please do not report it to GTest. Turn OFF the following build option instead.
|
||||
cmake_dependent_option(onnxruntime_ENABLE_CUDA_EP_INTERNAL_TESTS "Build with CUDA unit tests" OFF "onnxruntime_USE_CUDA;onnxruntime_BUILD_UNIT_TESTS;LINUX" OFF)
|
||||
|
||||
option(onnxruntime_ENABLE_CUDA_LINE_NUMBER_INFO "When building with CUDA support, generate device code line number information." OFF)
|
||||
option(onnxruntime_USE_OPENVINO "Build with OpenVINO support" OFF)
|
||||
option(onnxruntime_USE_COREML "Build with CoreML support" OFF)
|
||||
|
|
@ -146,10 +151,11 @@ option(onnxruntime_DISABLE_SPARSE_TENSORS "Disable sparse tensors data types" OF
|
|||
option(onnxruntime_DISABLE_OPTIONAL_TYPE "Disable optional type" OFF)
|
||||
option(onnxruntime_DISABLE_FLOAT8_TYPES "Disable float 8 types" OFF)
|
||||
option(onnxruntime_MINIMAL_BUILD "Exclude as much as possible from the build. Support ORT format models. No support for ONNX format models." OFF)
|
||||
cmake_dependent_option(onnxruntime_DISABLE_RTTI "Disable RTTI" ON "NOT onnxruntime_ENABLE_PYTHON" OFF)
|
||||
cmake_dependent_option(onnxruntime_DISABLE_RTTI "Disable RTTI" ON "NOT onnxruntime_ENABLE_PYTHON;NOT onnxruntime_USE_CUDA" OFF)
|
||||
# For now onnxruntime_DISABLE_EXCEPTIONS will only work with onnxruntime_MINIMAL_BUILD, more changes (ONNX, non-CPU EP, ...) are required to run this standalone
|
||||
cmake_dependent_option(onnxruntime_DISABLE_EXCEPTIONS "Disable exception handling. Requires onnxruntime_MINIMAL_BUILD currently." ON "onnxruntime_MINIMAL_BUILD;NOT onnxruntime_ENABLE_PYTHON" OFF)
|
||||
option(onnxruntime_DISABLE_ABSEIL "Do not link to Abseil. Redefine Inlined containers to STD containers." OFF)
|
||||
# Even when onnxruntime_DISABLE_ABSEIL is ON, ONNX Runtime still needs to link to abseil.
|
||||
option(onnxruntime_DISABLE_ABSEIL "Do not use Abseil data structures in ONNX Runtime source code. Redefine Inlined containers to STD containers." OFF)
|
||||
|
||||
option(onnxruntime_EXTENDED_MINIMAL_BUILD "onnxruntime_MINIMAL_BUILD with support for execution providers that compile kernels." OFF)
|
||||
option(onnxruntime_MINIMAL_BUILD_CUSTOM_OPS "Add custom operator kernels support to a minimal build." OFF)
|
||||
|
|
@ -269,10 +275,6 @@ if (onnxruntime_ENABLE_TRAINING_APIS)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
if (onnxruntime_USE_CUDA)
|
||||
set(onnxruntime_DISABLE_RTTI OFF)
|
||||
endif()
|
||||
|
||||
if (onnxruntime_USE_ROCM)
|
||||
if (WIN32)
|
||||
message(FATAL_ERROR "ROCM does not support build in Windows!")
|
||||
|
|
|
|||
|
|
@ -37,8 +37,12 @@ if (onnxruntime_BUILD_UNIT_TESTS)
|
|||
set(gtest_disable_pthreads ON)
|
||||
endif()
|
||||
set(INSTALL_GTEST OFF CACHE BOOL "" FORCE)
|
||||
# Set it to ON will cause crashes in onnxruntime_test_all when onnxruntime_USE_CUDA is ON
|
||||
set(GTEST_HAS_ABSL OFF CACHE BOOL "" FORCE)
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "iOS")
|
||||
# Needs to update onnxruntime/test/xctest/xcgtest.mm
|
||||
set(GTEST_HAS_ABSL OFF CACHE BOOL "" FORCE)
|
||||
else()
|
||||
set(GTEST_HAS_ABSL ON CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
# gtest and gmock
|
||||
FetchContent_Declare(
|
||||
googletest
|
||||
|
|
|
|||
|
|
@ -460,13 +460,17 @@ if (onnxruntime_USE_CUDA)
|
|||
if (onnxruntime_REDUCED_OPS_BUILD)
|
||||
substitute_op_reduction_srcs(onnxruntime_providers_cuda_src)
|
||||
endif()
|
||||
# cuda_provider_interface.cc is removed from the object target: onnxruntime_providers_cuda_obj and
|
||||
# add to the lib onnxruntime_providers_cuda separatedly.
|
||||
# onnxruntime_providers_cuda_ut can share all the object files with onnxruntime_providers_cuda except cuda_provider_interface.cc.
|
||||
set(cuda_provider_interface_src ${ONNXRUNTIME_ROOT}/core/providers/cuda/cuda_provider_interface.cc)
|
||||
list(REMOVE_ITEM onnxruntime_providers_cuda_src ${cuda_provider_interface_src})
|
||||
onnxruntime_add_object_library(onnxruntime_providers_cuda_obj ${onnxruntime_providers_cuda_src})
|
||||
onnxruntime_add_shared_library_module(onnxruntime_providers_cuda ${cuda_provider_interface_src} $<TARGET_OBJECTS:onnxruntime_providers_cuda_obj>)
|
||||
if(onnxruntime_ENABLE_CUDA_EP_INTERNAL_TESTS)
|
||||
# cuda_provider_interface.cc is removed from the object target: onnxruntime_providers_cuda_obj and
|
||||
# add to the lib onnxruntime_providers_cuda separatedly.
|
||||
# onnxruntime_providers_cuda_ut can share all the object files with onnxruntime_providers_cuda except cuda_provider_interface.cc.
|
||||
set(cuda_provider_interface_src ${ONNXRUNTIME_ROOT}/core/providers/cuda/cuda_provider_interface.cc)
|
||||
list(REMOVE_ITEM onnxruntime_providers_cuda_src ${cuda_provider_interface_src})
|
||||
onnxruntime_add_object_library(onnxruntime_providers_cuda_obj ${onnxruntime_providers_cuda_src})
|
||||
onnxruntime_add_shared_library_module(onnxruntime_providers_cuda ${cuda_provider_interface_src} $<TARGET_OBJECTS:onnxruntime_providers_cuda_obj>)
|
||||
else()
|
||||
onnxruntime_add_shared_library_module(onnxruntime_providers_cuda ${onnxruntime_providers_cuda_src})
|
||||
endif()
|
||||
# config_cuda_provider_shared_module can be used to config onnxruntime_providers_cuda_obj, onnxruntime_providers_cuda & onnxruntime_providers_cuda_ut.
|
||||
# This function guarantees that all 3 targets have the same configurations.
|
||||
function(config_cuda_provider_shared_module target)
|
||||
|
|
@ -600,7 +604,9 @@ if (onnxruntime_USE_CUDA)
|
|||
target_compile_definitions(${target} PRIVATE ENABLE_ATEN)
|
||||
endif()
|
||||
endfunction()
|
||||
config_cuda_provider_shared_module(onnxruntime_providers_cuda_obj)
|
||||
if(onnxruntime_ENABLE_CUDA_EP_INTERNAL_TESTS)
|
||||
config_cuda_provider_shared_module(onnxruntime_providers_cuda_obj)
|
||||
endif()
|
||||
config_cuda_provider_shared_module(onnxruntime_providers_cuda)
|
||||
|
||||
install(TARGETS onnxruntime_providers_cuda
|
||||
|
|
|
|||
|
|
@ -35,13 +35,17 @@ function(AddTest)
|
|||
|
||||
if (MSVC AND NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
#TODO: fix the warnings, they are dangerous
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "/wd4244")
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd4244>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd4244>")
|
||||
endif()
|
||||
if (MSVC)
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "/wd6330")
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd6330>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd6330>")
|
||||
#Abseil has a lot of C4127/C4324 warnings.
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "/wd4127")
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "/wd4324")
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd4127>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd4127>")
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd4324>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd4324>")
|
||||
endif()
|
||||
|
||||
set_target_properties(${_UT_TARGET} PROPERTIES FOLDER "ONNXRuntimeTest")
|
||||
|
|
@ -60,6 +64,11 @@ function(AddTest)
|
|||
Threads::Threads)
|
||||
target_compile_definitions(${_UT_TARGET} PRIVATE -DUSE_ONNXRUNTIME_DLL)
|
||||
else()
|
||||
if(onnxruntime_USE_CUDA)
|
||||
#XXX: we should not need to do this. onnxruntime_test_all.exe should not have direct dependency on CUDA DLLs,
|
||||
# otherwise it will impact when CUDA DLLs can be unloaded.
|
||||
target_link_libraries(${_UT_TARGET} PRIVATE cudart)
|
||||
endif()
|
||||
target_link_libraries(${_UT_TARGET} PRIVATE ${_UT_LIBS} GTest::gtest GTest::gmock ${onnxruntime_EXTERNAL_LIBRARIES})
|
||||
endif()
|
||||
|
||||
|
|
@ -85,29 +94,22 @@ function(AddTest)
|
|||
# include dbghelp in case tests throw an ORT exception, as that exception includes a stacktrace, which requires dbghelp.
|
||||
target_link_libraries(${_UT_TARGET} PRIVATE debug dbghelp)
|
||||
|
||||
if (onnxruntime_USE_CUDA)
|
||||
# disable a warning from the CUDA headers about unreferenced local functions
|
||||
if (MSVC)
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd4505>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd4505>")
|
||||
endif()
|
||||
endif()
|
||||
if (MSVC)
|
||||
# warning C6326: Potential comparison of a constant with another constant.
|
||||
# Lot of such things came from gtest
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd6326>"
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd6326>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd6326>")
|
||||
# Raw new and delete. A lot of such things came from googletest.
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd26409>"
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd26409>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd26409>")
|
||||
# "Global initializer calls a non-constexpr function."
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd26426>"
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd26426>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd26426>")
|
||||
endif()
|
||||
target_compile_options(${_UT_TARGET} PRIVATE ${disabled_warnings})
|
||||
else()
|
||||
target_compile_options(${_UT_TARGET} PRIVATE ${DISABLED_WARNINGS_FOR_TVM})
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:-Xcompiler -Wno-error=sign-compare>"
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options -Wno-error=sign-compare>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:-Wno-error=sign-compare>")
|
||||
target_compile_options(${_UT_TARGET} PRIVATE "-Wno-error=uninitialized")
|
||||
endif()
|
||||
|
|
@ -698,7 +700,7 @@ onnxruntime_add_static_library(onnxruntime_test_utils ${onnxruntime_test_utils_s
|
|||
if(MSVC)
|
||||
target_compile_options(onnxruntime_test_utils PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /utf-8>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/utf-8>")
|
||||
target_compile_options(onnxruntime_test_utils PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd6326>"
|
||||
target_compile_options(onnxruntime_test_utils PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd6326>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd6326>")
|
||||
else()
|
||||
target_compile_definitions(onnxruntime_test_utils PUBLIC -DNSYNC_ATOMIC_CPP11)
|
||||
|
|
@ -755,13 +757,8 @@ set_target_properties(onnx_test_runner_common PROPERTIES FOLDER "ONNXRuntimeTest
|
|||
|
||||
set(all_tests ${onnxruntime_test_common_src} ${onnxruntime_test_ir_src} ${onnxruntime_test_optimizer_src}
|
||||
${onnxruntime_test_framework_src} ${onnxruntime_test_providers_src} ${onnxruntime_test_quantiztion_src})
|
||||
if(NOT TARGET onnxruntime AND NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
|
||||
list(APPEND all_tests ${onnxruntime_shared_lib_test_SRC})
|
||||
endif()
|
||||
|
||||
if (onnxruntime_USE_CUDA)
|
||||
onnxruntime_add_static_library(onnxruntime_test_cuda_ops_lib ${ONNXRUNTIME_SHARED_LIB_TEST_SRC_DIR}/cuda_ops.cu)
|
||||
list(APPEND onnxruntime_test_common_libs onnxruntime_test_cuda_ops_lib)
|
||||
if (onnxruntime_ENABLE_CUDA_EP_INTERNAL_TESTS)
|
||||
file(GLOB onnxruntime_test_providers_cuda_ut_src CONFIGURE_DEPENDS
|
||||
"${TEST_SRC_DIR}/providers/cuda/test_cases/*"
|
||||
)
|
||||
|
|
@ -822,7 +819,9 @@ if (onnxruntime_USE_TENSORRT)
|
|||
# made test name contain the "ep" and "model path" information, so we can easily filter the tests using cuda ep or other ep with *cpu_* or *xxx_*.
|
||||
list(APPEND test_all_args "--gtest_filter=-*cpu_*:*cuda_*" )
|
||||
endif ()
|
||||
|
||||
if(NOT onnxruntime_ENABLE_CUDA_EP_INTERNAL_TESTS)
|
||||
list(REMOVE_ITEM all_tests ${TEST_SRC_DIR}/providers/cuda/cuda_provider_test.cc)
|
||||
endif()
|
||||
AddTest(
|
||||
TARGET onnxruntime_test_all
|
||||
SOURCES ${all_tests} ${onnxruntime_unittest_main_src}
|
||||
|
|
@ -832,11 +831,15 @@ AddTest(
|
|||
DEPENDS ${all_dependencies}
|
||||
TEST_ARGS ${test_all_args}
|
||||
)
|
||||
|
||||
if (MSVC)
|
||||
# The warning means the type of two integral values around a binary operator is narrow than their result.
|
||||
# If we promote the two input values first, it could be more tolerant to integer overflow.
|
||||
# However, this is test code. We are less concerned.
|
||||
target_compile_options(onnxruntime_test_all PRIVATE "/wd26451" "/wd4244")
|
||||
target_compile_options(onnxruntime_test_all PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd26451>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd26451>")
|
||||
target_compile_options(onnxruntime_test_all PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd4244>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd4244>")
|
||||
else()
|
||||
target_compile_options(onnxruntime_test_all PRIVATE "-Wno-parentheses")
|
||||
endif()
|
||||
|
|
@ -1092,18 +1095,18 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP)
|
|||
target_include_directories(onnxruntime_benchmark PRIVATE ${ONNXRUNTIME_ROOT} ${onnxruntime_graph_header} ${ONNXRUNTIME_ROOT}/core/mlas/inc)
|
||||
target_compile_definitions(onnxruntime_benchmark PRIVATE BENCHMARK_STATIC_DEFINE)
|
||||
if(WIN32)
|
||||
target_compile_options(onnxruntime_benchmark PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd4141>"
|
||||
target_compile_options(onnxruntime_benchmark PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd4141>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd4141>")
|
||||
# Avoid using new and delete. But this is a benchmark program, it's ok if it has a chance to leak.
|
||||
target_compile_options(onnxruntime_benchmark PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd26409>"
|
||||
target_compile_options(onnxruntime_benchmark PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd26409>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd26409>")
|
||||
target_compile_options(onnxruntime_benchmark PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd26400>"
|
||||
target_compile_options(onnxruntime_benchmark PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd26400>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd26400>")
|
||||
target_compile_options(onnxruntime_benchmark PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd26814>"
|
||||
target_compile_options(onnxruntime_benchmark PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd26814>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd26814>")
|
||||
target_compile_options(onnxruntime_benchmark PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd26814>"
|
||||
target_compile_options(onnxruntime_benchmark PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd26814>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd26497>")
|
||||
target_compile_options(onnxruntime_benchmark PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd26426>"
|
||||
target_compile_options(onnxruntime_benchmark PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd26426>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd26426>")
|
||||
target_compile_options(onnxruntime_benchmark PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /utf-8>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/utf-8>")
|
||||
|
|
@ -1255,7 +1258,7 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP)
|
|||
list(APPEND onnxruntime_shared_lib_test_LIBS cpuinfo)
|
||||
endif()
|
||||
if (onnxruntime_USE_CUDA)
|
||||
list(APPEND onnxruntime_shared_lib_test_LIBS onnxruntime_test_cuda_ops_lib cudart)
|
||||
list(APPEND onnxruntime_shared_lib_test_LIBS cudart)
|
||||
endif()
|
||||
if (onnxruntime_USE_TENSORRT)
|
||||
list(APPEND onnxruntime_shared_lib_test_LIBS ${TENSORRT_LIBRARY_INFER})
|
||||
|
|
@ -1270,7 +1273,10 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP)
|
|||
LIBS ${onnxruntime_shared_lib_test_LIBS}
|
||||
DEPENDS ${all_dependencies}
|
||||
)
|
||||
|
||||
if (onnxruntime_USE_CUDA)
|
||||
target_include_directories(onnxruntime_shared_lib_test PRIVATE ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
|
||||
target_sources(onnxruntime_shared_lib_test PRIVATE ${ONNXRUNTIME_SHARED_LIB_TEST_SRC_DIR}/cuda_ops.cu)
|
||||
endif()
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||
target_sources(onnxruntime_shared_lib_test PRIVATE
|
||||
"${ONNXRUNTIME_ROOT}/core/platform/android/cxa_demangle.cc"
|
||||
|
|
@ -1356,13 +1362,13 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP)
|
|||
)
|
||||
onnxruntime_add_executable(onnxruntime_mlas_test ${onnxruntime_mlas_test_src})
|
||||
if(MSVC)
|
||||
target_compile_options(onnxruntime_mlas_test PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd26409>"
|
||||
target_compile_options(onnxruntime_mlas_test PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd26409>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd26409>")
|
||||
target_compile_options(onnxruntime_mlas_test PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /utf-8>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/utf-8>")
|
||||
target_compile_options(onnxruntime_mlas_test PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd6326>"
|
||||
target_compile_options(onnxruntime_mlas_test PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd6326>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd6326>")
|
||||
target_compile_options(onnxruntime_mlas_test PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd26426>"
|
||||
target_compile_options(onnxruntime_mlas_test PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd26426>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd26426>")
|
||||
endif()
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "iOS")
|
||||
|
|
@ -1476,7 +1482,7 @@ if (NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
|
|||
"${TEST_SRC_DIR}/testdata/custom_op_library/cuda/cuda_ops.*")
|
||||
list(APPEND custom_op_lib_include ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES} ${onnxruntime_CUDNN_HOME}/include)
|
||||
if (HAS_QSPECTRE)
|
||||
list(APPEND custom_op_lib_option "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:-Xcompiler /Qspectre>")
|
||||
list(APPEND custom_op_lib_option "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /Qspectre>")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
|
@ -1503,7 +1509,7 @@ if (NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
|
|||
else()
|
||||
set(ONNXRUNTIME_CUSTOM_OP_LIB_LINK_FLAG "-DEF:${TEST_SRC_DIR}/testdata/custom_op_library/custom_op_library.def")
|
||||
if (NOT onnxruntime_USE_CUDA)
|
||||
target_compile_options(custom_op_library PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler /wd26409>"
|
||||
target_compile_options(custom_op_library PRIVATE "$<$<COMPILE_LANGUAGE:CUDA>:SHELL:--compiler-options /wd26409>"
|
||||
"$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/wd26409>")
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
//
|
||||
#ifndef NDEBUG
|
||||
#ifdef ONNXRUNTIME_ENABLE_MEMLEAK_CHECK
|
||||
constexpr int c_callstack_limit = 16; // Maximum depth of callstack in leak trace
|
||||
constexpr int c_callstack_limit = 32; // Maximum depth of callstack in leak trace
|
||||
#define VALIDATE_HEAP_EVERY_ALLOC 0 // Call HeapValidate on every new/delete
|
||||
|
||||
#pragma warning(disable : 4073) // initializers put in library initialization area (this is intentional)
|
||||
|
|
@ -223,6 +223,10 @@ Memory_LeakCheck::~Memory_LeakCheck() {
|
|||
// empty_group_names = new std::map<int, string>; });
|
||||
if (string.find("RtlRunOnceExecuteOnce") == std::string::npos &&
|
||||
string.find("re2::RE2::Init") == std::string::npos &&
|
||||
string.find("dynamic initializer for 'FLAGS_") == std::string::npos &&
|
||||
string.find("AbslFlagDefaultGenForgtest_") == std::string::npos &&
|
||||
string.find("::SetProgramUsageMessage") == std::string::npos &&
|
||||
string.find("testing::internal::ParseGoogleTestFlagsOnly") == std::string::npos &&
|
||||
string.find("testing::internal::Mutex::ThreadSafeLazyInit") == std::string::npos &&
|
||||
string.find("testing::internal::ThreadLocalRegistryImpl::GetThreadLocalsMapLocked") == std::string::npos &&
|
||||
string.find("testing::internal::ThreadLocalRegistryImpl::GetValueOnCurrentThread") == std::string::npos &&
|
||||
|
|
|
|||
|
|
@ -240,12 +240,6 @@ static std::vector<int8_t> transpose(const T& src, size_t h, size_t w) {
|
|||
}
|
||||
|
||||
TEST(QOrderedTest, Attention_WithData_ROW_ORDER) {
|
||||
int cuda_runtime_version = 0;
|
||||
// Need 11.4 or higher cuda runtime
|
||||
if ((cudaRuntimeGetVersion(&cuda_runtime_version) != cudaSuccess) || (cuda_runtime_version < 11040)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Needs Turing architecture
|
||||
if (NeedSkipIfCudaArchLowerThan(750) || NeedSkipIfCudaArchGreaterEqualThan(800)) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -34,12 +34,6 @@ static void run_qordered_longformer_attention_op_test(
|
|||
const int64_t head_size,
|
||||
const int64_t window,
|
||||
int64_t input_hidden_size = 0) {
|
||||
int cuda_runtime_version = 0;
|
||||
// Need 11.4 or higher cuda runtime
|
||||
if ((cudaRuntimeGetVersion(&cuda_runtime_version) != cudaSuccess) || (cuda_runtime_version < 11040)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Needs Turing architecture
|
||||
if (NeedSkipIfCudaArchLowerThan(750) || NeedSkipIfCudaArchGreaterEqualThan(800)) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -21,12 +21,6 @@ static void RunQOrdered_MatMul_Test(
|
|||
OrderCublasLt weight_order,
|
||||
float scale_A, float scale_B, float scale_C, float scale_Y,
|
||||
bool add_bias = false, bool broadcast_c_batch = false, bool per_channel = false) {
|
||||
int cuda_runtime_version = 0;
|
||||
// Need 11.4 or higher cuda runtime
|
||||
if ((cudaRuntimeGetVersion(&cuda_runtime_version) != cudaSuccess) || (cuda_runtime_version < 11040)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Needs Turing architecture
|
||||
if (NeedSkipIfCudaArchLowerThan(750) || NeedSkipIfCudaArchGreaterEqualThan(800)) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -73,12 +73,6 @@ static void RunQOrdered_Quantize_Test(
|
|||
std::vector<int64_t> const& shape,
|
||||
OrderCublasLt order_q,
|
||||
float scale) {
|
||||
int cuda_runtime_version = 0;
|
||||
// Need 11.4 or higher cuda runtime
|
||||
if ((cudaRuntimeGetVersion(&cuda_runtime_version) != cudaSuccess) || (cuda_runtime_version < 11040)) {
|
||||
return;
|
||||
}
|
||||
|
||||
auto qvec = QuantizeTransform(shape, scale, fvec, order_q);
|
||||
|
||||
std::vector<std::unique_ptr<IExecutionProvider>> execution_providers;
|
||||
|
|
@ -153,12 +147,6 @@ static void RunQOrdered_Dequantize_Test(
|
|||
std::vector<int64_t> const& shape,
|
||||
OrderCublasLt order_q,
|
||||
float scale) {
|
||||
int cuda_runtime_version = 0;
|
||||
// Need 11.4 or higher cuda runtime
|
||||
if ((cudaRuntimeGetVersion(&cuda_runtime_version) != cudaSuccess) || (cuda_runtime_version < 11040)) {
|
||||
return;
|
||||
}
|
||||
|
||||
auto fvec = DequantizeTransform<T>(shape, scale, qvec, order_q);
|
||||
|
||||
std::vector<std::unique_ptr<IExecutionProvider>> execution_providers;
|
||||
|
|
|
|||
|
|
@ -1172,6 +1172,12 @@ static ORT_STRING_VIEW provider_name_dml = ORT_TSTR("dml");
|
|||
ORT_TSTR("bvlc_alexnet"),
|
||||
ORT_TSTR("bvlc_reference_caffenet"),
|
||||
ORT_TSTR("coreml_VGG16_ImageNet"),
|
||||
ORT_TSTR("VGG 16-fp32"),
|
||||
ORT_TSTR("VGG 19-caffe2"),
|
||||
ORT_TSTR("VGG 19-bn"),
|
||||
ORT_TSTR("VGG 16-bn"),
|
||||
ORT_TSTR("VGG 19"),
|
||||
ORT_TSTR("VGG 16"),
|
||||
ORT_TSTR("faster_rcnn"),
|
||||
ORT_TSTR("GPT2"),
|
||||
ORT_TSTR("GPT2_LM_HEAD"),
|
||||
|
|
|
|||
|
|
@ -201,7 +201,7 @@ static void RunTest(id self, SEL _cmd) {
|
|||
delete listeners.Release(listeners.default_result_printer());
|
||||
free(argv);
|
||||
|
||||
BOOL runDisabledTests = testing::GTEST_FLAG(also_run_disabled_tests);
|
||||
BOOL runDisabledTests = GTEST_FLAG_GET(also_run_disabled_tests);
|
||||
NSMutableDictionary* testFilterMap = [NSMutableDictionary dictionary];
|
||||
NSCharacterSet* decimalDigitCharacterSet = [NSCharacterSet decimalDigitCharacterSet];
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue