@@ -35,7 +35,7 @@ inline void GPUReconstructionCUDA::runKernelBackendTimed(const krnlSetupTime& _x
3535{
3636#if !defined(GPUCA_KERNEL_COMPILE_MODE) || GPUCA_KERNEL_COMPILE_MODE != 1
3737 if (!GetProcessingSettings ().rtc .enable ) {
38- backendInternal <T, I>::runKernelBackendMacro (_xyz, this , args...);
38+ kernelBackendMacro <T, I>::run (_xyz, this , args...);
3939 } else
4040#endif
4141 {
@@ -82,9 +82,6 @@ inline void GPUReconstructionCUDA::runKernelBackend(const krnlSetupTime& _xyz, c
8282 #define GPUCA_KRNL_DEFONLY // COMPILE_MODE = rdc
8383 #endif
8484
85- #define GPUCA_KRNL (x_class, x_attributes, x_arguments, x_forward, x_types, ...) \
86- GPUCA_KRNL_HOST (x_class, x_attributes, x_arguments, x_forward, x_types, __VA_ARGS__)
87-
8885 #ifndef __HIPCC__ // CUDA version
8986 #define GPUCA_KRNL_CALL (x_class, ...) \
9087 GPUCA_M_CAT (krnl_, GPUCA_M_KRNL_NAME(x_class))<<<x.nBlocks, x.nThreads, 0, me->mInternals->Streams[x.stream]>>>(GPUCA_CONSMEM_CALL y.index, args...);
@@ -95,6 +92,18 @@ inline void GPUReconstructionCUDA::runKernelBackend(const krnlSetupTime& _xyz, c
9592 hipLaunchKernelGGL (HIP_KERNEL_NAME(GPUCA_M_CAT(krnl_, GPUCA_M_KRNL_NAME(x_class))), dim3(x.nBlocks), dim3(x.nThreads), 0, me->mInternals->Streams[x.stream], GPUCA_CONSMEM_CALL y.index, args...);
9693 #endif // __HIPCC__
9794
95+ #define GPUCA_KRNL (x_class, x_attributes, x_arguments, x_forward, x_types, ...) \
96+ GPUCA_KRNLGPU (x_class, x_attributes, x_arguments, x_forward, x_types, __VA_ARGS__) \
97+ template <> struct GPUReconstructionCUDA::kernelBackendMacro<GPUCA_M_KRNL_TEMPLATE(x_class)> { \
98+ template <typename ... Args> \
99+ static inline void run (const GPUReconstructionProcessing::krnlSetupTime& _xyz, auto * me, const Args&... args) \
100+ { \
101+ auto & x = _xyz.x ; \
102+ auto & y = _xyz.y ; \
103+ GPUCA_KRNL_CALL (x_class, x_attributes, x_arguments, x_forward, x_types, __VA_ARGS__) \
104+ } \
105+ };
106+
98107 #include " GPUReconstructionKernelList.h"
99108 #undef GPUCA_KRNL
100109#endif // ---------- COMPILE_MODE = onefile | rdc ----------
0 commit comments