Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Modern Fortran Linear Algebra API: Tests and Examples for FortranCon 2025

License

NotificationsYou must be signed in to change notification settings

perazz/fortran-lapack-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Presentation Materials and Examples

Authors: F. Perini, J. Vandenplas, J. Alvesz, O. Certik

Abstract

Modern scientific workloads demand linear-algebra kernels that are both performant and expressive. We present the new precision-agnostic BLAS and LAPACK layer being upstreamed to the Fortran Standard Library (stdlib). The reference codes have been fully modernized and templated, delivering real and complex arithmetic in 32-, 64-, 80- and 128-bit kinds, and supporting the 64-bit integer interface to scale past two-billion-element arrays and support vendor-optimised back-ends. With one macro, the whole interface can run with either our agnostic backend or any optimized third-party library (OpenBLAS, MKL, Accelerate, etc.)

Built on these kernels, we provide a NumPy/SciPy-style API that retains Fortran's zero-overhead semantics: pure functions, allocation-free subroutines and intuitive operators for determinants, inverses, factorizations and other advanced solvers. A lightweight state handler offers optional, zero-cost error handling suitable for both scripting-style and HPC codes.

The talk will cover design challenges, templating strategy, one-macro integration and head-to-head performance against Python front-ends, and highlights current community contributions and roadmap items. Attendees will learn how to adopt, extend and benchmark this next-generation Fortran linear-algebra stack, positioning stdlib as an everyday alternative to established numerical platforms.

Repository Structure

.├── benchmarks/        # Performance comparisons (PolyBench-based)│   ├── solve/        # Linear system solver: Fortran stdlib vs NumPy│   ├── BDF/          # BDF coefficient computation (quadruple precision)│   └── stdlib128/    # Custom stdlib with real128 support├── snippets/          # Presentation slide generation scripts├── presentation/      # PowerPoint presentation (PPTX)├── media/             # Visualizations and repository statistics│   └── stars/        # Star history and activity plots├── CLAUDE.md          # Repository maintenance guidelines└── README.md          # This file

Benchmarks

Performance comparisons demonstrating stdlib_linalg performance with multiple backends:

  • solve: Linear system solver (Ax=b) - Fortran stdlib vs NumPy with internal/Accelerate/OpenBLAS
  • BDF: Backward Differentiation Formula coefficients in quadruple precision

All Fortran benchmarks use FPM (Fortran Package Manager) with build profiles for backend selection. See subdirectory READMEs for details.

Presentation

The main presentation is located inpresentation/FedericoPerini_PrecisionAgnostic_BLAS_LAPACK.pptx (19 slides). Code snippet images and slide generation scripts are insnippets/.

Repository Statistics

Themedia/stars/ directory contains scripts for generating repository visualizations. Seemedia/stars/README.md.

Related Links

License

Examples and documentation in this repository are provided under the MIT License unless otherwise specified.

Contact

For questions or discussions about this presentation:

About

Modern Fortran Linear Algebra API: Tests and Examples for FortranCon 2025

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp