A memory-efficient adjoint method to enable billion parameter optimization on a single GPU in dynamic problems
摘要
On modern GPUs, dynamic optimization is currently limited by sensitivity computations that require information from full forward and adjoint wave fields. Since forward and adjoint solutions are computed in opposing time directions, the forward solution must be stored, requiring substantial memory even with checkpointing or data compression techniques. As a result, the problem is memory bound rather than bound by wall clock time when working with modern GPU-based implementations that have limited memory capacity. To overcome this limitation, we introduce a new approach to approximating sensitivity computations based on the adjoint method (for self-adjoint problems, thus excluding attenuating effects) that relies on the principle of superposition. The approximation allows an iterative computation of the sensitivity, reducing the memory burden to that of the solution at a small number of time steps, i.e., to the number of degrees of freedom. This enables sensitivity computations for problems with billions of degrees of freedom on current GPUs, such as the A100 from NVIDIA