Multivariate Functional Approximation
We are investigating modeling discrete scientific data by a multivariate functional approximation (MFA)
based on a tensor product of nonuniform B-spline (NURBS) functions.
The model is an approximation that offers lossy compression combined
with geometric and analytic properties making it useful for further analysis
without translating back to the discrete form. NURBS are piecewise-continuous,
differentiable, have local support, and are invariant to affine transformations.
The NURBS model is efficiently represented by control data consisting of control
points and knots.
Watch a short video overview here
A key decision is the choice of basis function
family. Fourier, wavelet, Tucker, radial, and geometric (i.e., spline) bases
are commonly used; We use geometric (NURBS) bases for the MFA because they
mirror the space-time properties in the original data and retain these
geometric properties in analytics and visualization. Computing geometric
bases requires minimal memory overhead, and the parallel decomposition of
the original space-time domain is identical in the geometric functional
domain, an important consideration for minimizing data movement at scale.
We approximate both geometry (space-time vertex positions) and scientific
attributes (pressure, density, temperature, etc.) in the same high-dimensional representation.
Rather than fitting all the dimensions simultaneously, it is less expensive to decompose the dimensions and fit each dimension separately.
Beginning with an initial knot distribution for the minimum number of control
points, we adaptively add control points and knots until all the evaluated
points in each span of knots are within tolerance of the original points. Knot spans
that are out of tolerance are subdivided, and the MFA is recomputed.
Computation of the MFA is parallelized on three levels. Block parallelism is
used to decompose the domain into blocks and execute each block in
distributed-memory compute nodes of a supercomputer or computing cluster.
Within a block, task parallelism is utilized to fit curves in thread-level
tasks. Within a curve, linear algebra operations, e.g., to invert matrices, are
vectorized.
The MFA can be used directly for subsequent data analysis and visualization,
distinguishing it from other basis representations and also from compression
algorithms. Such operations are possible directly from the MFA without reverting
to the original discrete data model, and moreover they are possible in the full
order and accuracy of the model, without linear interpolation or finite
difference estimation.
The table below shows adaptive fitting of a 3-d turbulent combustion dataset. We varied e_max and
measured the output number of control points, compression factor, resulting
error, number of iterations, and modeling time.