ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsGPUPatternRecognition
src
cuda
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).
6
#include "
CUDASeedingAlgProviderTool.h
"
7
8
// Athena Acts include(s).
9
#include "
ActsInterop/Logger.h
"
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
15
namespace
ActsTrk
{
16
17
StatusCode
CUDASeedingAlgProviderTool::initialize
()
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
29
DeviceAlgorithmT<traccc::device::triplet_seeding_algorithm>
30
CUDASeedingAlgProviderTool::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
47
DeviceAlgorithmT<traccc::device::gbts_seeding_algorithm>
48
CUDASeedingAlgProviderTool::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
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x,...)
Definition
AthMsgStreamMacros.h:43
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x,...)
Definition
AthMsgStreamMacros.h:42
CUDASeedingAlgProviderTool.h
Logger.h
makeActsAthenaLogger
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
ActsTrk::CUDASeedingAlgProviderTool::getGBTSAlgorithm
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.
Definition
CUDASeedingAlgProviderTool.cxx:48
ActsTrk::CUDASeedingAlgProviderTool::m_MRs
ToolHandle< AthDevice::IMemoryResourcesTool > m_MRs
Definition
CUDASeedingAlgProviderTool.h:56
ActsTrk::CUDASeedingAlgProviderTool::initialize
virtual StatusCode initialize() override
Function initializing the algorithm.
Definition
CUDASeedingAlgProviderTool.cxx:17
ActsTrk::CUDASeedingAlgProviderTool::m_streamTool
ToolHandle< AthCUDA::IStreamTool > m_streamTool
Definition
CUDASeedingAlgProviderTool.h:64
ActsTrk::CUDASeedingAlgProviderTool::getTripletSeedingAlgorithm
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.
Definition
CUDASeedingAlgProviderTool.cxx:30
ActsTrk::CUDASeedingAlgProviderTool::m_copy
ToolHandle< AthDevice::ICopyTool > m_copy
Definition
CUDASeedingAlgProviderTool.h:61
ActsTrk::DeviceAlgorithmT
Convenience type for the "algorithm provider" tools.
Definition
DeviceAlgorithmT.h:15
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
Generated on
for ATLAS Offline Software by
1.17.0