|
40 | 40 |
|
41 | 41 |
|
42 | 42 | ## What is Devito? |
43 | | -Devito isn’t a ready-made library of seismic or wave solvers—it’s a symbolic DSL and code-generation framework for discretizing and solving arbitrary partial differential equations (PDEs). Rather than shipping you a fixed suite of “pre-canned” simulators, Devito, in short, lets you: |
| 43 | +Devito is a Python-based domain-specific language (DSL) and code generation framework for solving any system of partial differential equations (PDEs) through symbolic computation. Instead of bundling fixed “black-box” solvers, Devito empowers you to build your own, tailored to your physics and your hardware. |
44 | 44 |
|
45 | | -* Express your PDEs in Python using concise, SymPy-based syntax. |
46 | | -* Automatically generate highly optimized C (and parallel MPI/OpenMP/OpenACC/CUDA/HIP/SYCL) kernels behind the scenes. |
47 | | -* Compose your own finite-difference or other stencil schemes to target whatever physics you need—acoustics, elasticity, electromagnetics, you name it. |
| 45 | +Here’s what Devito brings to the table: |
48 | 46 |
|
49 | | -Yes, we include example scripts (e.g. an elastic wave solver with a free-surface boundary) to demonstrate how to build a working simulator, but those are just examples—starting points to show you how to leverage Devito’s abstractions. The engine itself has no built-in “knowledge” of waves or seismics; that lives entirely in the numerical methods you implement on top of it. |
| 47 | +1. **Symbolic PDE definitions in pure Python** |
| 48 | + Express your governing equations exactly as you would on paper, using a concise, SymPy-powered syntax—no boilerplate, no glue code. |
| 49 | + |
| 50 | +2. **Automatic generation of fast, low-level code** |
| 51 | + Devito turns your high-level symbolic equations into highly optimized C/C++ code. |
| 52 | + |
| 53 | +3. **Portable performance across architectures** |
| 54 | + From laptops to supercomputers: Devito targets multi-core CPUs (with OpenMP and MPI) and accelerators (CUDA, HIP, SYCL, OpenACC, and MPI) from the same source. GPU support for CUDA, HIP, and SYCL is included in [DevitoPRO](https://www.devitocodes.com/features/). |
| 55 | + |
| 56 | +4. **Custom finite-difference and stencil design** |
| 57 | + Design bespoke numerical schemes for acoustics, elasticity, electromagnetics, fluid dynamics—or whatever PDE-driven physics your research demands. |
| 58 | + |
| 59 | +While Devito is often associated with seismic imaging, that’s just one application domain. Our RTM and FWI examples use Devito under the hood, but the engine itself is physics-agnostic. There’s no built-in assumption about waves, seismics, or domains—you provide the physics, and Devito delivers efficient, architecture-aware implementations. |
| 60 | + |
| 61 | +Focus on modeling and math—Devito handles the performance. |
50 | 62 |
|
51 | 63 |
|
52 | 64 | ## How can I see the code generated by Devito? |
|
0 commit comments