Click here to load reader
Upload
miguel-morales
View
385
Download
1
Embed Size (px)
Citation preview
timTracktracking of charged particles
By J.A.Rodríguez
TRASGO Project
labCAF
RPC TRB timTrack
running ...
timTrack
Datos.txt Detector.txt
Resultados.txt(output file)
- 6 SAETA (x,y,x',y',v,t)- 6 Errors-15 Covariances
Why C language ? − Very fast− Flexible− Parallelism− A rich set of libraries
Libraries was used to program timTrack (“algorithms ”)
LAPACKIntel® IPP
BLAS /LAPACK
Is a software library for numerical linear algebra.It provides routines for solving systems of linear equations and linear least squares, eigenvalueproblems, and singular value decomposition.Specific versions for each CPU modelprovided by the vendors
Intel® IPP
Integrated Performance Primitives (Intel® IPP)
Is a library of multicore-ready, highly optimizedsoftware functions for digital media and data-processing applications.Intel IPP contains a rich set of matrix and vector operations for a wide variety of applications.
timTrack SAETAs solutions
PREVIOUS VERSION
timTrack v1.0 (LAPACK)
timTrack v1.1 (IPP)
NEW algebra VERSION
timTrack v2.0 (LAPACK)
timTrack variance-covariance matrix
PREVIOUS VERSIONS
timTrack v1.0 (LAPACK)
timTrack v1.1 (IPP)
NEW algebra VERSION
timTrack v2.0 (LAPACK)
Example ImplementedX
Z
T1 T2Y
Times for 1.000.000 particles
Old Python and Matlab versions (only 500.000 particles)
165m 47.137 s
timTrack v2.0 LAPACK 23.615 s
timTrack v1.1 intel®IPP 23.495 s
timTrack v1.0 LAPACK 31.188 s
:)
Next Steps
• Analyze systematic computing errors• Check single-precision version• Parallelize
– Shared memory (OpenMP)– MPI (master-slave)– Full distributed
• Implement in GPU• Study full problem
timTrack v2.1
Next step ( still in progress… )
Parallelims with Intel® MPI librariesShared parallelism with OpenMP for Multi-core
Future !
timtrack v 3.0
CUDA parallel computing architecture in GPUsCUDA has several advantages over traditional general purpose computation on
GPUs
* Scattered reads
* Shared memory
* Faster downloads from the GPU
* Full support for integer and bitwise operations