-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Jonah Miller edited this page May 26, 2021
·
2 revisions
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.