Devito: Towards a generic Finite Difference DSL using Symbolic Python
Michael Lange, Navjot Kukreja, Mathias Louboutin, Fabio Luporini,, Felippe Vieira, Vincenzo Pandolfo, Paulius Velesko, Paulius Kazakas, Gerard, Gorman

TL;DR
Devito is a new Python-based domain-specific language that simplifies the development of optimized finite difference computations for scientific applications, demonstrating performance benefits and applicability to seismic inversion problems.
Contribution
It introduces Devito, a symbolic Python DSL for finite difference computations, enabling automated optimization and easier scientific programming within Python.
Findings
Devito provides significant performance improvements over traditional Python methods.
The symbolic API simplifies the development of finite difference algorithms.
Devito effectively handles seismic inversion problems.
Abstract
Domain specific languages (DSL) have been used in a variety of fields to express complex scientific problems in a concise manner and provide automated performance optimization for a range of computational architectures. As such DSLs provide a powerful mechanism to speed up scientific Python computation that goes beyond traditional vectorization and pre-compilation approaches, while allowing domain scientists to build applications within the comforts of the Python software ecosystem. In this paper we present Devito, a new finite difference DSL that provides optimized stencil computation from high-level problem specifications based on symbolic Python expressions. We demonstrate Devito's symbolic API and performance advantages over traditional Python acceleration methods before highlighting its use in the scientific context of seismic inversion problems.
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 · Topic Modeling · Natural Language Processing Techniques
