GPU Automatic Differentiation for Multi-Physics Simulation Sensitivity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing automatic differentiation techniques for multi-physics simulations are cumbersome and inefficient, particularly when dealing with complex simulations, as they require substantial I/O activity and do not adapt well to execution on graphics processing units (GPUs).
Innovation Solution
An automatic differentiation technique that processes multi-physics simulation software entirely on GPUs, using a factory framework to produce automatically differentiated code mapped for efficient execution on GPU pipeline architectures, reducing I/O activity and enhancing performance by computing derivatives directly on GPUs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If source transformation is used to parse and differentiate simulation code to generate optimized C++ code for GPUs, then execution performance on specialized hardware is improved, but device complexity and ease of manufacture deteriorate due to cumbersome compilation and maintenance requirements
Solution Approach 1:
The patent creates a differentiated copy of the simulation code that automatically tracks computational graphs and generates execution plans. This copy mechanism allows the system to preserve the original code while generating optimized versions with automatic differentiation, avoiding manual code generation complexity.
Solution Approach 2:
The patent replaces manual code parsing and differentiation mechanisms with an automatic differentiation system that uses computational graphs and chain rule algorithms. This substitution eliminates the need for complex manual code generation while maintaining optimized execution performance on GPUs.
2Measurement precision
If tape-based sequential logging is used to record calculations for reverse mode AD, then measurement precision is improved, but productivity deteriorates due to substantial I/O activity and poor adaptability to GPU execution
Solution Approach 1:
The patent replaces sequential tape-based logging with in-memory computational graphs that directly represent the simulation code's execution structure. This substitution eliminates substantial I/O activity while maintaining the ability to compute derivatives with high precision through reverse mode AD on GPU.
Solution Approach 2:
The patent transitions from sequential one-dimensional tape logging to a multi-dimensional computational graph structure that captures parallel execution dependencies. This dimensional change enables efficient GPU execution by representing computations in a format that leverages parallel processing capabilities.
3Measurement precision
If automatic differentiation is applied to complex multi-physics simulations, then measurement precision is improved for sensitivity analysis, but device complexity worsens due to the need to differentiate arbitrarily complex code
Solution Approach 1:
The patent creates a differentiated copy of the simulation code that automatically tracks computational graphs. This copying mechanism allows the system to handle arbitrarily complex multi-physics simulations by preserving the original code structure while adding automatic differentiation capabilities without manual intervention.
Solution Approach 2:
The patent implements a universal automatic differentiation framework that can handle any simulation code regardless of complexity. This framework uses computational graphs and chain rule algorithms that work uniformly across different physics domains, eliminating the need for domain-specific differentiation approaches.
Data Source
AI summary
An automatic differentiation (AD) technique and implementation processes multi-physics solver code entirely on graphics processing units (GPUs) to automatically differentiate one or more outputs of the code with respect to one or more inputs. The technique provides a “factory” framework that ingests arbitrarily complex solver code to produce a version of the code that is automatically differentiated (AD code) and mapped to the GPUs. The technique provides a derivative of the solver code output with respect to the inputs that enables analysis of the output of the computed solver code with initially provided inputs coherent with sensitivity analysis of that output as the inputs are changed. The adjoint information derived from solver code execution (AD code) computed by the AD technique may also be used to estimate one or more estimates of the numerical error in a solution to the physical simulation.


