70 likes | 89 Views
ALICE HLT tracking running on GPU. S. Gorbunov 1 and I. Kisel 1,2 ( for the ALICE Collaboration ) 1 Kirchhoff Institute for Physics, University of Heidelberg, Germany 2 Gesellschaft für Schwerionenforschung mbH , Darmstadt, Germany. ALICE/FAIR Workshop
E N D
ALICE HLT tracking running on GPU S. Gorbunov1 and I. Kisel1,2 ( for the ALICE Collaboration ) 1Kirchhoff Institute for Physics, University of Heidelberg, Germany 2 Gesellschaft für Schwerionenforschung mbH, Darmstadt, Germany ALICE/FAIR Workshop GSI, February 3, 2009
TPC reconstruction scheme TPC slice 35 TPC slice 0 The TPC Slice Tracker is the most complicated algorithm: • combinatorial search • fit mathematics • the reconstruction time is crucial Cluster finder Cluster finder clusters clusters Slice tracker Slice tracker … … … slice tracks slice tracks slice tracks TPC Global merger TPC tracks Sergey Gorbunov, KIP
Tracking algorithm: the Cellular Automaton method Neighbours finder 2. Composing of tracklets • For each TPC cluster find two (up&down) neighbours which compose the best line • One-to-one linked neighbours are grouped to the track segments 3. Construction of the track candidates 4. Final selection of tracks • Competition between tracks, no shared clusters allowed • Fit of trajectories • Search for the missed parts Sergey Gorbunov, KIP
Use of parallel hardware: GPU NVIDIA GeForce GTX 280: • 30x8 general propose processors; pure calculations can be ~100 times faster than CPU • very parallel: || execution of branches, || memory access • CUDA language - a little extension of the C++ • fast access to the small portion of data (16k) at the time; no memory cache • single precision floating point • ONLY parallel calculations Sergey Gorbunov, KIP
Porting HLT tracking code to the GPU Pb-Pb event 156 ms 1640 ms in work The algorithm evolution: • Maximal parallelisation of the CPU tracker. ( AliRoot ) • Stand-alone CPU tracker w/o ROOT. ( AliRoot->stand-alone ) • Developing of the efficient GPU code. ( stand-alone CPU-> stand-alone GPU ) • Making hybrid code. ( stand-alone GPU -> stand-alone GPU+CPU ) • Porting code back to AliRoot. (stand-alone GPU+CPU -> AliRoot ) Result - HLT TPC tracker: • Official svn code, compiles and runs offline and in the HLT framework • Satisfies to the ALICE coding rules (almost) • Can use the GPU device (not from AliRoot) • SAME source code for GPU and CPU, same result. • For a moment >10.5 times faster on GPU Sergey Gorbunov, KIP
Running the ALICE HLT tracker on the GPU cluster at Frankfurt • speed-up: 10.5x GPU CPU • same code • same result CPU GPU Sergey Gorbunov, KIP
Summary and plans • Summary: • The ALICE HLT tracking algorithm has been parallelised to use the GPU hardware. • The new tracker is as fast as before on CPU, and shows 10x speed-up on GPU. • The algorithm and the code are universal for GPU and CPU. • Commit to svn, running in the HLT • Plans: • Further speed-up for the GPU • Integration of the GPU tracker to the HLT framework. Sergey Gorbunov, KIP