Skip to the content

XWI™ & DevitoPRO: Limitless Possibilities

S-Cube's XWI™ has a long list of customisable application programming interfaces (APIs) which allow other programs to be called by XWI™ during runtime. These programs can alter the behaviour of XWI™ itself by operating on models, data, wavelets etc. 

Devito/DevitoPro Integration

Recently, this set of APIs has been expanded to allow larger modifications to the core functionality of XWI such as the introduction of the Propagation API. This unique interface allows the user to supply a script or a program which propagates, forwards or backwards a seismic wavelet. Simultaneously, S-Cube and DevitoCodes has worked closely to introduce a set of propagators specifically developed for use within XWI in a variety of different physics scenarios such as AcousticElasticAttenuation, and Isotropic, VTI or TTI.  

These developments allow users to select running with either the XWI propagator, choosing one of the existing DevitoCodes propagators or develop their own, implementing their own research in a ready-made production environment. 

Optimizing Elastic Wave Solvers with DevitoPRO

Elastic wave inversion provides a more comprehensive understanding of subsurface properties by capturing both P-wave and S-wave data, enhancing the resolution and accuracy of subsurface models—crucial for exploration geophysics and other applications. Utilizing mixed-precision methods, DevitoCodes have nearly doubled the performance of wave propagators, with benchmarks showing 4.1 GP/s (giga-points-per-second) using mixed precision compared to 2.45 GP/s with FP32, an impressive 70% speedup. This approach reduces memory pressure and leverages available hardware support, with negligible numerical errors compared to standard 32-bit floating-point implementations.

DevitoPRO enhances Devito’s core functionalities by incorporating advanced compiler techniques for automatic optimization of stencil computations, translating high-level Python code into optimized, parallelized C/CUDA/HIP/SYCL code for various hardware architectures. Features like the expanding-box technique and compression-based asynchronous serialization significantly improve data management and performance during and full-waveform inversion (FWI). By insulating developers from the complexity of mixed-precision arithmetic and providing portability layers for reduced precision on supported platforms, DevitoPRO makes elastic modeling and inversion more accessible and efficient, benefiting a wide range of scientific and engineering applications.

Read more about how DevitoPRO can speed up elastic modelling here.
Shot record and wavefield snapshot of the mixed-precision wavefield on the left panels. The absolute error between the mixed-precision and standard FP32 solution, scaled up by a factor of 500 on the right-hand side panels.

Shot record and wavefield snapshot of the mixed-precision wavefield on the left panels. The absolute error between the mixed-precision and standard FP32 solution, scaled up by a factor of 500 on the right-hand side panels.

‎ 

Multi-Architecture Optimisation

Devito's open-source platform is designed for solving partial differential equations (PDEs) on structured grids, generating highly optimized C code from high-level symbolic specifications. It supports diverse hardware architectures through automatic code generation and comprehensive, multi-level performance optimization. Building on this foundation, DevitoPRO enhances these features with advanced compiler optimizations and supports a broad range of hardware, including Graviton (Amazon)AMD, Intel, and Nvidia GPUs. This includes device-aware blocking for better resource management and multi-GPU scaling for large-scale simulations. DevitoPRO's improvements ensure that both CPU and GPU resources are utilized efficiently, providing significant performance boosts and reduced development times. 

 

Immersed Free-Surface Topography for Onshore FWI 

Topographic effects play a considerable role in land seismic contexts; beyond simple travel-time discrepancies, topographic variation results in amplitude variations, shadow zones and diffraction around obstacles, and complex scattering patterns. Whilst poor topography implementation is understood to adversely affect the quality of images obtained via FWI and RTM, sophisticated topography handling routines have historically been challenging to integrate into overarching imaging routines due to their inherent complexity.

Using Schism, an automated immersed boundary generation framework implemented in Devito and DevitoPRO, the effects of complex, irregular topography can be accurately modelled without the need for meshing or curvilinear grids. Furthermore, the high-level abstractions provided introduce a separation of concerns for developers between the physics of the overarching problem and the underlying numerical implementation. This drastically reduces the challenge associated with irregular terrain, paving the way for more reliable, detailed land imaging. You can read more about it here

Wavefield animation with immersed boundary

Wavefield animation with immersed boundary