kalman filter based track fit running on cell
DESCRIPTION
Kalman Filter based Track Fit running on Cell. S. Gorbunov 1,2 , U. Kebschull 2 , I. Kisel 2,3 , V. Lindenstruth 2 and W.F.J. Müller 1 1 Gesellschaft für Schwerionenforschung mbH , Darmstadt, Germany 2 Kirchhoff Institute for Physics, University of Heidelberg, Germany - PowerPoint PPT PresentationTRANSCRIPT
Kalman Filter basedKalman Filter basedTrack FitTrack Fit
running on Cellrunning on Cell
S. GorbunovS. Gorbunov1,21,2, U. Kebschull, U. Kebschull22, , I. KiselI. Kisel2,32,3, V. Lindenstruth, V. Lindenstruth22 and W.F.J. Müller and W.F.J. Müller11
11 Gesellschaft für Schwerionenforschung mbHGesellschaft für Schwerionenforschung mbH, Darmstadt, Germany, Darmstadt, Germany22 Kirchhoff Institute for Physics, University of Heidelberg, GermanyKirchhoff Institute for Physics, University of Heidelberg, Germany33 Laboratory of Information Technologies, JINR, Dubna, RussiaLaboratory of Information Technologies, JINR, Dubna, Russia
IBM, BöblingenIBM, BöblingenFebruary 13, 2007February 13, 2007
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 22/20/20
TerminologyTerminology
Kalman FilterKalman Filter basedbasedTrack FitTrack Fit
running on Cellrunning on Cell
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 33/20/20
The Kalman Filter The Kalman Filter 1/3 1/3
The Kalman filter is a recursive algorithm which estimates the state of a dynamic system from a series of incomplete and noisy
measurements.
The Kalman filter is a recursive algorithm which estimates the state of a dynamic system from a series of incomplete and noisy
measurements.
The filter was developed in papers by Swerling (1958), Kalman (1960), and Kalman and Bucy (1961).
The filter is named after Rudolf E.
Kalman.
An example of an application would be to provide accurate continuously-updated information about the position and velocity of an object given only a sequence of observations about its position, each of which includes some error.
It is used in a wide range of engineering applications from radar to computer vision.
A wide variety of Kalman filters have now been developed, from Kalman's original formulation, now called the simplesimple Kalman filter, to extendedextended filter, the informationinformation filter and a variety of square-rootsquare-root filters.
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 44/20/20
Example: Radar Applications Example: Radar Applications 2/3 2/3
In a radar application, where one is interested in following a target, information about the location, speed, and acceleration of the target is measured at different moments in time with corruption by noise.
r = { x, y, z, vr = { x, y, z, vxx, v, vyy, v, vzz } }
22xx
22yy … …
22zz
22vxvx
… … 22vyvy
22vzvz
C =C =
December 21, 1968. The Apollo 8 spacecraft has just been sent on its way to the Moon.003:46:31 Collins: Roger. At your convenience, would you please go P00 and Accept? We're going to update to your W-matrix.
State State vectorvector
Covariance Covariance matrixmatrix
position velocity
error of x
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 55/20/20
The Kalman Filter Algorithm The Kalman Filter Algorithm 3/3 3/3
The Kalman filter exploits the dynamics of the target, which govern its time evolution, to remove the effects of the noise and get a good estimate of the location of the target • at the present time (filteringfiltering), • at a future time (predictionprediction), or • at a time in the past (interpolationinterpolation or smoothingsmoothing).
The Kalman filter is a recursiverecursive estimator – only the estimated state from the previous time step and the current measurement are needed to compute the estimate for the current state.
nn
n+1n+1
mean value over nn measurements
mean value over n+1n+1 measurements
previous estimation
new measurement
correctionweight
PredictionPredictionoror
ExtrapolationExtrapolation
UpdateUpdateoror
FilterFilter
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 66/20/20
TerminologyTerminology
Kalman Filter basedKalman Filter basedTrackTrack FitFit
running on Cellrunning on Cell
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 77/20/20
The The CCompressed ompressed BBaryonic aryonic MMatter Experiment (GSI, atter Experiment (GSI, Darmstadt) 1/3Darmstadt) 1/3
CBM is a typical modern high energy physics CBM is a typical modern high energy physics experimentexperiment
Challenge:Challenge:
~ 1000 charged particles/collision
107 Au+Au collisions/sec
high speed data acquisition and trigger system
Track == Track == trajectorytrajectory
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 88/20/20
Data Acquisition System Data Acquisition System 2/3 2/3
Event Event Builder Builder NetworkNetwork
100 100 evev//sliceslice
DetectorDetector
PC FarmPC Farm
101077 ev/s ev/s
101055 slsl/s/s
50 50 kBkB//evev
5 M5 MBB//sliceslice
N x MN x MN x MN x MSchedulerSchedulerSchedulerScheduler
Sub-FarmSub-Farm
RURURURURURURURURURURURURURURURU
RURURURURURURURURURURURURURURURU
Sub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm
Farm Control System
Sub-FarmSub-FarmSub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm
Sub-FarmSub-FarmSub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm
Sub-FarmSub-FarmSub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm
Sub-FarmSub-FarmSub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm Sub-FarmSub-Farm
SF
n
availab
le
SFnt MAPS STS RICH TRD ECAL
SFnt MAPS STS RICH TRD ECAL
SFntSFnt SFnt SFnt
… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …
… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …
… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …
… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …
… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …
… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …
… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …
… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …
… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …
… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …
~1000 ~1000 PCsPCs
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 99/20/20
Stages of Data Reconstruction Stages of Data Reconstruction 3/3 3/3
Track findingTrack findingTrack findingTrack finding
Track fittingTrack fittingTrack fittingTrack fitting Vertex finding/fittingVertex finding/fittingVertex finding/fittingVertex finding/fitting
Ring finding (PID)Ring finding (PID)Ring finding (PID)Ring finding (PID)
TimeTimeconsumingconsuming
!!!!!!
Kalman Kalman FilterFilter
Kalman Kalman FilterFilter
CombinatoriCombinatoricscs
• Conformal MappingConformal Mapping• Hough TransformationHough Transformation• Track Following + Kalman FilterTrack Following + Kalman Filter• Cellular Automaton + Kalman FilterCellular Automaton + Kalman Filter
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1010/20/20
TerminologyTerminology
Kalman Filter basedKalman Filter basedTrackTrack FitFit
running on Cellrunning on Cell
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1111/20/20
Kalman Filter for Track Fit Kalman Filter for Track Fit 1/3 1/3
detectorsmeasurements
ee--
(r, C)(r, C)
track parametersand errors
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1212/20/20
The Kalman Filter for Track Fit The Kalman Filter for Track Fit 2/3 2/3
arbitrary large errors
non-homogeneous magnetic fieldas large map
multiple scattering in
material
small errors
weight for update
>>> 256 KB >>> 256 KB of Local Storeof Local Store
not enough accuracy not enough accuracy in single precisionin single precision
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1313/20/20
Modifications of the Fitting Algorithm Modifications of the Fitting Algorithm 3/3 3/3
• The initial track parameters are directly estimated from the input data. • The propagation step is performed directly from measurement to measurement without intermediate steps. • Matrix multiplications have been replaced by direct operations on only non-trivial matrix elements.• Most loops have been unrolled in order to provide additional instructions for interleaving.• All branches have been eliminated from the algorithm to avoid branch misprediction penalty. • Calculations have been reordered for better use of the processors pipeline.
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1414/20/20
TerminologyTerminology
Kalman Filter basedKalman Filter basedTrackTrack FitFit
running on Cellrunning on Cell
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1515/20/20
Cell Processor: Supercomputer-on-a-Chip Cell Processor: Supercomputer-on-a-Chip 1/5 1/5
Approach:Approach:• Run SPEs independently (one collision per SPE) Run SPEs independently (one collision per SPE) • Vectorization (SIMDization)Vectorization (SIMDization)• Universality (any CPU architecture)Universality (any CPU architecture)
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1616/20/20
Porting the Kalman Filter on Cell Porting the Kalman Filter on Cell 2/5 2/5
1.1. GSI-LinuxGSI-Linux2.2. Virtual machine:Virtual machine:
Red Hat (Fedora Core 4)Red Hat (Fedora Core 4) Cell Simulator:Cell Simulator:
PPEPPE SPESPE
3.3. Cell Blade Cell Blade
SSE2SSE2
SSE2SSE2
AltiVecAltiVec
Specialized Specialized SIMDSIMD
Data Types:Data Types:
Platform:Platform:
Use headers to overload +, -, *, / operators --> the source code is Use headers to overload +, -, *, / operators --> the source code is unchanged !unchanged !
Use headers to overload +, -, *, / operators --> the source code is Use headers to overload +, -, *, / operators --> the source code is unchanged !unchanged !
c = a + bc = a + b
• Scalar doubleScalar double• Scalar floatScalar float• Pseudo-vector Pseudo-vector (array)(array)• Vector (4 float)Vector (4 float)
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1717/20/20
SPE Statistics SPE Statistics 3/5 3/5
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1818/20/20
Modifications of the Fitting Algorithm Modifications of the Fitting Algorithm 4/5 4/5
Inte
l P4
Inte
l P4
Cell
Cell
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 1919/20/20
Kalman Filter on Kalman Filter on Intel XeonIntel Xeon, , AMD OpteronAMD Opteron and and CellCell 5/5 5/5Fit of a single track:Fit of a single track:
Fit of thousands of tracks:Fit of thousands of tracks:
lxg1411
eh102blade11bc
4
2.12.1 1.61.61.71.7 1.91.9
Cell SPE is: Cell SPE is: 1.51.5 times faster than Intel Xeon times faster than Intel Xeon and and 22 times faster than AMD Opteron times faster than AMD Opteron
Cell SPE is: Cell SPE is: 1.51.5 times faster than Intel Xeon times faster than Intel Xeon and and 22 times faster than AMD Opteron times faster than AMD Opteron
13 February 2007, IBM Böbling13 February 2007, IBM Böblingenen
Ivan Kisel, KIP, Uni-HeidelbergIvan Kisel, KIP, Uni-Heidelberg 2020/20/20
Summary and PlansSummary and Plans
Sub-FarmSub-Farm
… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …
… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …… … Cell, Cell, Cell, Cell …Cell, Cell, Cell, Cell …
On-line Selection (Trigger)On-line Selection (Trigger)On-line Selection (Trigger)On-line Selection (Trigger)
DevelopmentDevelopmentDevelopmentDevelopment
1. Distribution of Data1. Distribution of Data 2. Track Finding2. Track Finding 3. Track Fit3. Track Fit Kalman FilterKalman Filter
Intel, AMD and CellIntel, AMD and Cell
??
Cellular AutomatonCellular Automaton
??
Sub-Farm DemonstratorSub-Farm Demonstrator