Scientific software fails in a particular way. The science is sound, the results are published — and the code builds on exactly one machine, against libraries that no longer ship, maintained by the one person who remembers why.
We take multi-domain scientific codebases and make them buildable, portable, testable, and handed back to your team — without losing the numerics that made them worth keeping.
CyPCA has delivered scientific software work for private industry, academic research groups, and military institutions — environments where reproducibility, provenance, and air-gapped deployment are requirements, not preferences.
Legacy modernization
Decades-old scientific C++ brought to current standards — C++98 through C++20, Qt3 through Qt6, CMake 2.6 through modern target-based builds. Compute code decoupled from GUI toolkits so numerics link headless, and dead vendored trees removed from version control.
The science survives; the accidental complexity does not
Packaging & dependency closure
Hermetic, source-built dependency closures for the hard end of the scientific stack — exact-arithmetic geometry, FFT, HDF5, BLAS/LAPACK, visualization toolkits, GUI frameworks. Everything SHA-pinned, installable offline from a local mirror, with no system package manager in the loop.
The same build on a workstation, a cluster, and an air-gapped host
Cross-platform & browser delivery
One recipe set targeting Linux, macOS, Windows, the BSDs, WebAssembly and WASI — with cross-toolchains provisioned rather than assumed. A layered core/renderer/GUI split lets the same codebase ship as a desktop app, a headless server job, and an interactive demo in a browser tab.
Reach without a second codebase
Bindings & embedded scripting
Python bindings that wrap the real C++ objects — no shadow object model — with zero-copy NumPy views and correct buffer lifetime pinning. Embedded CPython inside desktop applications, with disciplined GIL handling, so scripts drive a live scene instead of a detached copy.
One library your C++ and Python users both use
Acceleration & numerical performance
CUDA kernels, GPU-resident state, and swappable BLAS/LAPACK/FFT providers — but the algorithm first. Reformulating a distance-field method delivered an 18–27× speedup that no amount of extra hardware substitutes for. Optimization follows measurement, not intuition.
Wins you can attribute, not just observe
Porting with a fidelity contract
Moving research code from Python/NumPy prototypes into production C++/CUDA under a published parity contract: which stages are bit-identical, which are float-equivalent, and which can only be judged behaviorally — each with its own acceptance test, so “it still works” is a measurement.
A port you can defend in review
Handed back, not held. Modernization is only finished when your team can build, test, and release without us: pinned dependencies, CI that actually runs the tests, coverage gates that ratchet rather than decorate, and the platform failure modes written down. We would rather leave you the capability than the retainer.
