Migrating and tuning a CUDA-based stencil computation to DPC++
Reverse Time Migration takes advantage of the finite-difference method (FD) to perform the numerical approximations for the acoustic wave equation. Stencil computation applied to this numerical method represents a computational bottleneck when developing RTM applications, and therefore needs to be optimized to guarantee timely results and efficiency when allocating resources for hydrocarbon exploration. This article presents a migration experience from a CUDA-based RTM source code to Data-Parallel C++ (DPC++) using Intel DPC++ Compatibility Tool (DPCT). Migrated source code is proven to be easier to maintain, as it unifies the algorithm execution flow for our application in a unique structure. Besides migration experience, we could easily explore memory management, achieving twice the performance and an arithmetic intensity 4,9x higher than the first version.