EDL
EDL (Equation Definition Language) is a domain-specific language used in AcoDyn to define custom solvers built on our high-performance finite volume method (FVM) toolkit. Through a comprehensive API, EDL exposes core AcoDyn functionalities such as the discretization of governing equations and the solution of linear systems using a variety of numerical methods. While AcoDyn is written in Rust, EDL draws inspiration from Rust’s syntax while deliberately simplifying complex concepts—such as eliminating references and pointers—to reduce cognitive load and prevent common programming errors.
EDL is strongly and statically typed, which enables AcoDyn to JIT-compile solver code at runtime. Crucially, this compilation completes before execution begins, eliminating interpretation overhead while retaining the flexibility of dynamic compilation. This approach delivers performance comparable to statically compiled languages, while strong typing ensures code remains readable and catches common mistakes at compile time rather than runtime.
Flexibility & Performance
Most computational work in AcoDyn runs on highly optimized CUDA kernels executed on GPUs. These kernels operate as lightweight, isolated routines that read from and write to GPU memory buffers. Through safe, high-level wrappers in the EDL API, these kernels are invoked within solvers.
Because EDL is compiled to efficient native machine code before execution, and because most of the computationally expensive HPC operations are naturally asynchronous, users retain full control over solver logic and execution flow without sacrificing performance—matching the speed of hand-written Rust implementations. This empowers engineers to modify existing solvers freely or build entirely new ones from scratch.
One Software – All Use Cases
The flexibility provided through EDL makes AcoDyn suitable for a broad spectrum of users. For standard simulations, you can select from our extensive library of pre-built solvers without writing a single line of code. Engineers tackling novel problems can easily extend existing solvers, for example, by adding a custom volume force term to the compressible Navier-Stokes equations during discretization.
Researchers developing entirely new physical models can implement solvers from the ground up, while AcoDyn handles the underlying tooling, workflow integration, and high-performance compute infrastructure.
Of course, since a solver is defined as a configuration component, switching between them is as simple as updating a single name string in your project file. AcoDyn scales with your needs, supporting everything from straightforward simulations to highly complex, custom workflows. Our philosophy is simple: software should adapt to your workflow, not the other way around.
Open Source
To foster community-driven development and broader adoption of EDL across high-performance computing platforms, we have released the language and its compiler as open-source. Comprehensive documentation, language specifications, and the latest compiler builds are available on GitHub.
- Getting Started
- Installation
- Web-Editor
- Tutorials
- Contact Us
- Research