ATLAS Offline Software
Loading...
Searching...
No Matches
CUDASeedingAlgProviderTool.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5// Local include(s).
7
8// Athena Acts include(s).
10
11// Traccc include(s).
12#include "traccc/cuda/seeding/triplet_seeding_algorithm.hpp"
13#include "traccc/cuda/gbts_seeding/gbts_seeding_algorithm.hpp"
14
15namespace ActsTrk {
16
18{
19 ATH_MSG_DEBUG("Initializing.");
20
21 ATH_CHECK(m_MRs.retrieve());
22 ATH_CHECK(m_copy.retrieve());
23 ATH_CHECK(m_streamTool.retrieve());
24
25 ATH_MSG_DEBUG("Successfully initialized");
26 return StatusCode::SUCCESS;
27}
28
30CUDASeedingAlgProviderTool::getTripletSeedingAlgorithm(const EventContext& ctx, const traccc::seedfinder_config& seedfinder, const traccc::spacepoint_grid_config& grid, const traccc::seedfilter_config& seedfilter) const
31{
32
33 ATH_MSG_VERBOSE("Constructing CUDA traccc pixel triplet seeding algorithm");
34 auto copy = m_copy->copy(ctx);
35
36 return {copy, std::make_shared<traccc::cuda::triplet_seeding_algorithm>(
37 seedfinder,
38 grid,
39 seedfilter,
40 traccc::memory_resource{m_MRs->mainMR(), m_MRs->hostMR()},
41 *copy,
42 traccc::cuda::stream_wrapper{m_streamTool->stream(ctx)},
43 makeActsAthenaLogger(this, "TracccTripletSeedingCUDA"))};
44
45}
46
48CUDASeedingAlgProviderTool::getGBTSAlgorithm(const EventContext& ctx, const traccc::gbts_seedfinder_config& gbts_config) const
49{
50
51 ATH_MSG_VERBOSE("Constructing CUDA traccc pixel GBTS seeding algorithm");
52 auto copy = m_copy->copy(ctx);
53
54 return {copy, std::make_shared<traccc::cuda::gbts_seeding_algorithm>(
55 gbts_config,
56 traccc::memory_resource{m_MRs->mainMR(), m_MRs->hostMR()},
57 *copy,
58 traccc::cuda::stream_wrapper{m_streamTool->stream(ctx)},
59 makeActsAthenaLogger(this, "TracccGBTSSeedingCUDA"))};
60
61}
62
63} // namespace ActsTrk
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x,...)
#define ATH_MSG_VERBOSE(x,...)
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
Definition Logger.cxx:64
virtual DeviceAlgorithmT< traccc::device::gbts_seeding_algorithm > getGBTSAlgorithm(const EventContext &ctx, const traccc::gbts_seedfinder_config &gbts_config) const override
Get the device specific GBTS seeding algorithm.
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
virtual StatusCode initialize() override
Function initializing the algorithm.
ToolHandle< AthCUDA::IStreamTool > m_streamTool
virtual DeviceAlgorithmT< traccc::device::triplet_seeding_algorithm > getTripletSeedingAlgorithm(const EventContext &ctx, const traccc::seedfinder_config &seedfinder, const traccc::spacepoint_grid_config &grid, const traccc::seedfilter_config &seedfilter) const override
Function constructing the traccc cuda seeding algorithm.
ToolHandle< AthDevice::ICopyTool > m_copy
Convenience type for the "algorithm provider" tools.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...