Improved Performance of HELIOS++ using High Performance Computing Techniques

The software HELIOS++ simulates the laser scanning of a given virtual scene that can be composed of different spatial primitives and 3D meshes with distinct granularity. The high computational cost of this type of simulation software demands efficient computational solutions. Classical solutions based on GPU are not well suited when irregular geometries compose the scene combining different primitives and physics models because they lead to different computation branches. In this paper, we explore the usage of parallelization strategies based on static and dynamic workload balancing and heuristic optimization strategies to speed up the ray tracing process based on a k-dimensional tree (KDT). Using HELIOS++ as our case study, we analyze the performance of our algorithms on different parallel computers, including the CESGA FinisTerrae-II supercomputer. There is a significant performance boost in all cases, with the decrease in computation time ranging from 89.5% to 99.4%. Our results show that the proposed algorithms can boost the performance of any software that relies heavily on a KDT or a similar data structure, as well as those that spend most of the time computing with only a few synchronization barriers. Hence, the algorithms presented in this paper improve performance, whether computed on personal computers or supercomputers.

Global speedups between best strategy and simple sequential for different HELIOS++ input scenes.

Find all details in the full paper:

Esmorís, A. M., Yermo, M., Weiser, H., Winiwarter, L., Höfle, B. & Rivera, F.F. (2022): Virtual LiDAR simulation as a high performance computing challenge: Towards HPC HELIOS++. IEEE Access 10, pp. 105052-105073.


About HELIOS++

HELIOS++ is an open source software project with a modern implementation in C++, including Python bindings to allow easy use in existing workflows. The code and ready-for-use precompiled versions are hosted on GitHub. We invite interested researchers and developers to contribute to further development of this project by submitting pull requests. We also host an extensive wiki, where the complete functionality of HELIOS++ is documented.

HELIOS++ is actively developed in great collaboration with CITIUS (Centro Singular de Investigacìon en Tecnoloxías Intelixentes da Universidade de Santiago de Compostela (USC))

If you use HELIOS++ in your work, please cite:

HELIOS++ is funded by the German Research Foundation (DGF) in frame of the SYSSIFOSS project (funding code: 411263134) and the VirtuaLearn3D project (funding code: 496418931), and by the Federal Ministry for Education and Research (BMBF) in frame of the LOKI project (funding code: 03G0890A).