From 6cbb9b3bc701b7bcc5181e7d5b03554e673e6b86 Mon Sep 17 00:00:00 2001 From: Joseph Schuchart Date: Thu, 4 Apr 2024 15:21:26 -0400 Subject: [PATCH] Move copy version increment to CPU hook The new copy versioning in PaRSEC requires this only for CPU tasks to make sure the results are handled correctly. Signed-off-by: Joseph Schuchart --- cmake/modules/ExternalDependenciesVersions.cmake | 2 +- cmake/modules/FindOrFetchPARSEC.cmake | 2 +- ttg/ttg/parsec/ttg.h | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/cmake/modules/ExternalDependenciesVersions.cmake b/cmake/modules/ExternalDependenciesVersions.cmake index fd96e5816..2e79bdb88 100644 --- a/cmake/modules/ExternalDependenciesVersions.cmake +++ b/cmake/modules/ExternalDependenciesVersions.cmake @@ -4,7 +4,7 @@ set(TTG_TRACKED_VG_CMAKE_KIT_TAG 7ea2d4d3f8854b9e417f297fd74d6fc49aa13fd5) # used to provide "real" FindOrFetchBoost set(TTG_TRACKED_CATCH2_VERSION 3.5.0) set(TTG_TRACKED_MADNESS_TAG 2eb3bcf0138127ee2dbc651f1aabd3e9b0def4e3) -set(TTG_TRACKED_PARSEC_TAG 0b3140f58ad9dc78a3d64da9fd73ecc7f443ece7) +set(TTG_TRACKED_PARSEC_TAG fc18d7881059a520e73cb7ccb6b56e6da705635e) set(TTG_TRACKED_BTAS_TAG 4e8f5233aa7881dccdfcc37ce07128833926d3c2) set(TTG_TRACKED_TILEDARRAY_TAG 493c109379a1b64ddd5ef59f7e33b95633b68d73) diff --git a/cmake/modules/FindOrFetchPARSEC.cmake b/cmake/modules/FindOrFetchPARSEC.cmake index 7b164019f..2a663f914 100644 --- a/cmake/modules/FindOrFetchPARSEC.cmake +++ b/cmake/modules/FindOrFetchPARSEC.cmake @@ -17,7 +17,7 @@ if (NOT TARGET PaRSEC::parsec) FetchContent_Declare( PARSEC - GIT_REPOSITORY https://github.com/devreal/parsec-1.git + GIT_REPOSITORY https://github.com/abouteiller/parsec.git GIT_TAG ${TTG_TRACKED_PARSEC_TAG} ) FetchContent_MakeAvailable(PARSEC) diff --git a/ttg/ttg/parsec/ttg.h b/ttg/ttg/parsec/ttg.h index f4653f962..048b15a0d 100644 --- a/ttg/ttg/parsec/ttg.h +++ b/ttg/ttg/parsec/ttg.h @@ -740,6 +740,7 @@ namespace ttg_parsec { inline void transfer_ownership_impl(ttg_data_copy_t *copy, int device) { if constexpr(!std::is_const_v>) { copy->transfer_ownership(PARSEC_FLOW_ACCESS_RW, device); + copy->inc_current_version(); } } @@ -4266,8 +4267,6 @@ struct ttg::detail::value_copy_handler { /* this copy won't be modified anymore so mark it as read-only */ copy->reset_readers(); } - /* the value was potentially changed, so increment version */ - copy->inc_current_version(); } /* We're coming from a writer so mark the data as modified. * That way we can force a pushout in prepare_send if we move to read-only tasks (needed by PaRSEC). */