.

.

.

.

.

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 a flexible and user-friendly interface such as the 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

Highlights...

  • Unified memory management for CPUs and GPUs with extended smart pointers.
  • BLAS-like functions enclosed to templated vectors and expression templates for simple and efficient vector operations.
  • Flexible parallel reduction and parallel scan for GPUs and multicore CPUs.
  • Parallel sorting including inplace sorting with user defined swapping.
  • Various types of matrices like dense, tridiagonal, multidiagonal and general sparse matrices based on number of different formats.
  • Lambda matrices  with matrix elements  defined by C++ lambda functions.
  • Segments - data abstraction of sparse matrix formats like CSR, Adaptive CSR, Ellpack, Sliced Ellpack, Chunked Ellpack, Bisection Ellpack.
  • Linear solvers - CG, BiCGStab,GMRES, parallel CWYGMRES, TFQMR, Jacobi, SOR.
  • Preconditioners of linear solvers - Jacobi, ILU0 (CPU only), ILUT( CPU only).
  • Runge-Kutta solvers - Euler (first order), Runge-Kutta-Merson (fourth order adaptive).
  • Orthogonal numerical grids.
  • Unstructured numerical meshes (including distributed) with import from Netgen, VTU, VTK, XMLVTK, PVTU and PVTK.
  • 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

    Partners and sponsors

    Acknowledgement

    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