7#ifndef CALORECGPU_CALOGPUCUDAINITIALIZATION_H
8#define CALORECGPU_CALOGPUCUDAINITIALIZATION_H
10#include "GaudiKernel/IProperty.h"
12#include "GaudiKernel/IIncidentListener.h"
13#include "GaudiKernel/IIncidentSvc.h"
14#include "GaudiKernel/ServiceHandle.h"
15#include "GaudiKernel/ConcurrencyFlags.h"
35 return StatusCode::SUCCESS;
41 return StatusCode::SUCCESS;
48 const bool is_multiprocess = (Gaudi::Concurrency::ConcurrencyFlags::numProcs() > 0);
61 return StatusCode::SUCCESS;
66 void handle(
const Incident & incident)
override
68 const bool is_multiprocess = (Gaudi::Concurrency::ConcurrencyFlags::numProcs() > 0);
73 throw GaudiException(
"Failed to perform the CUDA initialization!",
74 "CaloGPUCUDAInitialization::handle",
#define ATH_CHECK
Evaluate an expression and check for errors.
static const std::string & type()
Incident type.
Base class to provide some basic common infrastructure for initializing CUDA only at the right place ...
virtual ~CaloGPUCUDAInitialization()=default
virtual StatusCode initialize()
virtual StatusCode initialize_CUDA()
Initialization that invokes CUDA functions.
void handle(const Incident &incident) override
virtual StatusCode initialize_non_CUDA()
Initialization that does not invoke CUDA functions.