From 05ba0c1dd011143e3245851b4e3a49f7b9517114 Mon Sep 17 00:00:00 2001 From: Michael Kuron Date: Sat, 24 May 2025 15:42:51 +0200 Subject: [PATCH] rocPRIM: Adapt ifdefs to generic architectures --- .../include/rocprim/device/detail/lookback_scan_state.hpp | 2 +- .../include/rocprim/iterator/texture_cache_iterator.hpp | 2 +- .../rocprim/rocprim/include/rocprim/thread/thread_load.hpp | 4 ++-- .../rocprim/rocprim/include/rocprim/thread/thread_store.hpp | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/projects/rocprim/rocprim/include/rocprim/device/detail/lookback_scan_state.hpp b/projects/rocprim/rocprim/include/rocprim/device/detail/lookback_scan_state.hpp index 639ac93f726..b27dcc21be5 100644 --- a/projects/rocprim/rocprim/include/rocprim/device/detail/lookback_scan_state.hpp +++ b/projects/rocprim/rocprim/include/rocprim/device/detail/lookback_scan_state.hpp @@ -46,7 +46,7 @@ // Global coherence of prefixes_*_values is ensured by atomic_load/atomic_store that bypass // cache. #ifndef ROCPRIM_DETAIL_LOOKBACK_SCAN_STATE_WITHOUT_SLOW_FENCES - #if defined(__HIP_DEVICE_COMPILE__) && (defined(__gfx942__) || defined(__gfx950__)) + #if defined(__HIP_DEVICE_COMPILE__) && (defined(__gfx942__) || defined(__gfx950__) || defined(__gfx9_4_generic__)) #define ROCPRIM_DETAIL_LOOKBACK_SCAN_STATE_WITHOUT_SLOW_FENCES 1 #else #define ROCPRIM_DETAIL_LOOKBACK_SCAN_STATE_WITHOUT_SLOW_FENCES 0 diff --git a/projects/rocprim/rocprim/include/rocprim/iterator/texture_cache_iterator.hpp b/projects/rocprim/rocprim/include/rocprim/iterator/texture_cache_iterator.hpp index ba61bae45db..e3e91b60fd1 100644 --- a/projects/rocprim/rocprim/include/rocprim/iterator/texture_cache_iterator.hpp +++ b/projects/rocprim/rocprim/include/rocprim/iterator/texture_cache_iterator.hpp @@ -218,7 +218,7 @@ class texture_cache_iterator #else texture_type words[multiple]; - #if defined(__gfx942__) || defined(__gfx950__) || defined(__gfx1200__) || defined(__gfx1201__) + #if defined(__gfx942__) || defined(__gfx950__) || defined(__gfx9_4_generic__) || defined(__GFX12__) #pragma message "Texture cache iterator is not supported on gfx94x, gfx120x or gfx95x as the texture fetch functions in HIP are not available." ROCPRIM_PRINT_ERROR_ONCE("WARNING: Usage of texture_cache_iterator on gfx94x, gfx120x or gfx95x devices is not supported and will not produce valid results.") #else diff --git a/projects/rocprim/rocprim/include/rocprim/thread/thread_load.hpp b/projects/rocprim/rocprim/include/rocprim/thread/thread_load.hpp index 0c5cfd065ae..7207972caf0 100644 --- a/projects/rocprim/rocprim/include/rocprim/thread/thread_load.hpp +++ b/projects/rocprim/rocprim/include/rocprim/thread/thread_load.hpp @@ -112,9 +112,9 @@ T asm_thread_load(void* ptr) ROCPRIM_ASM_THREAD_LOAD(cache_modifier, llvm_cache_modifier, double, uint64_t, flat_load_dwordx2, v, wait_inst, wait_cmd); // clang-format on - #if defined(__gfx942__) || defined(__gfx950__) + #if defined(__gfx942__) || defined(__gfx950__) || defined(__gfx9_4_generic__) ROCPRIM_ASM_THREAD_LOAD_GROUP(load_cg, "sc0 nt", "s_waitcnt", ""); - #elif defined(__gfx1200__) || defined(__gfx1201__) + #elif defined(__GFX12__) ROCPRIM_ASM_THREAD_LOAD_GROUP(load_cg, "th:TH_DEFAULT scope:SCOPE_DEV", "s_wait_loadcnt_dscnt", ""); #else ROCPRIM_ASM_THREAD_LOAD_GROUP(load_cg, "glc slc", "s_waitcnt", ""); diff --git a/projects/rocprim/rocprim/include/rocprim/thread/thread_store.hpp b/projects/rocprim/rocprim/include/rocprim/thread/thread_store.hpp index ec945b7e89c..9821ba4aadf 100644 --- a/projects/rocprim/rocprim/include/rocprim/thread/thread_store.hpp +++ b/projects/rocprim/rocprim/include/rocprim/thread/thread_store.hpp @@ -110,9 +110,9 @@ void asm_thread_store(void* ptr, T val) ROCPRIM_ASM_THREAD_STORE(cache_modifier, llvm_cache_modifier, double, uint64_t, flat_store_dwordx2, v, wait_inst, wait_cmd); // clang-format on - #if defined(__gfx942__) || defined(__gfx950__) + #if defined(__gfx942__) || defined(__gfx950__) || defined(__gfx9_4_generic__) ROCPRIM_ASM_THREAD_STORE_GROUP(store_cg, "sc0 nt", "s_waitcnt", ""); - #elif defined(__gfx1200__) || defined(__gfx1201__) + #elif defined(__GFX12__) ROCPRIM_ASM_THREAD_STORE_GROUP(store_cg, "th:TH_DEFAULT scope:SCOPE_DEV", "s_wait_storecnt_dscnt",