Top Banner
1/13 Future computing for particle physics, 15-17 June 2011, Edinbu rgh A GPU-based Kalman A GPU-based Kalman filter for filter for ATLAS Level 2 Trigger ATLAS Level 2 Trigger Dmitry Emeliyanov Dmitry Emeliyanov Particle Physics Department Particle Physics Department Rutherford Appleton Rutherford Appleton Laboratory Laboratory
13

1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

Jan 19, 2018

Download

Documents

Howard Harrison

Future computing for particle physics, June 2011, Edinburgh 3/13 GPUs for ATLAS Trigger R&D programme for ATLAS higher luminosity upgrade includes Trigger system and HLT software In general, various upgrade approaches are possible: using more/better CPUs for HLT farms vectorization of HLT software to process more than one event per CPU core using GPUs for time-critical parts of HLT code which are suitable for SIMT parallelization The GPU-based option is feasible since ATLAS HLT uses dedicated farms which can be, in principle, equipped with GPU cards. To prove this feasibility a few GPU-accelerated algorithms for Level 2 Trigger (LVL2) tracking have been developed.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

1/13Future computing for particle physics, 15-17 June 2011, Edinburgh

A GPU-based Kalman filter A GPU-based Kalman filter forforATLAS Level 2 TriggerATLAS Level 2 Trigger

Dmitry EmeliyanovDmitry EmeliyanovParticle Physics DepartmentParticle Physics DepartmentRutherford Appleton LaboratoryRutherford Appleton Laboratory

Page 2: 1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

Future computing for particle physics, 15-17 June 2011, Edinburgh 2/13

OutlineOutline

• GPUs for ATLAS High-Level Trigger (HLT)• Inner Detector Tracking at Level 2 Trigger• GPU-based implementation for the track

fitting algorithm• Timing results• GPU code optimization • Discussion• Conclusion and outlook

©NVidia

Page 3: 1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

Future computing for particle physics, 15-17 June 2011, Edinburgh 3/13

GPUs for ATLAS TriggerGPUs for ATLAS Trigger• R&D programme for ATLAS higher luminosity

upgrade includes Trigger system and HLT software• In general, various upgrade approaches are possible:

• using more/better CPUs for HLT farms• vectorization of HLT software to process more than one

event per CPU core• using GPUs for time-critical parts of HLT code which are

suitable for SIMT parallelization• The GPU-based option is feasible since ATLAS HLT

uses dedicated farms which can be, in principle, equipped with GPU cards.

• To prove this feasibility a few GPU-accelerated algorithms for Level 2 Trigger (LVL2) tracking have been developed.

Page 4: 1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

Future computing for particle physics, 15-17 June 2011, Edinburgh 4/13

Tracking at LVL2 TriggerTracking at LVL2 Trigger• LVL2 operates independently on Region-of-Interests

(RoI) identified by the Level 1 Trigger:

Cross-section view

Level 1 TriggerRoI

Data preparationdata requestsATLAS

detector raw data spacepoints

LVL2

track finding by Hough transformcombinatorial track finding

track candidates

TracksKalman track fit

interaction vertex finding:

ATLAS z-axis

