Efficient data structures
In TNL, you can find set of data structures which are designed to be efficient for algorithms running on both CPUs and GPUs. Such data structures include arrays, dense matrices, sparse matrices (diagonal, tridiagonal, multidiagonal, CSR, Ellpack, Sliced Ellpack) but also orthogonal numerical grids together with conforming unstructured numerical meshes.
With TNL, you can store the numerical meshes on GPU, which makes assembly of linear systems on GPU much more efficient. TNL offers unified, matrix format independent, interface for this purpose.