From 770890a107548d7293d7badf9aa2b86608b84de7 Mon Sep 17 00:00:00 2001 From: Brandon Potter Date: Thu, 11 Jul 2024 10:10:16 -0700 Subject: [PATCH] Remove SpinEBOBlockMutex usage and unit tests --- src/backend_type.hpp | 54 +++++++++++++++------------------ src/context.hpp | 5 --- src/context_device.cpp | 3 +- src/context_host.cpp | 3 +- tests/unit_tests/CMakeLists.txt | 2 +- 5 files changed, 28 insertions(+), 39 deletions(-) diff --git a/src/backend_type.hpp b/src/backend_type.hpp index 7625dbe1a9..ad9e992636 100644 --- a/src/backend_type.hpp +++ b/src/backend_type.hpp @@ -54,45 +54,41 @@ enum class BackendType { RO_BACKEND, GPU_IB_BACKEND }; /** * @brief Device static dispatch method call. */ -#ifndef USE_GPU_IB -#define DISPATCH(Func) \ - static_cast(this)->Func; +#ifdef USE_GPU_IB +#define DISPATCH(Func) \ + static_cast(this)->Func; #else #define DISPATCH(Func) \ - dev_mtx_.lock(); \ - static_cast(this)->Func; \ - dev_mtx_.unlock(); + static_cast(this)->Func; #endif /** * @brief Device static dispatch method call with a return value. */ -#ifndef USE_GPU_IB +#ifdef USE_GPU_IB +#define DISPATCH_RET(Func) \ + auto ret_val{0}; \ + ret_val = static_cast(this)->Func; \ + return ret_val; +#else #define DISPATCH_RET(Func) \ auto ret_val{0}; \ ret_val = static_cast(this)->Func; \ return ret_val; -#else -#define DISPATCH_RET(Func) \ - dev_mtx_.lock(); \ - auto ret_val{0}; \ - ret_val = static_cast(this)->Func; \ - dev_mtx_.unlock(); \ - return ret_val; #endif /** * @brief Device static dispatch method call with a return type of pointer. */ -#ifndef USE_GPU_IB -#define DISPATCH_RET_PTR(Func) \ - void *ret_val{nullptr}; \ - ret_val = static_cast(this)->Func; \ - return ret_val; -#else +#ifdef USE_GPU_IB #define DISPATCH_RET_PTR(Func) \ void *ret_val{nullptr}; \ ret_val = static_cast(this)->Func; \ return ret_val; +#else +#define DISPATCH_RET_PTR(Func) \ + void *ret_val{nullptr}; \ + ret_val = static_cast(this)->Func; \ + return ret_val; #endif /** @@ -102,10 +98,10 @@ enum class BackendType { RO_BACKEND, GPU_IB_BACKEND }; * MPI_THREAD_MULTIPLE (for RMA and AMO operations) and the ordering and * threading semantics of collectives in OpenSHMEM match those of MPI. */ -#ifndef USE_GPU_IB -#define HOST_DISPATCH(Func) static_cast(this)->Func; -#else +#ifdef USE_GPU_IB #define HOST_DISPATCH(Func) static_cast(this)->Func; +#else +#define HOST_DISPATCH(Func) static_cast(this)->Func; #endif /** * @brief Host static dispatch method call with return value. @@ -115,16 +111,16 @@ enum class BackendType { RO_BACKEND, GPU_IB_BACKEND }; * threading semantics of collectives in OpenSHMEM match those of MPI. */ -#ifndef USE_GPU_IB -#define HOST_DISPATCH_RET(Func) \ - auto ret_val{0}; \ - ret_val = static_cast(this)->Func; \ - return ret_val; -#else +#ifdef USE_GPU_IB #define HOST_DISPATCH_RET(Func) \ auto ret_val{0}; \ ret_val = static_cast(this)->Func; \ return ret_val; +#else +#define HOST_DISPATCH_RET(Func) \ + auto ret_val{0}; \ + ret_val = static_cast(this)->Func; \ + return ret_val; #endif } // namespace rocshmem diff --git a/src/context.hpp b/src/context.hpp index b018991447..72c8f38352 100644 --- a/src/context.hpp +++ b/src/context.hpp @@ -433,11 +433,6 @@ class Context { */ ROCHostStats ctxHostStats{}; - /** - * @brief Lock to prevent data races on shared data - */ - SpinEBOBlockMutex dev_mtx_{}; - protected: /************************************************************************** ***************************** POLICY MEMBERS ***************************** diff --git a/src/context_device.cpp b/src/context_device.cpp index 0f1303cdc6..33f468d72d 100644 --- a/src/context_device.cpp +++ b/src/context_device.cpp @@ -30,8 +30,7 @@ namespace rocshmem { __device__ Context::Context(Backend* handle, bool shareable) : num_pes(handle->getNumPEs()), my_pe(handle->getMyPE()), - fence_(shareable), - dev_mtx_(shareable) { + fence_(shareable) { /* * Device-side context constructor is a work-group collective, so make * sure all the members have their default values before returning. diff --git a/src/context_host.cpp b/src/context_host.cpp index 9a4ddebcf9..ee97bd4b24 100644 --- a/src/context_host.cpp +++ b/src/context_host.cpp @@ -29,8 +29,7 @@ namespace rocshmem { __host__ Context::Context(Backend* handle, bool shareable) : num_pes(handle->getNumPEs()), my_pe(handle->getMyPE()), - fence_(shareable), - dev_mtx_(shareable) {} + fence_(shareable) {} /****************************************************************************** ********************** CONTEXT DISPATCH IMPLEMENTATIONS ********************** diff --git a/tests/unit_tests/CMakeLists.txt b/tests/unit_tests/CMakeLists.txt index 03a1fdbd99..36ed68b52c 100644 --- a/tests/unit_tests/CMakeLists.txt +++ b/tests/unit_tests/CMakeLists.txt @@ -82,7 +82,7 @@ target_sources( pow2_bins_gtest.cpp remote_heap_info_gtest.cpp mpi_init_singleton_gtest.cpp - spin_ebo_block_mutex_gtest.cpp + #spin_ebo_block_mutex_gtest.cpp abql_block_mutex_gtest.cpp notifier_gtest.cpp forward_list_gtest.cpp