EPJ Web of Conferences (Jan 2019)

Recent progress with the top to bottom approach to vectorization in GeantV

  • Amadio Guilherme,
  • Ananya,
  • Apostolakis John,
  • Bandieramonte Marilena,
  • Behera Shiba,
  • Bhattacharyya Abhijit,
  • Brun René,
  • Canal Philippe,
  • Carminati Federico,
  • Cosmo Gabriele,
  • Drohan Vitaliy,
  • Elvira Daniel,
  • Genser Krzysztof,
  • Andrei Gheata,
  • Mi-haela Gheata,
  • Goulas Ilias,
  • Hariri Farah,
  • Ivanchenko Vladimir,
  • Karpinski Przemislaw,
  • Khattak Gulrukh,
  • Konstantinov Dmitri,
  • Kumawat Harphool,
  • Lima Guilherme,
  • Martínez Castro Jesús,
  • Mendez Patricia,
  • Miranda Aguillar Aldo,
  • Nikolics Katalin,
  • Novak Mihaly,
  • Elena Orlova,
  • Pedro Kevin,
  • Pokorski Witold,
  • Ribon Alberto,
  • Dmitry Savin,
  • Ryan Schmitz,
  • Sehgal Raman,
  • Shadura Oksana,
  • Sharan Shruti,
  • Vallecorsa Sofia,
  • Wenzel Sandro,
  • Yung Jun Soon

DOI
https://doi.org/10.1051/epjconf/201921402007
Journal volume & issue
Vol. 214
p. 02007

Abstract

Read online

SIMD acceleration can potentially boost by factors the application throughput. Achieving efficient SIMD vectorization for scalar code with complex data flow and branching logic, goes however way beyond breaking some loop dependencies and relying on the compiler. Since the refactoring effort scales with the number of lines of code, it is important to understand what kind of performance gains can be expected in such complex cases. We started to investigate a couple of years ago a top to bottom vectorization approach to particle transport simulation. Percolating vector data to algorithms was mandatory since not all the components can internally vectorize. Vectorizing low-level algorithms is certainly necessary, but not sufficient to achieve relevant SIMD gains. In addition, the overheads for maintaining the concurrent vector data flow and copy data have to be minimized. In the context of a vectorization R&D for simulation we developed a framework to allow different categories of scalar and vectorized components to co-exist, dealing with data flow management and real-time heuristic optimizations. The paper describes our approach on coordinating SIMD vectorization at framework level, making a detailed quantitative analysis of the SIMD gain versus overheads, with a breakdown by components in terms of geometry, physics and magnetic field propagation. We also present the more general context of this R&D work and goals for 2018.