Software

CSDL

Modeling framework.

Version 0.1

CSDL, the Computational System Design Language, represents numerical models as graphs of mathematical operations. Its compiler generates model evaluations and adjoint-based sensitivities from the same description, reducing the need to implement derivatives separately [1]. The linked CSDL_alpha implementation continues the lab's graph-native modeling research and provides the modeling foundation for several lab packages.

Source code is transformed into a computational graph and then into executable code that returns model outputs and total derivatives.
CSDL transforms source code into a computational graph, applies graph transformations, and generates executable model evaluations and total derivatives. [1]

References

  1. Victor Gandarillas, Anugrah Jo Joshy, Mark Z. Sperry, Alexander K. Ivanov, John T. Hwang. A Graph-Based Methodology for Constructing Computational Models that Automates Adjoint-Based Sensitivity Analysis. Structural and Multidisciplinary Optimization 67.5 (2024), p. 76, 2023.
    PDF
  2. Mark Sperry, Kavish Kondap, John T. Hwang. Automatic adjoint sensitivity analysis of models for large-scale multidisciplinary design optimization. AIAA AVIATION 2023 Forum, 2023.
    DOIPDF
  3. Mark Sperry, Kavish Kondap, John T. Hwang. Static Task Scheduling for Parallel Execution of Large-Scale Multidisciplinary Design Optimization Models. AIAA SCITECH 2024 Forum, 2024.
    DOIPDF

Research connections

Related to CSDL