Systems using computation graphs for flow solvers
AssigneeAnsys, Inc.
InventorsGeoffrey Alexander Main, Raunak Deepak Borker
Life of this patent
Estimating the term…
Abstract
An embodiment of a method can create a directed acyclic graph (DAG) from a programmer specified set of computation units to solve, in a computer program, physics based simulations of physical systems, and the DAG can be used to analyze and debug the computer program. In this method, the computer program can be created by automatically determining dependency relationships in the set of computation units and automatically schedule their execution. The method can also automatically allocate memory for the computation units.
Claims20
A method for creating software that performs physics simulations of physical systems, the method comprising:
- defining a set of computation units for simulating a physical system, each computation unit comprising one or more variables representing characteristics of the physical system, and the one or more variables comprising a set of input and output variables, wherein each computation unit comprises an equation having one or more variables including an input variable and an output variable;
- automatically determining a set of dependency relationships among the computation units based upon the variables in all of the computation units;
- automatically generating a representation of a schedule of execution for the computation units based on their determined dependencies;
- creating an executable representation of the computation units with an execution order specified by the schedule, the executable representation being stored as part of the software, wherein the set of input and output variables are specified in a set of one or more equations that define the dependencies, and the set of one or more equations are used in a simulation performed by the software when executed;
- and
- generating a directed acyclic graph (DAG) having a set of nodes representing the set of computation units, wherein the DAG is generated after automatically determining the set of dependency relationships and is based on the automatically determined set of dependency relationships, and, wherein, the DAG is a directed graph without any cycles.
A non-transitory machine readable medium storing executable program instructions which when executed by a data processing system cause the data processing system to perform a method for creating software that performs physics simulations of physical systems, the method comprising:
- receiving a set of computation units for simulating a physical system, each computation unit comprising one or more variables representing characteristics of the physical system, and the one or more variables comprising a set of input and output variables, wherein each computation unit comprises an equation having one or more variables including an input variable and an output variable;
- automatically determining a set of dependency relationships among the computation units based upon the variables in all of the computation units;
- automatically generating a representation of a schedule of execution for the computation units based on their determined dependencies;
- creating an executable representation of the computation units with an execution order specified by the schedule, the executable representation being stored as part of the software, wherein the set of input and output variables are specified in a set of one or more equations that define the dependencies, and the set of one or more equations are used in a simulation performed by the software when executed;
- and
- generating a directed acyclic graph (DAG) having a set of nodes representing the set of computation units, wherein the DAG is generated after automatically determining the set of dependency relationships and is based on the automatically determined set of dependency relationships, and, wherein, the DAG is a directed graph without any cycles.
Dependencies are inferred from the claim text.