Download presentation
Presentation is loading. Please wait.
Published byIra Mills Modified over 9 years ago
1
GPU@LHCb Alexey Badalov 12015-03-05
2
Contents Gaudi — LHCb’s software framework GPU Manager CUDA development with Gaudi Testing 2014-05-232
3
Gaudi http://lhcb-comp.web.cern.ch/lhcb-comp/Frameworks/Gaudi/ LHCb uses the Gaudi software framework for a wide range of data processing applications. The components are written in modern C++ and have access to a variety of specialized services. 2014-05-233
4
Gaudi Gaudi relies on a custom build system that uses either CMT or CMake. CMT is being gradually phased out, but we are still using it for GPU development. Here is what a CMT project definition looks like. 2014-05-234 package PrPixelCuda version v1r1 # structure branches cmt src # dependencies use GaudiPolicy * use CUDA * use GpuHandler * GpuManager # main constituent document cuda_library PrPixelCuda […] # the server uses Gaudi components to # load handlers; declare the constituent # as a component library apply_pattern component_library \ library=PrPixelCuda
5
GPU Manager Automatically batches data Schedules algorithms Can be used across a network Can run GPU and CPU algorithms side by side Helps out in algorithm development 2014-05-235
6
GPU Manager 2014-05-236 Normal pipeline:
7
GPU Manager 2014-05-237 Pipeline augmented with the GPU Manager:
8
CUDA with Gaudi 2014-05-238 package MyCudaAlgorithm version v1r1 use GaudiPolicy * use Cuda * library MyCudaAlgorithm -no_static main.cpp kernel.cu apply_pattern install_more_includes more=MyCudaAlgorithm Gaudi package for CUDA algorithm development: cmt/requirements
9
Testing GPU Manager offers special tools for: Data recording and playback Performance measurement 2014-05-239
10
Testing Unit testing is important for maintaining algorithm correctness. We compile the.cu and.cuh CUDA source files using the regular gcc compiler. A small header file defines preprocessor macros that remove CUDA’s C++ language extensions. This file must be included in CUDA sources like this: #ifdef CUDA_TEST #include "cuda-cleanup.h" #endif 2014-05-2310
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.