17#include "GPUDefParametersLoad.inc" 
   18#include "GPUReconstructionKernelIncludes.h" 
   54    nThreads = std::max(1, nThreads);
 
 
   73  if (nThreadsAdjusted > 1) {
 
   74    tbb::task_arena(nThreadsAdjusted).execute([&] {
 
   75      tbb::parallel_for<uint32_t>(0, nThreads, lambda, tbb::simple_partitioner());
 
   78    for (uint32_t 
i = 0; 
i < nThreads; 
i++) {
 
 
   97std::atomic_flag GPUReconstructionProcessing::mTimerFlag = ATOMIC_FLAG_INIT;
 
  101  while (mTimerFlag.test_and_set()) {
 
  121  timerMeta* 
retVal = 
nullptr;
 
  122  while (mTimerFlag.test_and_set()) {
 
  132uint32_t GPUReconstructionProcessing::getNextTimerId()
 
  134  static std::atomic<uint32_t> 
id{0};
 
  135  return id.fetch_add(1);
 
  140  return std::make_unique<threadContext>();
 
 
  147#define GPUCA_KRNL(x_class, ...) GPUCA_M_STR(GPUCA_M_KRNL_NAME(x_class)), 
  148#include "GPUReconstructionKernelList.h" 
  152#define GPUCA_KRNL(x_class, x_attributes, x_arguments, x_forward, x_types, x_num)          \ 
  154  uint32_t GPUReconstructionProcessing::GetKernelNum<GPUCA_M_KRNL_TEMPLATE(x_class)>()     \ 
  159  const char* GPUReconstructionProcessing::GetKernelName<GPUCA_M_KRNL_TEMPLATE(x_class)>() \ 
  161    return GPUCA_M_STR(GPUCA_M_KRNL_NAME(x_class));                                        \ 
 
  163#include "GPUReconstructionKernelList.h" 
void runParallelOuterLoop(bool doGPU, uint32_t nThreads, std::function< void(uint32_t)> lambda)
 
int32_t mActiveHostKernelThreads
 
std::vector< std::unique_ptr< timerMeta > > mTimers
 
void SetNActiveThreads(int32_t n)
 
GPUDefParameters * mParCPU
 
int32_t getNKernelHostThreads(bool splitCores)
 
static const std::vector< std::string > mKernelNames
 
uint32_t mNActiveThreadsOuterLoop
 
GPUReconstructionProcessing(const GPUSettingsDeviceBackend &cfg)
 
virtual std::unique_ptr< threadContext > GetThreadContext() override
 
GPUDefParameters * mParDevice
 
uint32_t SetAndGetNActiveThreadsOuterLoop(bool condition, uint32_t max)
 
~GPUReconstructionProcessing() override
 
GPUReconstruction * mMaster
 
static int32_t getHostThreadIndex()
 
const GPUSettingsProcessing & GetProcessingSettings() const
 
std::shared_ptr< GPUReconstructionThreading > mThreading
 
GLuint const GLchar * name
 
GLint GLint GLsizei GLint GLenum GLenum type
 
std::string to_string(gsl::span< T, Size > span)