Goal: keep behavior identical while migrating spline internals to a single shared implementation that can run on CPU and OpenACC (GPU) without host-device copies inside tight loops.
Scope:
- Provide one internal backend for 1D/2D/3D batch build + evaluation (including many-point APIs).
- Keep legacy routines available only for tests (oracle), not part of the public production API.
- Add complete coverage that compares new backend vs legacy (within dp tolerances) for periodic/nonperiodic and supported orders.
Downstream requirements:
- Document and support a workflow where downstream code enters a persistent OpenACC data region (coeff + inputs), calls libneo resident routines, and only updates to host at algorithm boundaries.
Notes: