Introducing HPCSeries: an open-source numeric kernel core (Fortran + C ABI)

Hello everyone,

I’d like to introduce HPCSeries, an open-source engine series focused on a reusable numeric core:

Kernels for arrays and time-series computation, implemented in Fortran and exposed via a stable C-compatible ABI.

What HPCSeries is

HPCSeries is designed around a deliberately narrow scope:

  • rolling/windowed kernels
  • reductions and grouped reductions
  • normalization and transform utilities
  • array helpers with explicit handling of edge cases

Design principles

  • Modern Fortran with ISO_C_BINDING
  • Stable C ABI with explicit status codes
  • Caller-owned memory
  • CPU-first, OpenMP-ready implementations

The goal is to provide predictable, reusable primitives that can be embedded in other systems (C/C++, Python bindings, domain-specific engines) without any hidden or implicit behavior.

In kernel-style workloads, practical speedups of roughly ~2× to 100× have been observed relative to non-vectorized or single-threaded baselines, depending on input size, memory layout, compiler, and hardware.

Why I’m posting here

I’m looking for technical feedback from the Fortran community, particularly on:

  • API boundaries and ABI design choices
  • Fortran implementation patterns
  • Correctness testing strategies
  • Performance methodology and assumptions

Public GitHub repo:

Project website:

14 Likes

Something I really needed instead of my terrible implementations. Thank you!

1 Like

hi @gronki thank you — We’re glad it’s useful.
If you have suggestions on the API or tests, We would appreciate the feedback.