p pHough transform in space

)/1,( 0 Tp*z

Page 5: 1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

Future computing for particle physics, 15-17 June 2011, Edinburgh 5/13

• The track fit provides track parameter estimates and covariance matrices at both ends of a track:

Track fitting at LVL2 TriggerTrack fitting at LVL2 Trigger

• The track fitter consists of a forward Kalman filter and a backward smoother:

nxx ˆ,ˆ1

nCC ,1

• Implemented in C++ using OO techniques and STL containers

Page 6: 1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

Future computing for particle physics, 15-17 June 2011, Edinburgh 6/13

, – hit coordinates, – measurement matrix, – gaussian noise with zero mean and covariance • The track parameter and covariance update by the Kalman

filter:

The Kalman filter algorithmThe Kalman filter algorithm

• The Kalman filter is a recursive algorithm which updates track parameter estimate and covariance using a hit and the extrapolated estimate and covariance

• Hits are described by a linear model:

kk HXu ku H kkV

kkk KXX ~ˆ

k

XHukk~

XC

X~ C~

k• – the Kalman gain matrix, – “hit-track ”residual: kK

CHKCC kk~~ˆ

hitupdated track position

updated track position

Page 7: 1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

Future computing for particle physics, 15-17 June 2011, Edinburgh 7/13

Adapting the fitter for GPUAdapting the fitter for GPU• The Kalman filter/smoother code is sequential – use

track-level parallelism : – one thread per track – N tracks are fitted by N threads in

parallel• Limitations/requirements:

– no dynamic memory allocation is possible – arrays and structs used instead of STL vectors and C++ objects

• Data structures: structs of arrays (SoA):– Array1 : [data for thr #1][data for thr #2]…[data for thr #N]

• Vector data types (float4) for compact representation of data: detector plane geometry and magnetic field:– plane centre c (3 floats), rotation matrix m (9 floats), field B at

the centre (3 floats), radiation thickness x0 (1 float) – packed into 4 float4 – and each float4 can be read at once

Page 8: 1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

Future computing for particle physics, 15-17 June 2011, Edinburgh 8/13

Using single FP precisionUsing single FP precision• Double-precision arithmetic is available on modern GPU

– but double precision performance is typically half that of single one

– using single precision halves the volume of data to/from GPU • The original fitter code is sensitive to single precision:

– backward smoother suffers from divergence of covariance

TSFS GCCGCC 122111ˆ~ˆˆ

BIG small => Loss of

precision• A trivial fix:• using GeV instead of MeV for track momentum reduces

dynamic range of covariance matrix elements• Using a different smoothing algorithm to improve

numerical stability of the fitter

Page 9: 1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

Future computing for particle physics, 15-17 June 2011, Edinburgh 9/13

FPS: Fixed-Point SmootherFPS: Fixed-Point Smoother• An FPS is just a Kalman filter which operates on an

extended track parameter vector and covariance :

1xxk

Parameters at the beginning of

track

Parameters at current

measurement (k)

111

1

kkk

kk

kkk

CCCC

• Advantages: • Single-pass algorithm which does not require covariance

inversion (needed for traditional smoother)• No need to store track parameter estimates and

covariances for intermediate measurements – great saving of GPU memory

• Bonus: a cross-covariance is readily available – comes very handy if we want to add more measurements / merge two fitted track segments

nxx ,cov 0

Page 10: 1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

Future computing for particle physics, 15-17 June 2011, Edinburgh 10/13

Timing resultsTiming results• CPU: Intel Westmere 2.4 GHz, GPU: NVIDIA Tesla C2050 (Fermi

arch.)• Data: full ATLAS Monte Carlo simulation

• muon tracks, , arranged into “events” with N tracks up to 3000

GeVpT 10

• I/O size (3000 tracks):

Input data 4.6 MB Output tracks 0.3 MB

0

10

20

30

40

50

60

70

80

0 500 1000 1500 2000 2500 3000

tracks / event

time/

even

t, m

s

Fermi 2050 Westmere 2.4

x12

Page 11: 1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

Future computing for particle physics, 15-17 June 2011, Edinburgh 11/13

GPU code optimizationGPU code optimization• A set of optimizations has been applied:

0

1

2

3

4

5

6

7

0 500 1000 1500 2000 2500 3000

1 2 3 4 5GPU time, ms

Number of tracks

1. Original code2. 32 threads/block3. Reduced memory

footprint (fewer local variables, upper-triangular covariance matrix

4. Track state (cov. + parameters) stored in fast (“shared”) memory

5. Jacobian in “shared” memory to speed-up

calculation

• The optimized code gives ~20x speed-up w.r.t. the CPU

TJCJ

Track stateExtrapolation

Update

x2.5

Page 12: 1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

Future computing for particle physics, 15-17 June 2011, Edinburgh 12/13

DiscussionDiscussion• 20x speed-up seen at 3000 tracks• Data transfer via PCI-E (time, I/O size) is not a bottleneck• For low number of tracks the GPU-based track fitting is

only slightly faster than that on CPU : • N threads = N tracks – not enough to occupy all GPU cores• Track-level parallelism is not suitable it number of tracks is low

• Possible solutions for low multiplicity events: • process tracks from a few RoIs in parallel• use a different algorithm which would allow for mixed

parallelism:• using separate threads for track parameters and track covariance

extrapolations• using parallel matrix multiplications in track covariance

extrapolation

Page 13: 1/13 Future computing for particle physics, 15-17 June 2011, Edinburgh A GPU-based Kalman filter for ATLAS Level 2 Trigger Dmitry Emeliyanov Particle Physics.

Future computing for particle physics, 15-17 June 2011, Edinburgh 13/13

Conclusion and outlookConclusion and outlook

• The design of GPU-based Kalman track fit for ATLAS Level 2 Trigger has been presented

• The techniques for the fitter code optimization have been demonstrated

• The optimized GPU-based track fitter shows a speed-up factor of 20 for high track multiplicity events

• Future work: • exploiting inherent parallelism of the track state

extrapolation