3D Time-Domain Wave Propagation Modeling Using High-Performance Python Libraries

Sang Hoon Jo, Wansoo Ha · Journal of the Korean Society of Mineral and Energy Resources Engineers · 2018

In this study, we compared performance and productivity of C and Python with high-performance libraries using 3D time-domain wave propagation modeling. As a result of numerical modeling, Numba, Cython and C attained speed-ups of 1884, 2049, and 2305 times, respectively, compared with a reference Python implementation. Python programs using Numba and Cython were slower than the C program by 23.3% and 16.2%, respectively. However, the numbers of source code lines for Python programs using Numba and Cython were 45.1% and 40.7% shorter than that of C, respectively. Modeling experiments using Numba and Cython for the SEG/EAGE 3D salt dome model were 22.9% and 13.3% slower than that of the C program. Therefore, if performance difference of 20% is acceptable, it will be more productive to use Python with high-performance libraries instead of static-typing languages such as C.

Read the paper · More papers on PaperTik