mkFit
The mkFit project aims to develop fully vectorized and parallelized tracking algorithms based on the Kalman Filter for use in collider experiments. The software has been integrated into CMSSW and is currently being used in CMS Run 3. Development is ongoing with a view toward the Phase-2 upgrade of the CMS detector. For a complete account of how mkFit works, see the 2020 JINST publication; highlights from that paper appear below.
Track building results
Efficiency of the mkFit (red) and nominal CMSSW (blue) track building algorithms as a function of the track eta (left) and pT (right). The efficiency with respect to track eta is calculated for tracks with pT > 0.9 GeV. The efficiency is defined as the fraction of simulated tracks that are matched to at least one reconstructed track; only simulated tracks matched to a seed are considered. Sample used: first CMS offline tracking iteration for tt ̄ events with an average pileup of 50.Matriplex
Matriplex memory layout uses a matrix-major representation optimized for loading vector registers for SIMD operations on a set of small matrices, using the native vector-unit width on processors with vector units. Matriplex includes a code generator for defining optimized matrix operations, with support for symmetric matrices and on-the-fly matrix transposition. Patterns of elements that are known by construction to be zero or one can be specified, and the resulting code will be optimized to eliminate unnecessary register loads and arithmetic operations. The generated code can be either standard C++ or macros that map to architecture-specific intrinsic functions. Matriplex structures and auto-generated code are used for all KF-related operations on tracks and hits, and in general for all matrix operations.Compute resource savings
Comparison of the single-thread time to run mkFit as an external within the CMSSW framework (red) to the time to run the standard first iteration of offline tracking in CMSSW (blue). Note that mkFit is used as a replacement for the building step only. mkFit achieves a speedup >6x over CMSSW in the track building stage. Time measured on SKL-SP using tt ̄ events with an average pileup of 50.Team
- Avi Yagil
- Peter Wittich
- Peter Elmer
- Steve Lantz
- Michael (Tres) Reid
- Dan Riley
- Leonardo Giannini
- Slava Krutelyov
- Mario Masciovecchio
- Matevz Tadel
- Emmanouil Vourliotis
- Bei Wang
- Giuseppe Cerati
- Matti Kortelainen
- Allison Reinsvold Hall
- Patrick Gartung
- Brian Gravelle
- Boyana Norris
Presentations
- 24 Jul 2024 - "Performance Case Study: the mkFit Particle Tracking Code", Steve Lantz, Sixth Computational and Data Science school for HEP (CoDaS-HEP 2024)
- 24 Jul 2024 - "Introduction to Performance Tuning & Optimization Tools", Steve Lantz, Sixth Computational and Data Science school for HEP (CoDaS-HEP 2024)
- 24 Jul 2024 - "Vector Parallelism on Multi-Core Processors", Steve Lantz, Sixth Computational and Data Science school for HEP (CoDaS-HEP 2024)
- 22 Jul 2024 - "What Every Computational Physicist Should Know About Computer Architecture", Steve Lantz, Sixth Computational and Data Science school for HEP (CoDaS-HEP 2024)
- 12 Apr 2024 - "mkFit", Slava Krutelyov, Phase-2 Software Days (CMS restricted)
- 3 Nov 2023 - "Phase-2 Timing projections: Tracking", Emmanouil Vourliotis, Reconstruction and Analysis Tools (CMS restricted)
- 10 Oct 2023 - "Track reconstruction with mkFit and developments towards HL-LHC", Slava Krutelyov, Connecting The Dots 2023
- 11 Sep 2023 - "mkFit/LST", Slava Krutelyov, IRIS-HEP Institute Retreat
- 21 Jul 2023 - "Parallelized Track Reconstruction for the LHC: the mkFit Project", Steve Lantz, Fifth Computational and Data Science school for HEP (CoDaS-HEP 2023)
- 19 Jul 2023 - "Introduction to Performance Tuning & Optimization Tools", Steve Lantz, Fifth Computational and Data Science school for HEP (CoDaS-HEP 2023)
- 17 Jul 2023 - "Vector Parallelism on Multi-Core Processors", Steve Lantz, Fifth Computational and Data Science school for HEP (CoDaS-HEP 2023)
- 17 Jul 2023 - "What Every Computational Physicist Should Know About Computer Architecture", Steve Lantz, Fifth Computational and Data Science school for HEP (CoDaS-HEP 2023)
- 22 May 2023 - "Material effects updates in mkFit", Leonardo Giannini, CMS Tracking Group (CMS restricted)
- 11 May 2023 - "RenderCore – a new WebGPU-based rendering engine for ROOT-EVE", Matevz Tadel, CHEP-2023, Norfolk, VA, USA
- 9 May 2023 - "A DNN for CMS track classification and selection", Leonardo Giannini, Computing in High Energy and Nuclear Physics (CHEP2023)
- 8 May 2023 - "Generalizing mkFit and its Application to HL-LHC", Matevz Tadel, CHEP-2023, Norfolk, VA, USA
- 8 May 2023 - "Generalizing mkFit and its Application to HL-LHC", Leonardo Giannini, Computing in High Energy and Nuclear Physics (CHEP2023)
- 27 Apr 2023 - "Particle Track Reconstruction for the Large Hadron Collider: A Case Study in Intra-Processor Parallelism", Steve Lantz, Guest lecture for CS 5220, Applications of Parallel Computers
- 10 Mar 2023 - "Tracking", Emmanouil Vourliotis, Phase-2 Software Days (CMS restricted)
- 9 Mar 2023 - "mkFit for Phase 2", Leonardo Giannini, CMS Upgrade Software Days (CMS restricted)
- 13 Feb 2023 - "Summary of recent mkFit developments", Mario Masciovecchio, CMS Tracking POG Meeting (CMS restricted)
- 2 Nov 2022 - "mkFit phase-2 geometry support and related generalizations", Matevz Tadel, CMS Tracker DPG, Tracking POG meeting (CMS restricted)
- 26 Oct 2022 - "Speeding up the CMS track reconstruction with a parallelized and vectorized Kalman-filter-based algorithm during the LHC Run 3 (poster)", Emmanouil Vourliotis, 21st International Workshop on Advanced Computing and Analysis Techniques in Physics Research (ACAT 2022)
- 12 Oct 2022 - "Tracking final fit: opportunities for simplification or speedup", Mario Masciovecchio, CMS Tracker DPG - Tracking POG General Meeting (CMS restricted)
- 13 Sep 2022 - "Tracking final fit: opportunities for simplification or speedup", Slava Krutelyov, CMS Pixel Calibration and Local Reconstruction Meeting (CMS restricted)
- 12 Sep 2022 - "Tracking final fit: opportunities for simplification or speedup", Mario Masciovecchio, CMS Tracking POG Meeting (CMS restricted)
- 15 Aug 2022 - "mkFit updates", Mario Masciovecchio, CMS Tracking POG Meeting (CMS restricted)
- 2 Aug 2022 - "Performance Case Study: the mkFit Particle Tracking Code", Steve Lantz, Fourth Computational and Data Science school for HEP (CoDaS-HEP 2022)
- 2 Aug 2022 - "Introduction to Performance Tuning & Optimization Tools", Steve Lantz, Fourth Computational and Data Science school for HEP (CoDaS-HEP 2022)
- 1 Aug 2022 - "Vector Parallelism on Multi-Core Processors", Steve Lantz, Fourth Computational and Data Science school for HEP (CoDaS-HEP 2022)
- 1 Aug 2022 - "What Every Computational Physicist Should Know About Computer Architecture", Steve Lantz, Fourth Computational and Data Science school for HEP (CoDaS-HEP 2022)
- 25 Apr 2022 - "mkFit status report", Leonardo Giannini, Tracking POG meeting (CMS restricted)
- 28 Mar 2022 - "mkFit status report", Mario Masciovecchio, Tracker General Meeting (CMS restricted)
- 7 Mar 2022 - "Status of the mkFit project", Mario Masciovecchio, Tracker General Meeting (CMS restricted)
- 14 Feb 2022 - "mkFit status report", Mario Masciovecchio, Tracking POG Meeting (CMS restricted)
- 31 Jan 2022 - "mkFit update", Leonardo Giannini, Tracking POG meeting (CMS restricted)
- 21 Jan 2022 - "mkFit external integration", Matevz Tadel, CMS Reconstruction and Analysis Tools Meeting (CMS restricted)
- 6 Jan 2022 - "mkFit technical performance update", Mario Masciovecchio, PPD general meeting (CMS restricted)
- 10 Dec 2021 - "mkFit overview", Mario Masciovecchio, CMS week plenary (CMS restricted)
- 29 Nov 2021 - "mkFit: status report", Mario Masciovecchio, Tracking POG Meeting (CMS restricted)
- 26 Nov 2021 - "Recent mkFit developments", Mario Masciovecchio, Reconstruction and Analysis Tools meeting (CMS restricted)
- 15 Nov 2021 - "mkFit status report", Leonardo Giannini, Tracking POG meeting (CMS restricted)
- 18 Oct 2021 - "mkFit status report", Leonardo Giannini, Tracking POG meeting (CMS restricted)
- 4 Oct 2021 - "mkFit: status report", Mario Masciovecchio, Tracking POG Meeting (CMS restricted)
- 28 Sep 2021 - "mkFit status and plans", Mario Masciovecchio, CMS Tracker detector performance group meeting (CMS restricted)
- 20 Sep 2021 - "mkFit status report", Leonardo Giannini, Tracking POG meeting (CMS restricted)
- 14 Sep 2021 - "Status report on mkFit", Mario Masciovecchio, CMS week Run 3 plenary (CMS restricted)
- 6 Sep 2021 - "mkFit: status report", Mario Masciovecchio, Tracking POG Meeting (CMS restricted)
- 23 Aug 2021 - "mkFit: status report", Mario Masciovecchio, Tracking POG Meeting (CMS restricted)
- 9 Aug 2021 - "mkFit status report", Leonardo Giannini, Tracking POG meeting (CMS restricted)
- 26 Jul 2021 - "mkFit: status report", Mario Masciovecchio, Tracking POG Meeting (CMS restricted)
- 12 Jul 2021 - "mkFit status report", Leonardo Giannini, Tracking POG meeting (CMS restricted)
- 28 Jun 2021 - "mkFit: status report", Mario Masciovecchio, Tracking POG Meeting (CMS restricted)
- 24 Jun 2021 - "Accelerated Strip Local reconstruction on GPUs", Dan Riley, CMS Strip Calibration and Local Reconstruction Meeting
- 17 May 2021 - "mkFit status report", Leonardo Giannini, Tracking POG meeting (CMS restricted)
- 15 Dec 2020 - "Accelerated Strip Local reconstruction on GPUs", Dan Riley, CMS Tracker Detector Performance Group
- 19 Oct 2020 - "mkFit report: plans for offline tracking in Run3", Slava Krutelyov, CMS Tracking POG Meeting (CMS restricted)
- 6 Oct 2020 - "mkFit report: plans for offline tracking in Run3", Slava Krutelyov, CMS Tracker DPG - Tracking POG General Meeting (CMS restricted)
- 5 Aug 2020 - "mkFit update: strip tracker unpacking and clustering on GPU ", Dan Riley, CMS Strip Calibration and Local Reconstruction Meeting
- 9 Jun 2020 - "Local tracker reconstruction on accelerators", Dan Riley, CMS Upgrade R&D/CMP Meeting
- 5 May 2020 - "mkFit update: strip tracker unpacking and clustering on GPU", Dan Riley, CMS HLT Upgrade TSG Weekly Meeting
- 28 Apr 2020 - "mkFit update: strip tracker unpacking and clustering on GPU", Dan Riley, CMS Tracker DPG - Tracking POG general Weekly Meeting
- 22 Apr 2020 - "Parallelizing the unpacking and clustering of detector data for reconstruction of charged particle tracks on multi-core CPUs and many-core GPUs", Bei Wang, Connecting The Dots (2020)
- 12 Feb 2020 - "mkFit and HL-LHC tracking in CMS", Mario Masciovecchio, Joint HSF event reconstruction/trigger working group and IRIS-HEP Topical Meeting
- 11 Feb 2020 - "Accelerated Full Tracking at (CMS) HLT", Mario Masciovecchio, CMS scouting kick-off workshop (CMS restricted)
- 5 Feb 2020 - "mkFit update: strip tracker unpacking and clustering on CPU and GPU", Dan Riley, CMS Tracker DPG/Strip Calibration and Local Reconstruction Weekly Meeting
- 16 Dec 2019 - "Update on mkFit developments", Slava Krutelyov, CMS Tracking POG Meeting (CMS restricted)
- 22 Nov 2019 - "Reconstruction R&D for HEP in the next decade", Slava Krutelyov, Latin American Workshop on Software and Computing challenges in High-Energy Particle Physics (LAWSCHEP 2019)
- 25 Jul 2019 - "Vector Parallelism on Multi-Core Processors", Steve Lantz, Third Computational and Data Science school for HEP (CoDaS-HEP 2019)
- 25 Jul 2019 - "Charged Particle Tracking Reconstruction (Guest Lecture)", Slava Krutelyov, Third Computational and Data Science school for HEP (CoDaS-HEP 2019)
- 11 Apr 2019 - "Update on the mkFit project", Mario Masciovecchio, Tracking POG Meeting during CMS Week (CMS restricted)
- 11 Mar 2019 - "Parallelized Kalman-Filter-Based Reconstruction of Particle Tracks on Many-Core Architectures with the CMS Detector", Mario Masciovecchio, ACAT 2019
- 20 Feb 2019 - "mkFit", Mario Masciovecchio, CMS Tracking mini-workshop 2019 (CMS restricted)
- 7 Nov 2018 - "Parallelized KF tracking with Matriplex & mkFit", Mario Masciovecchio, ECoM2X - WG4/5 meeting (CMS restricted)
- 12 Apr 2018 - "Parallel KF tracking", Mario Masciovecchio, Spring18 Offline Software and Computing week (CMS restricted)
Publications
- Exploring code portability solutions for HEP with a particle tracking test code, H. Ather et. al., arXiv 2409.09228 (13 Sep 2024).
- RenderCore – a new WebGPU-based rendering engine for ROOT-EVE, C. Bohak, D. Kovalskyi, S. Linev, A. Tadel, S. Strban, M. Tadel and A. Yagil, EPJ Web Conf. 295 03035 (2024) (18 Dec 2023).
- Generalizing mkFit and its Application to HL-LHC, G. Cerati et. al., EPJ Web Conf. 295 03019 (2024) (18 Dec 2023).
- Speeding up the CMS track reconstruction with a parallelized and vectorized Kalman-filter-based algorithm during the LHC Run 3, S. Berkman et. al., arXiv 2304.05853 (12 Apr 2023) [2 citations].
- Speeding up particle track reconstruction using a parallel Kalman filter algorithm, S. Lantz et. al., JINST 15 P09030 (2020) (29 May 2020) [13 citations] [NSF PAR].
- Reconstruction of Charged Particle Tracks in Realistic Detector Geometry Using a Vectorized and Parallelized Kalman Filter Algorithm, G. Cerati et. al., EPJ Web Conf. 245 02013 (2020) (15 Feb 2020) [3 citations] [NSF PAR].
- Speeding up Particle Track Reconstruction in the CMS Detector using a Vectorized and Parallelized Kalman Filter Algorithm, G. Cerati et. al., arXiv 1906.11744 (Submitted to CTD/WIT 2019) (27 Jun 2019) [4 citations].
- Parallelized Kalman-Filter-Based Reconstruction of Particle Tracks on Many-Core Architectures with the CMS Detector, G. Cerati et. al., J.Phys.Conf.Ser. 1525 012078 (2020) (05 Jun 2019) [3 citations] [NSF PAR].
Recent recordings
Several on IRIS-HEP and HL-LHC tracking
3 May 2022