TNL aims to be STL for HPC

TNL is a collection of building blocks that facilitate the development of efficient numerical solvers and HPC algorithms. It is implemented in C++ using modern programming paradigms in order to provide flexible and user friendly interface such like STL library, for example. TNL provides native support for modern hardware architectures such as multicore CPUs, GPUs, and distributed systems, which can be managed via a unified interface.

Join us at TNL Gitlab


  • BLAS-like functions enclosed to templated vectors and expression templates for simple and efficient vector operations
  • Flexible parallel reduction for GPUs and multicore CPUs
  • Various types of matrices - dense, tridiagonal, multidiagonal and general sparse matrices based on number of different formats like CSR, Ellpack, Sliced Ellpack, Chunked Ellpack, Bisection Ellpack for the best performance tunnig
  • SolversCG, BiCGStab,GMRES, parallel CWYGMRES, TFQMR, Jacobi, SOR (CPU only)
  • PreconditionersJacobi, ILU0 (CPU only), ILUT( CPU only)
  • Runge-Kutta solvers - Euler (first order), Runge-Kutta-Merson (fourth order adaptive)
  • Orthogonal numerical grids and unstructured numerical meshes
  • Image formats - DICOM (via DCMTK), JPEG (via libjpeg), PNG (via libpng), PGM

Try out...

To try out the latest version of TNL, just copy-paste the following lines to your Unix terminal:

git clone https://mmg-gitlab.fjfi.cvut.cz/gitlab/tnl/tnl-dev.git

Users of Arch Linux may install TNL from Arch Linux User Repository.

Get involved...

TNL is not a library of one or a few numerical methods. We are interested in implementing new methods and data structures which may profit from templated design and support of modern hardware. If you feel it the same way you are very welcome to ...

Join us

Get in touch...

If you have questions or would like to join our team please do not hesitate to get in touch.

TNL Facebook group

TNL on Gitter
For TNL users and developers, there is a forum.

TNL users forum


    This project was supported by...

    Analysis of flow character and prediction of evolution in endovascular treated arteries by magnetic resonance imaging coupled with mathematical modeling, project no. NV19-08-00071 of Ministry of Health of the Czech Republic, 2019-2022.

    Research Center for Informatics, OPVVV project no. CZ.02.1.01/0.0/0.0/16_019/0000765 of Ministry of Education, Youth and Sports of the Czech Republic, 2018-2022.

    Large structures in boundary layers over complex surfaces under high Reynolds numbers, project no. 18-09539S of the Czech Science Foundation, 2017-2019.

    Quantitative Mapping of Myocard and of Flow Dynamics by Means of MR Imaging for Patients with Nonischemic Cardiomyopathy - Development of Methodology, project No. 15-27178A of Ministry of Health of the Czech Republic, 2015-2018.

    TNL Code of Conduct

    Code of Conduct

    The TNL project welcomes and encourages participation by everyone. Therefore, we have adopted a code of conduct in order to create an open and welcoming environment for everyone, regardless of age, body size, disability, ethnicity, gender, level of experience, education, nationality, race, religion, or sexual identity and orientation. No matter how you identify yourself or how others perceive you, you are welcome in our community. For more details see ...

    TNL Code of Conduct