diff options
Diffstat (limited to 'offload/DeviceRTL/src/Mapping.cpp')
| -rw-r--r-- | offload/DeviceRTL/src/Mapping.cpp | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/offload/DeviceRTL/src/Mapping.cpp b/offload/DeviceRTL/src/Mapping.cpp index 4f39d2a299ee..c1ce878746a6 100644 --- a/offload/DeviceRTL/src/Mapping.cpp +++ b/offload/DeviceRTL/src/Mapping.cpp @@ -364,8 +364,30 @@ _TGT_KERNEL_LANGUAGE(block_id, getBlockIdInKernel) _TGT_KERNEL_LANGUAGE(block_dim, getNumberOfThreadsInBlock) _TGT_KERNEL_LANGUAGE(grid_dim, getNumberOfBlocksInKernel) -extern "C" uint64_t ompx_ballot_sync(uint64_t mask, int pred) { +extern "C" { +uint64_t ompx_ballot_sync(uint64_t mask, int pred) { return utils::ballotSync(mask, pred); } +int ompx_shfl_down_sync_i(uint64_t mask, int var, unsigned delta, int width) { + return utils::shuffleDown(mask, var, delta, width); +} + +float ompx_shfl_down_sync_f(uint64_t mask, float var, unsigned delta, + int width) { + return utils::convertViaPun<float>(utils::shuffleDown( + mask, utils::convertViaPun<int32_t>(var), delta, width)); +} + +long ompx_shfl_down_sync_l(uint64_t mask, long var, unsigned delta, int width) { + return utils::shuffleDown(mask, var, delta, width); +} + +double ompx_shfl_down_sync_d(uint64_t mask, double var, unsigned delta, + int width) { + return utils::convertViaPun<double>(utils::shuffleDown( + mask, utils::convertViaPun<int64_t>(var), delta, width)); +} +} + #pragma omp end declare target |
