1 #ifndef RecoTracker_PixelVertexFinding_plugins_alpaka_fitVertices_h 2 #define RecoTracker_PixelVertexFinding_plugins_alpaka_fitVertices_h 8 #include <alpaka/alpaka.hpp> 18 template <
typename TAcc>
27 auto& __restrict__
ws =
pws;
29 float const* __restrict__
zt =
ws.zt();
30 float const* __restrict__
ezt2 =
ws.ezt2();
37 int32_t* __restrict__
nn =
data.ndof();
38 int32_t* __restrict__
iv =
ws.iv();
52 auto&
noise = alpaka::declareSharedVar<int, __COUNTER__>(acc);
58 alpaka::syncBlockThreads(acc);
74 alpaka::syncBlockThreads(acc);
77 bool const wv_cond = (
wv[
i] > 0.f);
79 printf(
"ERROR: wv[%d] (%f) > 0.f failed\n",
i,
wv[
i]);
81 for (
auto trk_i = 0u; trk_i <
nt; ++trk_i) {
82 if (
iv[trk_i] !=
int(
i)) {
85 printf(
" iv[%d]=%d zt[%d]=%f ezt2[%d]=%f\n", trk_i,
iv[trk_i], trk_i,
zt[trk_i], trk_i,
ezt2[trk_i]);
93 alpaka::syncBlockThreads(acc);
109 alpaka::syncBlockThreads(acc);
119 printf(
"and %d noise\n",
noise);
126 template <
typename TAcc>
138 #endif // RecoTracker_PixelVertexFinding_plugins_alpaka_fitVertices_h
ALPAKA_FN_ACC ALPAKA_FN_INLINE void VtxSoAView & pdata
uint32_t & nvIntermediate
fitVertices(pdata, pws, maxChi2ForFirstFit)
float const *__restrict__ ezt2
ALPAKA_FN_ACC ALPAKA_FN_INLINE void VtxSoAView WsSoAView & pws
std::vector< Block > Blocks
::vertexFinder::PixelVertexWorkSpaceSoAView WsSoAView
float const *__restrict__ zt
::reco::ZVertexSoAView VtxSoAView
T1 atomicAdd(T1 *a, T2 b)
ALPAKA_FN_ACC ALPAKA_FN_INLINE void __attribute__((always_inline)) clusterTracksByDensity(const TAcc &acc
ALPAKA_FN_ACC ALPAKA_FN_INLINE VtxSoAView WsSoAView float chi2Max
ALPAKA_FN_ACC void operator()(const TAcc &acc, VtxSoAView pdata, WsSoAView pws, float chi2Max) const