Presentation is loading. Please wait.

Presentation is loading. Please wait.

Alexey Badalov 12015-03-05. Contents Gaudi — LHCb’s software framework GPU Manager CUDA development with Gaudi Testing 2014-05-232.

Similar presentations


Presentation on theme: "Alexey Badalov 12015-03-05. Contents Gaudi — LHCb’s software framework GPU Manager CUDA development with Gaudi Testing 2014-05-232."— Presentation transcript:

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


Download ppt "Alexey Badalov 12015-03-05. Contents Gaudi — LHCb’s software framework GPU Manager CUDA development with Gaudi Testing 2014-05-232."

Similar presentations


Ads by Google