@@ -1225,22 +1225,26 @@ EnableIfGenericShuffle<T> ShuffleUp(GroupT g, T x, uint32_t delta) {
12251225template <typename Group>
12261226typename std::enable_if_t <
12271227 ext::oneapi::experimental::is_fixed_topology_group_v<Group>>
1228- ControlBarrier (Group, memory_scope FenceScope, memory_order Order) {
1228+ ControlBarrier (Group, [[maybe_unused]] memory_scope FenceScope,
1229+ [[maybe_unused]] memory_order Order) {
1230+ #ifdef __SYCL_DEVICE_ONLY__
12291231 __spirv_ControlBarrier (group_scope<Group>::value, getScope (FenceScope),
12301232 getMemorySemanticsMask (Order) |
12311233 __spv::MemorySemanticsMask::SubgroupMemory |
12321234 __spv::MemorySemanticsMask::WorkgroupMemory |
12331235 __spv::MemorySemanticsMask::CrossWorkgroupMemory);
1236+ #endif
12341237}
12351238
12361239template <typename Group>
12371240typename std::enable_if_t <
12381241 ext::oneapi::experimental::is_user_constructed_group_v<Group>>
1239- ControlBarrier (Group g, memory_scope FenceScope, memory_order Order) {
1242+ ControlBarrier ([[maybe_unused]] Group g,
1243+ [[maybe_unused]] memory_scope FenceScope,
1244+ [[maybe_unused]] memory_order Order) {
12401245#if defined(__NVPTX__)
12411246 __nvvm_bar_warp_sync (detail::ExtractMask (detail::GetMask (g))[0 ]);
1242- #else
1243- (void )g;
1247+ #elif defined(__SYCL_DEVICE_ONLY__)
12441248 // SPIR-V does not define an instruction to synchronize partial groups.
12451249 // However, most (possibly all?) of the current SPIR-V targets execute
12461250 // work-items in lockstep, so we can probably get away with a MemoryBarrier.
0 commit comments