Towards a high performance geometry library for particle-detector simulations

Towards a high performance geometry library for particle-detector simulations
复制标题

面向粒子探测器模拟的高性能几何库

DOI:
10.1088/1742-6596/608/1/012023
复制
发表时间:
2015
期刊:
Journal of Physics: Conference Series
影响因子:
--
通讯作者:
S. Wenzel
S. Wenzel
中科院分区:
--
文献类型:
--
作者:
J. Apostolakis;M. Bandieramonte;G. Bitzes;R. Brun;P. Canal;F. Carminati;G. Cosmo;J. D. F. Licht;L. Duhem;V. Elvira;A. Gheata;S. Jun;G. Lima;T. Nikitina;M. Novak;R. Sehgal;O. Shadura;S. Wenzel

文献摘要

被引文献

相似文献

HEP计算中的软件组件的线程并行化和单指令多数据(SIMD)“向量化”已经成为充分受益于当前和未来计算硬件的必要条件。在这方面,Geant-Vector/GPU模拟项目旨在重新设计用于模拟粒子通过探测器的当前软件,以增加总体事件吞吐量。作为该领域的核心模块之一,几何库起着核心作用,其算法的矢量化将是实现良好CPU性能的基石之一。在这里,我们报告在矢量化的形状基元,以及在应用新的C++模板的优化现有的代码在Geant 4,根或USolids几何库中所取得的进展。我们将重点介绍我们的软件开发方法,旨在为库的所有用例提供优化的代码(例如,单粒子和多粒子API),并支持不同的架构(CPU和GPU),同时保持代码库小,可管理和可维护。我们报告一个通用的和模板化的C++几何库作为AIDA USolids项目的延续。从这些开发中获得的经验将有益于模拟软件的其他部分,例如物理库的优化,并且可能有益于实验软件栈的其他部分,例如重建和分析。
Thread-parallelisation and single-instruction multiple data (SIMD) ”vectorisation” of software components in HEP computing has become a necessity to fully benefit from current and future computing hardware. In this context, the Geant-Vector/GPU simulation project aims to re-engineer current software for the simulation of the passage of particles through detectors in order to increase the overall event throughput. As one of the core modules in this area, the geometry library plays a central role and vectorising its algorithms will be one of the cornerstones towards achieving good CPU performance. Here, we report on the progress made in vectorising the shape primitives, as well as in applying new C++ template based optimisations of existing code available in the Geant4, ROOT or USolids geometry libraries. We will focus on a presentation of our software development approach that aims to provide optimised code for all use cases of the library (e.g., single particle and many-particle APIs) and to support different architectures (CPU and GPU) while keeping the code base small, manageable and maintainable. We report on a generic and templated C++ geometry library as a continuation of the AIDA USolids project. The experience gained with these developments will be beneficial to other parts of the simulation software, such as for the optimisation of the physics library, and possibly to other parts of the experiment software stack, such as reconstruction and analysis.