CaloGPUCUDAInitialization Node1 CaloGPUCUDAInitialization + handle() + ~CaloGPUCUDAInitialization() # initialize_non_CUDA() # initialize_CUDA() # initialize() Node3 BasicGPUClusterInfoCalculator - m_preserveClusterMoments - m_cutClustersInAbsE - m_clusterETThreshold - m_kernelSizeOptimizer + BasicGPUClusterInfoCalculator() + initialize() + initialize_non_CUDA() + initialize_CUDA() + execute() + finalize() + ~BasicGPUClusterInfoCalculator() + size_of_temporaries() Node1->Node3 Node4 CaloGPUHybridClusterProcessor - m_transformConstantData - m_preGPUoperations - m_transformForGPU - m_GPUoperations - m_transformBackToCPU - m_postGPUoperations - m_doPlots - m_plotterTool - m_doMonitoring - m_monitorCells and 19 more... + CaloGPUHybridClusterProcessor() + ~CaloGPUHybridClusterProcessor() + initialize() + initialize_non_CUDA() + initialize_CUDA() + execute() + finalize() Node1->Node4 Node5 GPUClusterInfoAndMoments Calculator - m_maxAxisAngle - m_minRLateral - m_minLLongitudinal - m_minBadLArQuality - m_absOpt - m_etaInnerWheel - m_twoGaussianNoise - m_skipInvalidClusters - m_options - m_measureTimes - m_kernelSizeOptimizer + GPUClusterInfoAndMoments Calculator() + initialize() + initialize_non_CUDA() + initialize_CUDA() + execute() + finalize() + ~GPUClusterInfoAndMoments Calculator() Node1->Node5 Node6 GPUKernelSizeOptimizerSvc - m_dynpar_support - m_coopgroup_support - m_kernel_map - m_kernelFiles - m_outputSizes - m_outputFile + GPUKernelSizeOptimizerSvc() + register_kernels() + get_launch_configuration() + can_use_cooperative _groups() + can_use_dynamic_parallelism() + should_use_minimal _kernel_sizes() + initialize() + initialize_CUDA() + finalize() - get_GPU_usage() Node1->Node6 Node7 TopoAutomatonClustering - m_caloNames - m_samplingNames - m_cellThresholdOnEorAbsEin Sigma - m_neighborThresholdOnEor AbsEinSigma - m_seedThresholdOnEorAbsEin Sigma - m_seedCutsInAbsE - m_neighborCutsInAbsE - m_cellCutsInAbsE - m_cutCellsInTime - m_timeThreshold and 12 more... + TopoAutomatonClustering() + initialize() + initialize_non_CUDA() + initialize_CUDA() + execute() + finalize() + ~TopoAutomatonClustering() Node1->Node7 Node8 TopoAutomatonSplitting - m_samplingNames - m_secondarySamplingNames - m_nCells - m_minEnergy - m_shareBorderCells - m_emShowerScale - m_absOpt - m_treatL1PredictedCellsAsGood - m_neighborOptionString - m_restrictHECIWandFCalNeighbors - m_restrictPSNeighbors - m_options - m_kernelSizeOptimizer + TopoAutomatonSplitting() + initialize() + initialize_non_CUDA() + initialize_CUDA() + execute() + finalize() + ~TopoAutomatonSplitting() Node1->Node8 Node2 IIncidentListener Node2->Node1