Skip to main content

Python bindings for the Template Numerical Library

Project description

PyTNL

PyTNL provides Python bindings for the Template Numerical Library (TNL) — a modern C++ library for building efficient numerical solvers and HPC algorithms.

TNL targets multicore CPUs, GPUs (CUDA and ROCm/HIP) and distributed-memory systems (MPI) behind a unified programming model. PyTNL exposes selected TNL building blocks to Python, enabling Python-driven workflows while keeping performance-critical kernels in compiled backends.

Scope

PyTNL is intended for:

  • interoperability with TNL components where Python bindings are available,
  • prototyping and orchestration of numerical solvers or HPC workflows,
  • combining Python ergonomics with native code performance characteristics.

The exact set of exported classes and functions may evolve over time.

Highlights

TNL (and therefore PyTNL where bindings exist) provides building blocks such as:

  • CPU/GPU-aware data structures and memory utilities
  • parallel primitives (iteration patterns, reductions, scans)
  • linear algebra foundations (templated vectors, dense and sparse matrices, sparse data formats (segments))
  • iterative linear solvers and preconditioners (CG, BiCGStab, GMRES, Jacobi, etc.)
  • ODE solvers (Euler, Fehlberg, Kutta, Heun, Runge-Kutta-Merson, Matlab, etc.)
  • structured grid and unstructured mesh data structures (including distributed) and utilities, including import from FPMA, Netgen, VTK, VTU and PVTU formats

Documentation

PyTNL documentation (including installation instructions) is hosted on GitLab Pages: https://tnl-project.gitlab.io/pytnl/

License

PyTNL is provided under the terms of the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytnl-0.0.12.tar.gz (266.2 kB view details)

Uploaded Source

File details

Details for the file pytnl-0.0.12.tar.gz.

File metadata

  • Download URL: pytnl-0.0.12.tar.gz
  • Upload date:
  • Size: 266.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for pytnl-0.0.12.tar.gz
Algorithm Hash digest
SHA256 6c2a2ec68dc7c55370b99e44a9243a6033bd5492155b1cedd939107df0ab364c
MD5 3ffecfa53e3c57a730cc916671141537
BLAKE2b-256 51d9c98aafd3776a23014f68184bde5fb041ca16b68d18c2beadb685c3fae1c5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page