18#include <tbb/concurrent_hash_map.h>
29 using CHM = tbb::concurrent_hash_map<std::string, unsigned int>;
This class represents an entry point to all the event specific data.
bool isClonable() const override
GPUCruncher()
the default constructor is disabled
StatusCode finalize() override
the finalization of the algorithm
StatusCode gpuExecute(const std::vector< double > &in, std::vector< double > &out) const
The GPU intensive function.
GPUCruncher(const GPUCruncher &)
the copy constructor is disabled
std::vector< DataObjectHandle< DataObject > * > m_inputHandles
static CHM m_name_ncopies_map
GPUCruncher(const std::string &name, ISvcLocator *pSvc)
Gaudi::Property< double > m_var_runtime
Gaudi::Property< double > m_avg_runtime
GPUCruncher & operator=(const GPUCruncher &)
the assignement operator is disabled
tbb::concurrent_hash_map< std::string, unsigned int > CHM
virtual ~GPUCruncher()
virtual & protected desctrustor
StatusCode execute(const EventContext &ctx) const override
the execution of the algorithm
Gaudi::Property< std::vector< std::string > > m_inpKeys
double get_runtime() const
std::vector< DataObjectHandle< DataObject > * > m_outputHandles
StatusCode initialize() override
Its initialization.
Gaudi::Property< std::vector< std::string > > m_outKeys
const std::string & name() const override
The identifying name of the algorithm object.
Base class for asynchronous algorithms.
Implementation of property with value of concrete type.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
This class is used for returning status codes from appropriate routines.