You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Jonah Miller edited this page May 26, 2021
·
2 revisions
What are Spiner and Ports-of-Call? What are they good for?
Spiner is a performance portable library for accessing and interpolating on tabulated data. Spiner is based on a few important design decisions:
Interpolation methods are intrinsically tied to the data layout and structure on which the interpolation is performed. Therefore, a data file should contain information about how to interpolate. Spiner couples interpolation methods to data on disk and in memory.
One size does not fit all---Interpolation methods should be extensible.
It's not enough to run on CPUs. Interpolation will be required on GPUs and unknown emerging architectures.
Performance matters.
The burden on a host code that includes Spiner should be minimal. As few a dependencies as possible, with as little additional complexity in the build system as possible.
Spiner is the interpolation tool. Ports-of-Call is a sub-tool within spiner that helps enable the portability aspect.