Logo icon

Porting of the algorithm for seismic data processing on GPU

Developed for: Amberg Technologies AG, Switzerland, Regensdorf

Purpose: optimization of the library of seismic signals processing

The original source code provided by the customer was sequential; the aim was to speed up the code as much as possible on the stated architecture. During the code study, the possibility of transmitting the computations to GPU, vectorization and multisequencing of the existing code on the processor was analyzed. As a result, the hybrid CPU/GPU algorithm with dynamic balancing was developed. The most resource-intensive computations on CPU were speeded up due to the use of intrinsics as well as for a more effective use of the processor's cache. At the high level, the algorithm was parallelized with the help of OpenMP. Computations on GPU are performed alongside with the ones on CPU, thus reaching the maximum use of the computer’s computation resources. As a result, the original algorithm was speeded up 7 times (from 280 sec. to 40 sec.).

Specification

Client: Amberg Technologies AG, Switzerland, Regensdorf
Area of use: geophysical studies
Type (platform): library for Windows
Technologies and algorithms in use: C++, OpenMP, Intrinsics, GPU, OpenCL

Similar projects

fast multiplication of the block sparse matrixes

optimization of the migration algorithm (seismic data processing)