Lines Matching refs:mapping
1 //===------- Mapping.cpp - OpenMP device runtime mapping helpers -- C++ -*-===//
63 uint32_t Lane = mapping::getThreadIdInWarp();
64 int64_t Ballot = mapping::activemask();
70 uint32_t Lane = mapping::getThreadIdInWarp();
71 if (Lane == (mapping::getWarpSize() - 1))
73 int64_t Ballot = mapping::activemask();
124 return impl::getThreadIdInBlock(mapping::DIM_X) / mapping::getWarpSize();
128 return mapping::getNumberOfThreadsInBlock() / mapping::getWarpSize();
209 return impl::getThreadIdInBlock(mapping::DIM_X) / mapping::getWarpSize();
213 return (mapping::getNumberOfThreadsInBlock() + mapping::getWarpSize() - 1) /
214 mapping::getWarpSize();
223 /// We have to be deliberate about the distinction of `mapping::` and `impl::`
228 uint32_t MainTId = (mapping::getNumberOfThreadsInBlock() - 1) &
229 ~(mapping::getWarpSize() - 1);
230 return mapping::getThreadIdInBlock() == MainTId;
233 bool mapping::isMainThreadInGenericMode(bool IsSPMD) {
241 bool mapping::isMainThreadInGenericMode() {
242 return mapping::isMainThreadInGenericMode(mapping::isSPMDMode());
245 bool mapping::isInitialThreadInLevel0(bool IsSPMD) {
247 return mapping::getThreadIdInBlock() == 0;
251 bool mapping::isLeaderInWarp() {
252 __kmpc_impl_lanemask_t Active = mapping::activemask();
253 __kmpc_impl_lanemask_t LaneMaskLT = mapping::lanemaskLT();
257 LaneMaskTy mapping::activemask() { return impl::activemask(); }
259 LaneMaskTy mapping::lanemaskLT() { return impl::lanemaskLT(); }
261 LaneMaskTy mapping::lanemaskGT() { return impl::lanemaskGT(); }
263 uint32_t mapping::getThreadIdInWarp() {
269 uint32_t mapping::getThreadIdInBlock(int32_t Dim) {
274 uint32_t mapping::getWarpSize() { return impl::getWarpSize(); }
276 uint32_t mapping::getMaxTeamThreads(bool IsSPMD) {
277 uint32_t BlockSize = mapping::getNumberOfThreadsInBlock();
281 uint32_t mapping::getMaxTeamThreads() {
282 return mapping::getMaxTeamThreads(mapping::isSPMDMode());
285 uint32_t mapping::getNumberOfThreadsInBlock(int32_t Dim) {
289 uint32_t mapping::getNumberOfThreadsInKernel() {
293 uint32_t mapping::getWarpIdInBlock() {
299 uint32_t mapping::getBlockIdInKernel(int32_t Dim) {
305 uint32_t mapping::getNumberOfWarpsInBlock() {
311 uint32_t mapping::getNumberOfBlocksInKernel(int32_t Dim) {
317 uint32_t mapping::getNumberOfProcessorElements() {
331 void mapping::init(bool IsSPMD) {
332 if (mapping::isInitialThreadInLevel0(IsSPMD))
336 bool mapping::isSPMDMode() { return IsSPMDMode; }
338 bool mapping::isGenericMode() { return !isSPMDMode(); }
343 return mapping::getThreadIdInBlock();
347 return impl::getNumberOfThreadsInBlock(mapping::DIM_X);
356 extern "C" int ompx_##NAME(int Dim) { return mapping::MAPPER_NAME(Dim); }