![]() |
ATLAS Offline Software
|
Service providing CUDA streams to (reentrant) algorithms. More...
#include <PerEventStreamSvc.h>
Public Member Functions | |
Function(s) inherited from @c AthAlgTool | |
| virtual StatusCode | initialize () override |
| Initialize the tool. | |
Function(s) inherited from @c IStreamSvc | |
| virtual cudaStream_t | stream (const EventContext &ctx) const override |
| Get the CUDA stream to use. | |
Private Attributes | |
| std::unique_ptr< const SG::SlotSpecificObj< Details::Stream, SG::InvalidSlot::Enabled > > | m_streams |
| Slot specific CUDA stream(s). | |
Service providing CUDA streams to (reentrant) algorithms.
In a very simple way. By having one CUDA stream per concurrent event (slot), and having algorithms all use a single CUDA stream for a given event.
Definition at line 27 of file PerEventStreamSvc.h.
|
overridevirtual |
Initialize the tool.
Definition at line 14 of file PerEventStreamSvc.cxx.
|
overridevirtual |
Get the CUDA stream to use.
| ctx | The event context for which the stream is requested |
Definition at line 32 of file PerEventStreamSvc.cxx.
|
private |
Slot specific CUDA stream(s).
Definition at line 57 of file PerEventStreamSvc.h.