Ebb: A DSL for Physical Simulation on CPUs and GPUs

06/24/2015
by   Gilbert Louis Bernstein, et al.
0

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 hand-written GPU code where available, and surpassing existing CPU performance optimizations by up to 9× when no GPU code exists.

READ FULL TEXT

page 3

page 5

page 7

research
09/04/2019

Fast BFS-Based Triangle Counting on GPUs

In this paper, we propose a novel method to compute triangle counting on...
research
10/22/2020

Cross-platform programming model for many-core lattice Boltzmann simulations

We present a novel, hardware-agnostic implementation strategy for lattic...
research
08/01/2023

Leveraging MLIR for Loop Vectorization and GPU Porting of FFT Libraries

FFTc is a Domain-Specific Language (DSL) for designing and generating Fa...
research
06/26/2019

A Modular and Extensible Software Architecture for Particle Dynamics

Creating a highly parallel and flexible discrete element software requir...
research
04/04/2023

Portable Programming Model Exploration for LArTPC Simulation in a Heterogeneous Computing Environment: OpenMP vs. SYCL

The evolution of the computing landscape has resulted in the proliferati...
research
08/12/2021

Communication-free and Parallel Simulation of Neutral Biodiversity Models

We present a novel communication-free algorithm for individual-based pro...
research
05/10/2019

K-Athena: a performance portable structured grid finite volume magnetohydrodynamics code

Large scale simulations are a key pillar of modern research and require ...

Please sign up or login with your details

Forgot password? Click here to reset