From d827beb0950e656e76685b10c2282ad83366c250 Mon Sep 17 00:00:00 2001 From: James Osborn Date: Mon, 18 Sep 2023 23:05:38 -0500 Subject: [PATCH] restore needsFullBlock for SharedMemoryCache --- include/dslash_helper.cuh | 6 +++--- include/targets/generic/special_ops.h | 6 ++++++ include/targets/sycl/shared_memory_cache_helper.h | 6 +++++- include/targets/sycl/thread_array.h | 6 +++--- include/targets/sycl/thread_local_cache.h | 6 +++--- 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/include/dslash_helper.cuh b/include/dslash_helper.cuh index f6e5776f86..8a6261699d 100644 --- a/include/dslash_helper.cuh +++ b/include/dslash_helper.cuh @@ -702,15 +702,15 @@ namespace quda #ifdef QUDA_DSLASH_FAST_COMPILE if constexpr (allthreads) { - dslash.template operator()(x_cb, s, parity, active); + dslash.template operator()(x_cb, s, parity, active); } else { dslash.template operator()(x_cb, s, parity); } #else if constexpr (allthreads) { switch (parity) { - case 0: dslash.template operator()(x_cb, s, 0, active); break; - case 1: dslash.template operator()(x_cb, s, 1, active); break; + case 0: dslash.template operator()(x_cb, s, 0, active); break; + case 1: dslash.template operator()(x_cb, s, 1, active); break; } } else { switch (parity) { diff --git a/include/targets/generic/special_ops.h b/include/targets/generic/special_ops.h index 363a6c49f9..b5a740c2ab 100644 --- a/include/targets/generic/special_ops.h +++ b/include/targets/generic/special_ops.h @@ -108,7 +108,13 @@ namespace quda { template inline constexpr bool explicitSpecialOps = explicitSpecialOpsS::value; // hasSpecialOps +#if 1 template inline constexpr bool hasSpecialOps = !std::is_same_v,NoSpecialOps>; +#else + template struct hasSpecialOpsImpl { static constexpr bool value = false; }; + template struct hasSpecialOpsImpl> { static constexpr bool value = true; }; + template inline constexpr bool hasSpecialOps = hasSpecialOpsImpl::value; +#endif // combineOps template struct combineOpsS {}; diff --git a/include/targets/sycl/shared_memory_cache_helper.h b/include/targets/sycl/shared_memory_cache_helper.h index eb30b79416..09131c2c4e 100644 --- a/include/targets/sycl/shared_memory_cache_helper.h +++ b/include/targets/sycl/shared_memory_cache_helper.h @@ -4,6 +4,10 @@ #include <../generic/shared_memory_cache_helper.h> +namespace quda { + template static constexpr bool needsFullBlock> = true; +} + #else #include @@ -30,7 +34,7 @@ namespace quda This accessor supports both explicit run-time block size and compile-time sizing. - * For run-time block size, the constructor should be initialied + * For run-time block size, the constructor should be initialized with the desired block size. * For compile-time block size, no arguments should be passed to diff --git a/include/targets/sycl/thread_array.h b/include/targets/sycl/thread_array.h index b2cb58978b..18c6173279 100644 --- a/include/targets/sycl/thread_array.h +++ b/include/targets/sycl/thread_array.h @@ -19,6 +19,6 @@ namespace quda #endif -namespace quda { - template static constexpr bool needsFullBlock> = false; -} +//namespace quda { +// template static constexpr bool needsFullBlock> = false; +//} diff --git a/include/targets/sycl/thread_local_cache.h b/include/targets/sycl/thread_local_cache.h index dac0eb0681..daff28bf06 100644 --- a/include/targets/sycl/thread_local_cache.h +++ b/include/targets/sycl/thread_local_cache.h @@ -6,6 +6,6 @@ #include "../generic/thread_local_cache_noshared.h" #endif -namespace quda { - template static constexpr bool needsFullBlock> = false; -} +//namespace quda { +// template static constexpr bool needsFullBlock> = false; +//}