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.