Skip to content

Commit cf9eeb6

Browse files
committed
Revert "Reapply "[OpenMP][OMPX] Add shfl_down_sync (#93311)""
This reverts commit 7b48655.
1 parent 7b48655 commit cf9eeb6

File tree

5 files changed

+14
-162
lines changed

5 files changed

+14
-162
lines changed

offload/DeviceRTL/include/Utils.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ int32_t shuffle(uint64_t Mask, int32_t Var, int32_t SrcLane);
2525

2626
int32_t shuffleDown(uint64_t Mask, int32_t Var, uint32_t Delta, int32_t Width);
2727

28-
int64_t shuffleDown(uint64_t Mask, int64_t Var, uint32_t Delta, int32_t Width);
29-
3028
uint64_t ballotSync(uint64_t Mask, int32_t Pred);
3129

3230
/// Return \p LowBits and \p HighBits packed into a single 64 bit value.

offload/DeviceRTL/src/Mapping.cpp

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -364,30 +364,8 @@ _TGT_KERNEL_LANGUAGE(block_id, getBlockIdInKernel)
364364
_TGT_KERNEL_LANGUAGE(block_dim, getNumberOfThreadsInBlock)
365365
_TGT_KERNEL_LANGUAGE(grid_dim, getNumberOfBlocksInKernel)
366366

367-
extern "C" {
368-
uint64_t ompx_ballot_sync(uint64_t mask, int pred) {
367+
extern "C" uint64_t ompx_ballot_sync(uint64_t mask, int pred) {
369368
return utils::ballotSync(mask, pred);
370369
}
371370

372-
int ompx_shfl_down_sync_i(uint64_t mask, int var, unsigned delta, int width) {
373-
return utils::shuffleDown(mask, var, delta, width);
374-
}
375-
376-
float ompx_shfl_down_sync_f(uint64_t mask, float var, unsigned delta,
377-
int width) {
378-
return utils::convertViaPun<float>(utils::shuffleDown(
379-
mask, utils::convertViaPun<int32_t>(var), delta, width));
380-
}
381-
382-
long ompx_shfl_down_sync_l(uint64_t mask, long var, unsigned delta, int width) {
383-
return utils::shuffleDown(mask, var, delta, width);
384-
}
385-
386-
double ompx_shfl_down_sync_d(uint64_t mask, double var, unsigned delta,
387-
int width) {
388-
return utils::convertViaPun<double>(utils::shuffleDown(
389-
mask, utils::convertViaPun<int64_t>(var), delta, width));
390-
}
391-
}
392-
393371
#pragma omp end declare target

offload/DeviceRTL/src/Utils.cpp

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -113,15 +113,6 @@ int32_t utils::shuffleDown(uint64_t Mask, int32_t Var, uint32_t Delta,
113113
return impl::shuffleDown(Mask, Var, Delta, Width);
114114
}
115115

116-
int64_t utils::shuffleDown(uint64_t Mask, int64_t Var, uint32_t Delta,
117-
int32_t Width) {
118-
uint32_t Lo, Hi;
119-
utils::unpack(Var, Lo, Hi);
120-
Hi = impl::shuffleDown(Mask, Hi, Delta, Width);
121-
Lo = impl::shuffleDown(Mask, Lo, Delta, Width);
122-
return utils::pack(Lo, Hi);
123-
}
124-
125116
uint64_t utils::ballotSync(uint64_t Mask, int32_t Pred) {
126117
return impl::ballotSync(Mask, Pred);
127118
}
@@ -134,7 +125,11 @@ int32_t __kmpc_shuffle_int32(int32_t Val, int16_t Delta, int16_t SrcLane) {
134125
}
135126

136127
int64_t __kmpc_shuffle_int64(int64_t Val, int16_t Delta, int16_t Width) {
137-
return utils::shuffleDown(lanes::All, Val, Delta, Width);
128+
uint32_t lo, hi;
129+
utils::unpack(Val, lo, hi);
130+
hi = impl::shuffleDown(lanes::All, hi, Delta, Width);
131+
lo = impl::shuffleDown(lanes::All, lo, Delta, Width);
132+
return utils::pack(lo, hi);
138133
}
139134
}
140135

offload/test/offloading/ompx_bare_shfl_down_sync.cpp

Lines changed: 0 additions & 67 deletions
This file was deleted.

openmp/runtime/src/include/ompx.h.var

Lines changed: 8 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,6 @@
99
#ifndef __OMPX_H
1010
#define __OMPX_H
1111

12-
#ifdef __AMDGCN_WAVEFRONT_SIZE
13-
#define __WARP_SIZE __AMDGCN_WAVEFRONT_SIZE
14-
#else
15-
#define __WARP_SIZE 32
16-
#endif
17-
1812
typedef unsigned long uint64_t;
1913

2014
#ifdef __cplusplus
@@ -81,44 +75,28 @@ _TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_C(grid_dim, 1)
8175
static inline RETTY ompx_##NAME(ARGS) { BODY; }
8276

8377
_TGT_KERNEL_LANGUAGE_HOST_IMPL_SYNC_C(void, sync_block, int Ordering,
84-
_Pragma("omp barrier"))
78+
_Pragma("omp barrier"));
8579
_TGT_KERNEL_LANGUAGE_HOST_IMPL_SYNC_C(void, sync_block_acq_rel, void,
86-
ompx_sync_block(ompx_acq_rel))
80+
ompx_sync_block(ompx_acq_rel));
8781
_TGT_KERNEL_LANGUAGE_HOST_IMPL_SYNC_C(void, sync_block_divergent, int Ordering,
88-
ompx_sync_block(Ordering))
82+
ompx_sync_block(Ordering));
8983
#undef _TGT_KERNEL_LANGUAGE_HOST_IMPL_SYNC_C
9084
///}
9185

