commit 62a481571321e592cc612247f936b0d62bac7405 Author: Alejandro Álvarez Ayllón Date: Mon Jun 5 13:08:13 2023 +0000 Drop nsync diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index f97cc69249..2bbf6215c5 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -853,7 +853,7 @@ function(onnxruntime_set_compile_flags target_name) target_compile_options(${target_name} PRIVATE "-Wno-unused-parameter") endif() target_compile_definitions(${target_name} PUBLIC -DNSYNC_ATOMIC_CPP11) - onnxruntime_add_include_to_target(${target_name} nsync::nsync_cpp) +# onnxruntime_add_include_to_target(${target_name} nsync::nsync_cpp) endif() foreach(ORT_FLAG ${ORT_PROVIDER_FLAGS}) target_compile_definitions(${target_name} PRIVATE ${ORT_FLAG}) @@ -1491,7 +1491,7 @@ if (WIN32) list(APPEND onnxruntime_EXTERNAL_LIBRARIES ${SYS_PATH_LIB}) list(APPEND onnxruntime_EXTERNAL_LIBRARIES debug Dbghelp) else() - list(APPEND onnxruntime_EXTERNAL_LIBRARIES nsync::nsync_cpp) +# list(APPEND onnxruntime_EXTERNAL_LIBRARIES nsync::nsync_cpp) list(APPEND onnxruntime_EXTERNAL_LIBRARIES ${ICONV_LIB} ${CMAKE_DL_LIBS} Threads::Threads) endif() diff --git a/cmake/external/onnxruntime_external_deps.cmake b/cmake/external/onnxruntime_external_deps.cmake index f2aa9a4c46..84816f24c7 100644 --- a/cmake/external/onnxruntime_external_deps.cmake +++ b/cmake/external/onnxruntime_external_deps.cmake @@ -64,7 +64,7 @@ if (onnxruntime_BUILD_BENCHMARKS) ) endif() -if (NOT WIN32) +if (FALSE AND NOT WIN32) FetchContent_Declare( google_nsync URL ${DEP_URL_google_nsync} @@ -256,7 +256,7 @@ if (onnxruntime_BUILD_BENCHMARKS) onnxruntime_fetchcontent_makeavailable(google_benchmark) endif() -if (NOT WIN32) +if (FALSE AND NOT WIN32) #nsync tests failed on Mac Build set(NSYNC_ENABLE_TESTS OFF CACHE BOOL "" FORCE) onnxruntime_fetchcontent_makeavailable(google_nsync) diff --git a/cmake/onnxruntime_unittests.cmake b/cmake/onnxruntime_unittests.cmake index 09723613e4..8e75ab7477 100644 --- a/cmake/onnxruntime_unittests.cmake +++ b/cmake/onnxruntime_unittests.cmake @@ -687,7 +687,7 @@ if(MSVC) else() target_compile_definitions(onnxruntime_test_utils PUBLIC -DNSYNC_ATOMIC_CPP11) target_include_directories(onnxruntime_test_utils PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${ONNXRUNTIME_ROOT}) - onnxruntime_add_include_to_target(onnxruntime_test_utils nsync::nsync_cpp) + # onnxruntime_add_include_to_target(onnxruntime_test_utils nsync::nsync_cpp) endif() if (onnxruntime_USE_NCCL) target_include_directories(onnxruntime_test_utils PRIVATE ${NCCL_INCLUDE_DIRS}) @@ -721,7 +721,7 @@ if(MSVC) else() target_compile_definitions(onnx_test_runner_common PUBLIC -DNSYNC_ATOMIC_CPP11) target_include_directories(onnx_test_runner_common PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${ONNXRUNTIME_ROOT}) - onnxruntime_add_include_to_target(onnx_test_runner_common nsync::nsync_cpp) + # onnxruntime_add_include_to_target(onnx_test_runner_common nsync::nsync_cpp) endif() if (MSVC AND NOT CMAKE_SIZEOF_VOID_P EQUAL 8) #TODO: fix the warnings, they are dangerous @@ -1088,7 +1088,7 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP) # "Global initializer calls a non-constexpr function." BENCHMARK_CAPTURE macro needs this. target_compile_options(onnxruntime_mlas_benchmark PRIVATE /wd26426) else() - target_link_libraries(onnxruntime_mlas_benchmark PRIVATE nsync::nsync_cpp ${CMAKE_DL_LIBS}) +# target_link_libraries(onnxruntime_mlas_benchmark PRIVATE nsync::nsync_cpp ${CMAKE_DL_LIBS}) endif() if (CPUINFO_SUPPORTED AND NOT onnxruntime_BUILD_WEBASSEMBLY) target_link_libraries(onnxruntime_mlas_benchmark PRIVATE cpuinfo) @@ -1165,7 +1165,7 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP) ${onnxruntime_EXTERNAL_LIBRARIES} ${GETOPT_LIB_WIDE} ${SYS_PATH_LIB} ${CMAKE_DL_LIBS}) if(NOT WIN32) - list(APPEND onnxruntime_perf_test_libs nsync::nsync_cpp) + #list(APPEND onnxruntime_perf_test_libs nsync::nsync_cpp) if(onnxruntime_USE_SNPE) list(APPEND onnxruntime_perf_test_libs onnxruntime_providers_snpe) endif() @@ -1209,7 +1209,7 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP) # test inference using shared lib set(onnxruntime_shared_lib_test_LIBS onnxruntime_mocked_allocator onnxruntime_test_utils onnxruntime_common onnx_proto) if(NOT WIN32) - list(APPEND onnxruntime_shared_lib_test_LIBS nsync::nsync_cpp) + #list(APPEND onnxruntime_shared_lib_test_LIBS nsync::nsync_cpp) if(onnxruntime_USE_SNPE) list(APPEND onnxruntime_shared_lib_test_LIBS onnxruntime_providers_snpe) endif() @@ -1333,9 +1333,9 @@ if (NOT onnxruntime_ENABLE_TRAINING_TORCH_INTEROP) if (CPUINFO_SUPPORTED AND NOT onnxruntime_BUILD_WEBASSEMBLY) target_link_libraries(onnxruntime_mlas_test PRIVATE cpuinfo) endif() - if(NOT WIN32) - target_link_libraries(onnxruntime_mlas_test PRIVATE nsync::nsync_cpp ${CMAKE_DL_LIBS}) - endif() + # if(NOT WIN32) + # target_link_libraries(onnxruntime_mlas_test PRIVATE nsync::nsync_cpp ${CMAKE_DL_LIBS}) + # endif() if (CMAKE_SYSTEM_NAME STREQUAL "Android") target_link_libraries(onnxruntime_mlas_test PRIVATE ${android_shared_libs}) endif() @@ -1569,9 +1569,9 @@ if (onnxruntime_BUILD_SHARED_LIB AND NOT onnxruntime_BUILD_WEBASSEMBLY AND NOT o set(onnxruntime_logging_apis_test_LIBS onnxruntime_common onnxruntime_test_utils) - if(NOT WIN32) - list(APPEND onnxruntime_logging_apis_test_LIBS nsync::nsync_cpp ${CMAKE_DL_LIBS}) - endif() + #if(NOT WIN32) + # list(APPEND onnxruntime_logging_apis_test_LIBS nsync::nsync_cpp ${CMAKE_DL_LIBS}) + #endif() AddTest(DYN TARGET onnxruntime_logging_apis_test diff --git a/include/onnxruntime/core/platform/ort_mutex.h b/include/onnxruntime/core/platform/ort_mutex.h index e24665f514..2ea727284c 100644 --- a/include/onnxruntime/core/platform/ort_mutex.h +++ b/include/onnxruntime/core/platform/ort_mutex.h @@ -102,13 +102,13 @@ std::cv_status OrtCondVar::wait_for(std::unique_lock& cond_mutex, } } // namespace onnxruntime #else -#include "nsync.h" +#include #include //for unique_lock #include //for cv_status namespace onnxruntime { class OrtMutex { - nsync::nsync_mu data_ = NSYNC_MU_INIT; + pthread_mutex_t data_ = PTHREAD_MUTEX_INITIALIZER; public: constexpr OrtMutex() = default; @@ -116,16 +116,16 @@ class OrtMutex { OrtMutex(const OrtMutex&) = delete; OrtMutex& operator=(const OrtMutex&) = delete; - void lock() { nsync::nsync_mu_lock(&data_); } - bool try_lock() noexcept { return nsync::nsync_mu_trylock(&data_) == 0; } - void unlock() noexcept { nsync::nsync_mu_unlock(&data_); } + void lock() { pthread_mutex_lock(&data_); } + bool try_lock() noexcept { return pthread_mutex_lock(&data_) == 0; } + void unlock() noexcept { pthread_mutex_unlock(&data_); } - using native_handle_type = nsync::nsync_mu*; + using native_handle_type = pthread_mutex_t*; native_handle_type native_handle() { return &data_; } }; class OrtCondVar { - nsync::nsync_cv native_cv_object = NSYNC_CV_INIT; + pthread_cond_t native_cv_object = PTHREAD_COND_INITIALIZER; public: constexpr OrtCondVar() noexcept = default; @@ -134,8 +134,8 @@ class OrtCondVar { OrtCondVar(const OrtCondVar&) = delete; OrtCondVar& operator=(const OrtCondVar&) = delete; - void notify_one() noexcept { nsync::nsync_cv_signal(&native_cv_object); } - void notify_all() noexcept { nsync::nsync_cv_broadcast(&native_cv_object); } + void notify_one() noexcept { pthread_cond_signal(&native_cv_object); } + void notify_all() noexcept { pthread_cond_broadcast(&native_cv_object); } void wait(std::unique_lock& lk); template @@ -151,7 +151,7 @@ class OrtCondVar { */ template std::cv_status wait_for(std::unique_lock& cond_mutex, const std::chrono::duration& rel_time); - using native_handle_type = nsync::nsync_cv*; + using native_handle_type = pthread_cond_t*; native_handle_type native_handle() { return &native_cv_object; } private: diff --git a/onnxruntime/core/platform/posix/ort_mutex.cc b/onnxruntime/core/platform/posix/ort_mutex.cc index e124ce1680..53977938f4 100644 --- a/onnxruntime/core/platform/posix/ort_mutex.cc +++ b/onnxruntime/core/platform/posix/ort_mutex.cc @@ -27,7 +27,7 @@ void OrtCondVar::timed_wait_impl(std::unique_lock& lk, abs_deadline.tv_sec = ts_sec_max; abs_deadline.tv_nsec = 999999999; } - nsync::nsync_cv_wait_with_deadline(&native_cv_object, lk.mutex()->native_handle(), abs_deadline, nullptr); + pthread_cond_timedwait(&native_cv_object, lk.mutex()->native_handle(), &abs_deadline); } void OrtCondVar::wait(std::unique_lock& lk) { @@ -36,7 +36,7 @@ void OrtCondVar::wait(std::unique_lock& lk) { ORT_THROW("OrtCondVar wait failed: mutex not locked"); } #endif - nsync::nsync_cv_wait(&native_cv_object, lk.mutex()->native_handle()); + pthread_cond_wait(&native_cv_object, lk.mutex()->native_handle()); } -} // namespace onnxruntime \ No newline at end of file +} // namespace onnxruntime