Ebb: A DSL for Physical Simulation on CPUs and GPUs
Gilbert Louis Bernstein, Chinmayee Shah, Crystal Lemire, Zachary, DeVito, Matthew Fisher, Philip Levis, Pat Hanrahan

TL;DR
Ebb is a domain-specific language designed for efficient physical simulation on CPUs and GPUs, enabling flexible, high-performance implementations across diverse geometric domains with minimal architecture-specific concerns.
Contribution
Ebb introduces a three-layer architecture and a unified relational data model, simplifying the development of portable, efficient simulation code across heterogeneous parallel architectures.
Findings
Achieves comparable GPU performance to hand-optimized code
Surpasses CPU performance optimizations by up to 9x
Supports diverse geometric domains through modular libraries
Abstract
Designing programming environments for physical simulation is challenging because simulations rely on diverse algorithms and geometric domains. These challenges are compounded when we try to run efficiently on heterogeneous parallel architectures. We present Ebb, a domain-specific language (DSL) for simulation, that runs efficiently on both CPUs and GPUs. Unlike previous DSLs, Ebb uses a three-layer architecture to separate (1) simulation code, (2) definition of data structures for geometric domains, and (3) runtimes supporting parallel architectures. Different geometric domains are implemented as libraries that use a common, unified, relational data model. By structuring the simulation framework in this way, programmers implementing simulations can focus on the physics and algorithms for each simulation without worrying about their implementation on parallel computers. Because the…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Real-time simulation and control systems
