Acta Polytechnica (Feb 2021)

TNL: NUMERICAL LIBRARY FOR MODERN PARALLEL ARCHITECTURES

  • Tomáš Oberhuber,
  • Jakub Klinkovský,
  • Radek Fučík

DOI
https://doi.org/10.14311/AP.2021.61.0122
Journal volume & issue
Vol. 61, no. SI
pp. 122 – 134

Abstract

Read online

We present Template Numerical Library (TNL, www.tnl-project.org) with native support of modern parallel architectures like multi–core CPUs and GPUs. The library offers an abstract layer for accessing these architectures via unified interface tailored for easy and fast development of high-performance algorithms and numerical solvers. The library is written in C++ and it benefits from template meta–programming techniques. In this paper, we present the most important data structures and algorithms in TNL together with scalability on multi–core CPUs and speed–up on GPUs supporting CUDA.

Keywords