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: