Abstract

This paper presents work done towards porting of FWM2DA, an open source program, on multi-core CPU and GPU architectures. FWM2DA is a Fortran90 sequential program which performs acoustic wave propagation of single source location for the 2D subsurface earth model using finite difference time domain modelling. We have reproduced this program using C programming language and upgraded its functionality for performing acoustic wave propagation of multiple source locations and allowing different grid spacing in x and z direction for the subsurface earth model. Performance of the upgraded version is improved by implementing inter-node and intra-node parallelization. Inter-node parallelization is implemented using MPI for efficiently utilizing the distributed memory while intra-node parallelization focuses on efficient utilization of underlying architecture’s resources. Outcome of these programs are compared with that of the original FWM2DA program for Sigsbee2a model and found similar thus establishing the correctness of implementation done. The developed programs are tested using two layer subsurface earth model of 5000 X 5000 grid dimension on PARAM Shreshta system having Intel Xeon Gold 6148F Skylake CPU and NVIDIA Tesla V100 GPU. Ported programming models are evaluated for execution time for wavefield propagation of single source location using two layer subsurface earth model. Performance gain of 8.6X for OpenMP, 83.22X for OpenACC and 107.77X for CUDA C implementation are recorded over the sequential C program. The multi-core CPU program is further optimized and overall 29.37X performance is achieved with respect to the sequential C program. Performance of CUDA C program is also improved by making use of shared memory in GPU and 1.18X speedup is recorded with respect to the baseline CUDA C program. The numerical experiments demonstrate the effectiveness and robustness of the developed programs with high scalability and efficiency on multi-core CPU and GPU based HPC system.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call