Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Graph-based Reversible Evaluation and Tangents Library

Software ·
DOI:https://doi.org/10.11578/dc.20260112.3· OSTI ID:code-173099 · Code ID:173099
 [1]
  1. Lawrence Livermore National Laboratory (LLNL), Livermore, CA (United States)
GRETL is a C++ library for evaluation, re-evaluation and algorithmic differentiation of functional operations on an arbitrary computational graph with limited memory usage. Similar to popular machine learning frameworks in Python, like PyTorch and JAX, it tracks and stores both operations and output data as functions are evaluated. Once this composition of functions is built up, the entire chain of operations can be back propagated to compute sensitivities of the final result with respect to any number of inputs. In contrast to most machine learning applications, memory usage becomes the bottleneck for back propagation in many physics applications, especially for time-dependent PDEs. Dynamic check pointing becomes essential. An important distinguishing feature of GRETL is its ability to limit the maximum memory usage by automatically dynamic checkpointing the data output for each graph operation (see Wang, Moin, Iaccarino, 2009). During backpropagation, parts of the graph that are no longer in memory are automatically re-evaluated from upstream checkpointed states as needed for derivative sensitivity calculations (or more precisely, for vector-Jacobian products). GRETL is particularly beneficial for applications, such as coupled multi-physics, where deriving adjoint-based sensitivities and managing checkpoint memory across modules becomes onerous. Cases which can be readily handled by the GRETL library include: different time-integration algorithms per physics (e.g., coupled predictor-corrector algorithms, IMEX, etc.), sub-cycling, asynchronous integrators, state dependent timestep sizes, iterative solvers and coupling algorithms, controller algorithms, and more.
Short Name / Acronym:
GRETL
Site Accession Number:
LLNL-CODE-2013480
Software Type:
Scientific
License(s):
BSD 3-clause "New" or "Revised" License
Research Organization:
Lawrence Livermore National Laboratory (LLNL), Livermore, CA (United States)
Sponsoring Organization:
USDOE National Nuclear Security Administration (NNSA)

Primary Award/Contract Number:
AC52-07NA27344
DOE Contract Number:
AC52-07NA27344
Code ID:
173099
OSTI ID:
code-173099
Country of Origin:
United States

Similar Records

ExaTN: Scalable GPU-Accelerated High-Performance Processing of General Tensor Networks at Exascale
Journal Article · Wed Jul 06 00:00:00 EDT 2022 · Frontiers in Applied Mathematics and Statistics · OSTI ID:2325498

Related Subjects