Project
Loading...
Searching...
No Matches
GPUTPCNNClusterizerKernels.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
15#ifndef O2_GPU_NN_CLUSTERIZER_H
16#define O2_GPU_NN_CLUSTERIZER_H
17
18#include "CfArray2D.h"
19#include "GPUGeneralKernels.h"
20#include "GPUTPCNNClusterizer.h"
21
22namespace o2::tpc
23{
24struct ClusterNative;
25} // namespace o2::tpc
26
27namespace o2::gpu
28{
29
30class ClusterAccumulator;
31class MCLabelAccumulator;
32struct CfChargePos;
33class PackedCharge;
34
36{
37 public:
38 // Must all have same number of threads, since they use a common SCRATCH_PAD_WORK_GROUP_SIZE below
39 static constexpr size_t SCRATCH_PAD_WORK_GROUP_SIZE = GPUCA_GET_THREAD_COUNT(GPUCA_LB_GPUTPCNNClusterizerKernels_runCfClusterizer);
46
47 GPUhdi() constexpr static GPUDataTypes::RecoStep GetRecoStep()
48 {
50 }
51
62
63 template <int32_t iKernel = defaultKernel, typename... Args>
64 GPUd() static void Thread(int32_t, int32_t, int32_t, int32_t, GPUSharedMemory&, processorType&, uint8_t = 0, int8_t = 0, int8_t = 0, uint = 0, Args...);
65
66 private:
67 static GPUd() int32_t padOffset(int32_t, int32_t);
68 static GPUd() int32_t rowOffset(int32_t, int32_t);
69 static GPUd() bool isBoundary(int32_t, int32_t, int32_t);
70};
71
72} // namespace o2::gpu
73
74#endif
#define GPUCA_GET_THREAD_COUNT(...)
GPUhdi() const expr static GPUDataTypes
GPUd() static void Thread(int32_t
#define SCRATCH_PAD_BUILD_N
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition glcorearb.h:2514
Global TPC definitions and constants.
Definition SimTraits.h:167