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 geometric domain libraries are all implemented using a common runtime based on relations, new geometric domains can be added as needed, without specifying the details of memory management, mapping to different parallel architectures, or having to expand the runtime’s interface.
We evaluate Ebb by comparing it to several widely used simulations, demonstrating comparable performance to handwritten GPU code where available, and surpassing existing CPU performance optimizations by up to 9 × when no GPU code exists.
Funder
US Department of Energy
ExaCT and ExMatEx
DOE Exascale Co-Design Centers
Stanford Pervasive Parallelism Laboratory
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design
Reference23 articles.
1. Terra
2. Liszt
3. PhysBAM
4. Spark
5. Nolan Goodnight. 2007. CUDA/OpenGL fluid simulation. NVIDIA Corporation (2007). Nolan Goodnight. 2007. CUDA/OpenGL fluid simulation. NVIDIA Corporation (2007).
Cited by
27 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. ∇-Prox: Differentiable Proximal Algorithm Modeling for Large-Scale Optimization;ACM Transactions on Graphics;2023-07-26
2. Isotropic ARAP Energy Using Cauchy-Green Invariants;ACM Transactions on Graphics;2022-11-30
3. MeshTaichi;ACM Transactions on Graphics;2022-11-30
4. Loki;ACM Transactions on Graphics;2022-07
5. Sparsity-Specific Code Optimization using Expression Trees;ACM Transactions on Graphics;2022-05-13