Tuning a CPU-Based Stencil Computation in a DPC++ Multi-Device Environment

Orlando Mota

Orlando Mota

State of Bahia

1 0
  • 0 Collaborators

Reverse Time Migration (RTM) uses the finite-difference (FD) method to compute numerical approximations for the acoustic wave equation. It is a computational bottleneck for RTM applications and therefore needs to be optimized to guarantee timely results and efficiency when allocating resources for h ...learn more

Project status: Published/In Market

oneAPI, HPC

Intel Technologies
oneAPI, DPC++

Overview / Usage

The overall objective of this project is initially focused on the detailed study of the DPC programming language and a careful analysis of its functionalities and specificities in order to demonstrate its applicability in the development of scientific computational codes in academic and industrial contexts. The geophysical imaging application "Reverse Time Migration" (RTM) will be used as a relevant proof of concept to evaluate the flexibility and performance of the language. In addition, the DPC language will be evaluated and demonstrated considering its flexibility to describe basic data structures and typical algorithms. The development of specific documentation at each stage of the development is also part of this project.

Methodology / Approach

The overall objective of this project is initially focused on the detailed study of the DPC programming language and a thorough analysis of its functionalities and specifics, aiming to demonstrate its applicability in the development of scientific computational code in academic and industrial contexts. The application that performs geophysical imaging, known as "Reverse Time Migration" (RTM), will be used as a relevant proof of concept to assess the flexibility and performance of the language. Additionally, the DPC language will be evaluated and demonstrated in terms of its flexibility in describing basic data structures and typical algorithms. The development of specific documentation at each stage of development is also a part of this project.

Technologies Used

DPC++

In order to adeptly achieve the project's objectives, an in-depth study and practical exploration of the oneAPI toolkit developed by Intel Corporation was initiated. The primary focus was on the parallel programming language DPC++, which is presented within the toolkit. The goal was to thoroughly explore its functionalities tailored for optimizing algorithms on accelerator components such as GPUs and FPGAs. Below, essential concepts related to the use of this language will be presented.

In addition to the detailed technologies mentioned above, some others were also utilized, such as Intel DEVCloud, OneMPI, OneAPI, and SYCL, Intel® Distribution for Python.

Comments (0)