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.).

Porting of the algorithm for seismic data processing on GPU
Developed for: Amberg Technologies AG, Switzerland, RegensdorfPurpose: optimization of the library of seismic signals processing
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 |