  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Go to the documentation of this file.
   10 #include "boost/chrono/chrono.hpp" 
   11 #include "boost/chrono/thread_clock.hpp" 
   25   return StatusCode::SUCCESS;
 
   31   return StatusCode::SUCCESS;
 
   37   using clock_type = boost::chrono::thread_clock;
 
   38   auto time_cast = [](
const auto & before, 
const auto & after)
 
   40     return boost::chrono::duration_cast<boost::chrono::microseconds>(after - before).count();
 
   63                    time_cast(
start, before_seed_properties),
 
   64                    time_cast(before_seed_properties, before_calculating),
 
   65                    time_cast(before_calculating, 
end)
 
   70   return StatusCode::SUCCESS;
 
   79       print_times(
"Preprocessing Seed_Cell_Properties_Updating Cluster_Properties_Calculation", 3);
 
   81   return StatusCode::SUCCESS;
 
  
ServiceHandle< IGPUKernelSizeOptimizerSvc > m_kernelSizeOptimizer
Handle to the CUDA kernel block and grid size optimization service.
 
void calculateClusterProperties(CaloRecGPU::EventDataHolder &holder, CaloRecGPU::Helpers::CUDA_kernel_object< ClusterInfoCalculatorTemporaries > temps, const CaloRecGPU::ConstantDataHolder &instance_data, const IGPUKernelSizeOptimizer &optimizer, const bool synchronize=false, const bool cut_in_absolute_ET=true, const float absolute_ET_threshold=-1, CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder stream_to_use={})
 
Gaudi::Property< float > m_clusterETThreshold
cut on the clusters.
 
CaloRecGPU::Helpers::CUDA_object< CaloRecGPU::ClusterMomentsArr > m_moments_dev
 
void updateSeedCellProperties(CaloRecGPU::EventDataHolder &holder, CaloRecGPU::Helpers::CUDA_kernel_object< ClusterInfoCalculatorTemporaries > temps, const CaloRecGPU::ConstantDataHolder &instance_data, const IGPUKernelSizeOptimizer &optimizer, const bool synchronize=false, CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder stream_to_use={})
 
Holds one objects of type \T in memory context Context.
 
BasicGPUClusterInfoCalculator(const std::string &type, const std::string &name, const IInterface *parent)
 
virtual StatusCode initialize_non_CUDA() override
Initialization that does not invoke CUDA functions.
 
Base class to provide some basic common infrastructure for timing measurements...
 
::StatusCode StatusCode
StatusCode definition for legacy code.
 
void print_times(const std::string &header, const size_t time_size) const
 
virtual StatusCode execute(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, void *temporary_buffer) const override
 
virtual StatusCode initialize_CUDA() override
Initialization that invokes CUDA functions.
 
virtual StatusCode finalize() override
 
void record_times(const size_t event_num, const std::vector< size_t > ×) const
 
Gaudi::Property< bool > m_measureTimes
If true, times are recorded to the file given by m_timeFileName.
 
void register_kernels(IGPUKernelSizeOptimizer &optimizer)
 
Gaudi::Property< bool > m_cutClustersInAbsE
if set to true cluster cuts are on , if false on .
 
Gaudi::Property< bool > m_preserveClusterMoments
If set to true, allocates a temporary array to store some temporary intermediate results instead of u...