TL;DR
ModelingToolkit (MTK) is a symbolic, composable system that transforms equations to produce stable, efficient, and parallelized models, integrating graph algorithms and machine learning for accelerated simulation.
Contribution
MTK introduces a novel, equation-based modeling framework that applies graph transformations for automatic parallelization, index reduction, and surrogate model generation without user code modifications.
Findings
MTK achieves 590x speedup over Modelica on HVAC models.
Automated graph algorithms improve model stability and performance.
Surrogate models outperform traditional solvers in accuracy and speed.
Abstract
Getting good performance out of numerical equation solvers requires that the user has provided stable and efficient functions representing their model. However, users should not be trusted to write good code. In this manuscript we describe ModelingToolkit (MTK), a symbolic equation-based modeling system which allows for composable transformations to generate stable, efficient, and parallelized model implementations. MTK blurs the lines of traditional symbolic computing by acting directly on a user's numerical code. We show the ability to apply graph algorithms for automatically parallelizing and performing index reduction on code written for differential-algebraic equation (DAE) solvers, "fixing" the performance and stability of the model without requiring any changes to on the user's part. We demonstrate how composable model transformations can be combined with automated data-driven…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
