Project
Loading...
Searching...
No Matches
GPUReconstructionThreading.h File Reference
#include "GPUReconstruction.h"
#include <memory>
#include <oneapi/tbb.h>

Go to the source code of this file.

Classes

struct  o2::gpu::GPUReconstructionThreading
 

Namespaces

namespace  o2
 a couple of static helper functions to create timestamp values for CCDB queries or override obsolete objects
 
namespace  o2::gpu
 

Macros

#define GPUCA_TBB_KERNEL_LOOP_HOST(rec, vartype, varname, iEnd, code)
 
#define GPUCA_TBB_KERNEL_LOOP(rec, vartype, varname, iEnd, code)
 

Detailed Description

Author
David Rohr

Definition in file GPUReconstructionThreading.h.

Macro Definition Documentation

◆ GPUCA_TBB_KERNEL_LOOP

#define GPUCA_TBB_KERNEL_LOOP (   rec,
  vartype,
  varname,
  iEnd,
  code 
)
Value:
if (!rec.GetProcessingSettings().inKernelParallel) { \
rec.mThreading->activeThreads->execute([&] { \
tbb::parallel_for(tbb::blocked_range<vartype>(get_global_id(0), iEnd, get_global_size(0)), [&](const tbb::blocked_range<vartype>& _r_internal) { \
for (vartype varname = _r_internal.begin(); varname < _r_internal.end(); varname += get_global_size(0)) { \
code \
} \
}); \
}); \
} else { \
GPUCA_TBB_KERNEL_LOOP_HOST(rec, vartype, varname, iEnd, code) \
}
#define get_global_size(dim)
#define get_global_id(dim)
GPUReconstruction * rec

Definition at line 46 of file GPUReconstructionThreading.h.

◆ GPUCA_TBB_KERNEL_LOOP_HOST

#define GPUCA_TBB_KERNEL_LOOP_HOST (   rec,
  vartype,
  varname,
  iEnd,
  code 
)
Value:
for (vartype varname = get_global_id(0); varname < iEnd; varname += get_global_size(0)) { \
code \
}

Definition at line 38 of file GPUReconstructionThreading.h.