![]() |
ATLAS Offline Software
|
Owns the embedded Athena application that backs the Traccc Triton backend, plus the process-wide device infrastructure it brings up. More...
#include <TracccTritonInitializer.h>
Classes | |
| struct | Config |
Construction parameters, normally read from the model config, plus the StoreGate keys initialize() fills in from the python configuration. More... | |
| struct | Impl |
Public Member Functions | |
| void | initialize (const Config &config) |
| Boot the embedded Athena application and resolve all cached handles. | |
| void | finalize () |
| Tear the application down. Safe to call when not initialized. | |
| bool | isReady () const |
Whether initialize has completed successfully. | |
| const Config & | config () const |
| The construction parameters the application was configured with. | |
| int | deviceId () const |
| The CUDA device id this instance is pinned to. | |
| ISvcLocator & | serviceLocator () const |
| The service locator of the embedded Athena application (never null once ready). | |
| std::size_t | acquireSlot () |
| Claim the next free event-store slot for a Triton model instance. | |
| ~TracccTritonInitializer () | |
| TracccTritonInitializer (const TracccTritonInitializer &)=delete | |
| TracccTritonInitializer & | operator= (const TracccTritonInitializer &)=delete |
Static Public Member Functions | |
| static TracccTritonInitializer & | instance () |
| Get the process-wide singleton. | |
Private Member Functions | |
| TracccTritonInitializer () | |
Private Attributes | |
| std::unique_ptr< Impl > | m_impl |
Owns the embedded Athena application that backs the Traccc Triton backend, plus the process-wide device infrastructure it brings up.
The device reconstruction algorithms are ordinary Gaudi AthReentrantAlgorithm components: they read/write StoreGate and depend on provider tools and DetectorStore services. They therefore cannot be constructed as plain C++ objects; an initialized Athena application has to exist.
The python configuration schedules them inside a single AthSequencer named Config::sequenceName, which is what TracccTritonRunner executes; the composition and ordering of the chain therefore live entirely in TracccTritonDeviceRecoCfg.
Definition at line 38 of file TracccTritonInitializer.h.
| triton::backend::traccc::TracccTritonInitializer::~TracccTritonInitializer | ( | ) |
Definition at line 177 of file TracccTritonInitializer.cxx.
|
delete |
|
private |
Definition at line 174 of file TracccTritonInitializer.cxx.
| std::size_t triton::backend::traccc::TracccTritonInitializer::acquireSlot | ( | ) |
Claim the next free event-store slot for a Triton model instance.
| std::runtime_error | if more slots are claimed than the application was configured with. |
Definition at line 277 of file TracccTritonInitializer.cxx.
| const TracccTritonInitializer::Config & triton::backend::traccc::TracccTritonInitializer::config | ( | ) | const |
The construction parameters the application was configured with.
Definition at line 272 of file TracccTritonInitializer.cxx.
| int triton::backend::traccc::TracccTritonInitializer::deviceId | ( | ) | const |
The CUDA device id this instance is pinned to.
Definition at line 292 of file TracccTritonInitializer.cxx.
| void triton::backend::traccc::TracccTritonInitializer::finalize | ( | ) |
Tear the application down. Safe to call when not initialized.
Definition at line 251 of file TracccTritonInitializer.cxx.
Boot the embedded Athena application and resolve all cached handles.
| std::runtime_error | on any failure to bring it up. |
Definition at line 192 of file TracccTritonInitializer.cxx.
|
static |
Get the process-wide singleton.
Definition at line 184 of file TracccTritonInitializer.cxx.
| bool triton::backend::traccc::TracccTritonInitializer::isReady | ( | ) | const |
Whether initialize has completed successfully.
Definition at line 267 of file TracccTritonInitializer.cxx.
|
delete |
| ISvcLocator & triton::backend::traccc::TracccTritonInitializer::serviceLocator | ( | ) | const |
The service locator of the embedded Athena application (never null once ready).
Used by TracccTritonRunner to look up the device chain.
Definition at line 296 of file TracccTritonInitializer.cxx.
|
private |
Definition at line 99 of file TracccTritonInitializer.h.