Cargando…

Compass SPMD: a SPMD vectorized tracking algorithm

The LHCb detector will be upgraded in 2021, where the hardware-level trigger will be replaced by a High Level Trigger 1 software trigger that needs to process the full 30 MHz data-collision rate. As part of the efforts to create a GPU High Level Trigger 1, tracking algorithms need to be optimized fo...

Descripción completa

Detalles Bibliográficos
Autor principal: Fernandez Declara, Placido
Lenguaje:eng
Publicado: 2019
Acceso en línea:http://cds.cern.ch/record/2699802
Descripción
Sumario:The LHCb detector will be upgraded in 2021, where the hardware-level trigger will be replaced by a High Level Trigger 1 software trigger that needs to process the full 30 MHz data-collision rate. As part of the efforts to create a GPU High Level Trigger 1, tracking algorithms need to be optimized for SIMD architectures in order to achieve high-throughput. We present a SPMD (Single Program, Multiple Data) version of Compass, a tracking algorithm optimized for SIMD architectures, vectorized using the Intel SPMD Program Compiler. This compiler and model allows to execute program instances in parallel, and allows to use exploit the SIMD lanes of CPUs using GPU-like source code, without the need of low-level details knowledge. It is able to target different vector widths, vector instructions sets and combine different levels of parallelism. We design the algorithm focusing on highly parallel architectures in mind, minimizing divergence and memory footprint while creating a data-oriented algorithm that is efficient for SIMD architectures. We vectorize the algorithm using the SPMD programming model, preserving the algorithm design and delivering the same physics efficiency as its GPU counterpart. We study the physics performance and throughput of the algorithm. We discuss the impact with different vector widths and instructions sets and compare it with the GPU implementation.