An improved algorithm for in situ adaptive tabulation

https://doi.org/10.1016/j.jcp.2008.09.015Get rights and content

Abstract

In situ adaptive tabulation (ISAT) is a proven storage/retrieval method which efficiently provides accurate approximations to high-dimensional functions which are computationally expensive to evaluate. Previous applications of ISAT to computations of turbulent combustion have resulted in speed-ups of up to a thousand. In this paper, improvements to the original ISAT algorithm are described and demonstrated using two test problems. The principal improvements are in the table-searching strategies and the addition of an error checking and correction algorithm. Compared to an earlier version of ISAT, reductions in CPU time and storage requirements by factors of 2 and 5, respectively, are observed for the most challenging, 54-dimensional test problem.

Introduction

In computer simulations in different disciplines and applications, it is often required to evaluate a function (denoted by f(x)) very many times, for different values of the input, x. For example, if time-evolving partial differential equations are being solved by a finite-difference method, then some function f may need to be evaluated for each grid node on each time step based on the current values of the dependent variables at the nodes. If the function f is computationally expensive to evaluate, then these evaluations can dominate the overall computation cost, and it is natural to seek less expensive ways to evaluate f, or to obtain an acceptably accurate approximation.

The above problem of the efficient approximation of a function f(x) is extremely general and can be quite varied depending on: the dimensionality, nx, of the input x; the dimensionality, nf, of the output, f; the distribution of the values of x; the smoothness of the function f; the number of evaluations required; the accuracy required; and the available computer memory. For low-dimensional problems (e.g. nx3), often an effective strategy is to use structured tabulation. In a pre-processing stage, values of f(x) are tabulated; and then, during the simulation, approximate values of f are obtained by interpolation in the table. Both the work and the storage necessary to construct the table increase exponentially with nx, which is why this approach is restricted to low-dimensional problems.

Since its introduction in 1997 [1] the in situ adaptive tabulation (ISAT) algorithm has proved very effective for a class of higher-dimensional problems (e.g. nx50). The original application of ISAT was in the particle method used to solve the probability density function (PDF) equations for turbulent combustion [2]. In that case, x consists of the thermochemical state of a particle at the beginning of the time step (of duration Δt); and f represents the composition at the end of the step (resulting from adiabatic, isobaric reaction). Evaluating f(x) involves solving a stiff set of nf ordinary differential equations (ODEs) for a time Δt. Typically this requires of order 104μs of CPU time, whereas ISAT yields an accurate approximation in of order 10μs, resulting in a thousandfold speed-up. Based on these timings, if f(x) needs to be evaluated for each of 106 particles on each of 103 time steps, then integrating the ODEs requires over 100 days of CPU time, whereas the same task is accomplished by ISAT in under 3 hours.

The ISAT algorithm continues to be heavily used for combustion problems both in the authors’ group (e.g. [3], [4], [5], [6]) and by others (e.g. [7], [8], [9]); and the algorithm has been incorporated into the ANSYS/FLUENT software [3], [10]. ISAT has also been used in chemical engineering [11], [12], [13], in solid mechanics [14], control [15] and the study of thin films and surface reaction [16], [17]. Several variants of ISAT have been proposed and investigated [18], [19], [20], [21], [22], [23], [24]. Other methods that have been used to address the same problem include: artificial neural networks [25], [26], [27]; high-dimensional model representation [28]; PRISM [29]; orthogonal polynomials [30]; and kriging [31].

The purpose of this paper is to describe and demonstrate several new additions to the original ISAT algorithm, which significantly enhance its performance. The next section provides an overview of the ISAT algorithm, and then the new components are described in Sections 3 Retrieve search, 5 Adding. In Section 6, quantitative testing of the algorithm is performed to demonstrate the efficacy of the new methods and to compare the computational performance with a previous implementation of ISAT. (Further tests are reported in [32], [33].)

The ISAT algorithm makes extensive use of ellipsoids and hyper-ellipsoids (which, for simplicity, are referred to as ellipsoids, regardless of the dimension of the space). All of the algorithms used in ISAT involving ellipsoids are described in [34].

Section snippets

Overview of the ISAT algorithm

The purpose of ISAT is to tabulate a function f(x), where x and f are of dimension nx and nf, respectively. Given a query, xq, ISAT return fa(xq) – an approximation to f(xq). It is assumed that f and x are appropriately scaled, with variations of order unity, so that the two-normε=fa(xq)-f(xq),is an appropriate measure of the approximation error. (There is no difficulty in using a more general definition of the error.)

An essential aspect of ISAT is that the table is built up, not in a

Retrieve search

Given a query xq, the objective of the retrieve search is to identify any EOA which covers xq. There may be zero, one or more such EOAs. If at least one EOA covers xq, then the search process is deemed to be complete if it is guaranteed to identify one such EOA: otherwise it is incomplete. If the search identifies a covering EOA it is deemed to be successful. Any search strategy inevitably involves testing to determine whether or not a particular EOA covers the query point xq. This testing is

EOA growing

If the retrieve attempt fails, then some leaves are selected as candidates for having their EOAs grown. We describe here the “grow search” performed to identify candidate leaves, and the subsequent EOA growth (and other modifications to the leaf). The treatment used is heuristic, and is the result of a good deal of experimentation with alternative implementations and variants. The fundamental reason for the need for heuristics is that the region of accuracy (ROA) is not in all circumstances

Adding

On a given query, if the retrieve and grow attempts fail, and if the table is not full, then a new entry is added to the table. (The treatment used when the table is full is discussed at the end of this section.) The primary operations involved in an “add” are the initialization of the new leaf (EOA, EOI, etc.) and its insertion into the various data structures. These operations are now outlined.

Performance of ISAT

Comprehensive testing of the ISAT algorithm has been performed for two test cases of a partially-stirred reactor (PaSR). The PaSR test cases are described in the first sub-section. Then test results are presented on the performance of ISAT, including the incurred error, CPU time per query, and number of table entries. Different variants of the ISAT implementation, and different values of various parameters are investigated, with the objectives of assessing the efficacy of different components

Conclusions

In situ adaptive tabulation (ISAT) has proved to be an effective method to reduce the computer time required to evaluate (approximately) high-dimensional functions, f(x). In this paper, several new algorithms for ISAT are described and demonstrated. These include: new search strategies (MRU, MFU, EBT); the use of low-dimensional affine spaces to reduce the cost of searching; ellipsoids of inaccuracy (EOIs) to identify candidates for growing; and error checking and correction (ECC).

The

Acknowledgments

For technical discussions and suggestions, the authors are grateful to several colleagues at Cornell, especially to Biswanath Panda, Zhuyin Ren and Paul Chew. This research was supported in part by the National Science Foundation through Grant CBET-0426787. This research was conducted using the resources of the Cornell University Center for Advanced Computing, which receives funding from Cornell University, New York State, the National Science Foundation, and other leading public agencies,

References (43)

Cited by (141)

  • Learning stiff chemical kinetics using extended deep neural operators

    2024, Computer Methods in Applied Mechanics and Engineering
View all citing articles on Scopus
View full text