9286
static inline uint64_t ompx_ballot_sync(uint64_t mask, int pred) {
9387
__builtin_trap();
9488
}
9589

96-
/// ompx_shfl_down_sync_{i,f,l,d}
97-
///{
98-
#define _TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC_HOST_IMPL(TYPE, TY) \
99-
static inline TYPE ompx_shfl_down_sync_##TY(uint64_t mask, TYPE var, \
100-
unsigned delta, int width) { \
101-
__builtin_trap(); \
102-
}
103-
104-
_TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC_HOST_IMPL(int, i)
105-
_TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC_HOST_IMPL(float, f)
106-
_TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC_HOST_IMPL(long, l)
107-
_TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC_HOST_IMPL(double, d)
108-
109-
#undef _TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC_HOST_IMPL
110-
///}
111-
11290
#pragma omp end declare variant
11391

11492
/// ompx_{sync_block}_{,divergent}
11593
///{
11694
#define _TGT_KERNEL_LANGUAGE_DECL_SYNC_C(RETTY, NAME, ARGS) \
11795
RETTY ompx_##NAME(ARGS);
11896

119-
_TGT_KERNEL_LANGUAGE_DECL_SYNC_C(void, sync_block, int Ordering)
120-
_TGT_KERNEL_LANGUAGE_DECL_SYNC_C(void, sync_block_acq_rel, void)
121-
_TGT_KERNEL_LANGUAGE_DECL_SYNC_C(void, sync_block_divergent, int Ordering)
97+
_TGT_KERNEL_LANGUAGE_DECL_SYNC_C(void, sync_block, int Ordering);
98+
_TGT_KERNEL_LANGUAGE_DECL_SYNC_C(void, sync_block_acq_rel, void);
99+
_TGT_KERNEL_LANGUAGE_DECL_SYNC_C(void, sync_block_divergent, int Ordering);
122100
#undef _TGT_KERNEL_LANGUAGE_DECL_SYNC_C
123101
///}
124102

@@ -139,20 +117,6 @@ _TGT_KERNEL_LANGUAGE_DECL_GRID_C(grid_dim)
139117

140118
uint64_t ompx_ballot_sync(uint64_t mask, int pred);
141119

142-
/// ompx_shfl_down_sync_{i,f,l,d}
143-
///{
144-
#define _TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC(TYPE, TY) \
145-
TYPE ompx_shfl_down_sync_##TY(uint64_t mask, TYPE var, unsigned delta, \
146-
int width);
147-
148-
_TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC(int, i)
149-
_TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC(float, f)
150-
_TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC(long, l)
151-
_TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC(double, d)
152-
153-
#undef _TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC
154-
///}
155-
156120
#ifdef __cplusplus
157121
}
158122
#endif
@@ -198,32 +162,16 @@ _TGT_KERNEL_LANGUAGE_HOST_IMPL_GRID_CXX(grid_dim)
198162
}
199163

200164
_TGT_KERNEL_LANGUAGE_HOST_IMPL_SYNC_CXX(void, sync_block, int Ordering = acc_rel,
201-
Ordering)
165+
Ordering);
202166
_TGT_KERNEL_LANGUAGE_HOST_IMPL_SYNC_CXX(void, sync_block_divergent,
203-
int Ordering = acc_rel, Ordering)
167+
int Ordering = acc_rel, Ordering);
204168
#undef _TGT_KERNEL_LANGUAGE_HOST_IMPL_SYNC_CXX
205169
///}
206170

207171
static inline uint64_t ballot_sync(uint64_t mask, int pred) {
208172
return ompx_ballot_sync(mask, pred);
209173
}
210174

211-
/// shfl_down_sync
212-
///{
213-
#define _TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC(TYPE, TY) \
214-
static inline TYPE shfl_down_sync(uint64_t mask, TYPE var, unsigned delta, \
215-
int width = __WARP_SIZE) { \
216-
return ompx_shfl_down_sync_##TY(mask, var, delta, width); \
217-
}
218-
219-
_TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC(int, i)
220-
_TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC(float, f)
221-
_TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC(long, l)
222-
_TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC(double, d)
223-
224-
#undef _TGT_KERNEL_LANGUAGE_SHFL_DOWN_SYNC
225-
///}
226-
227175
} // namespace ompx
228176
#endif
229177

0 commit comments

Comments
 (0)