HOME > 학회소식 > 학회지 논문검색
 
작성일 : 18-07-04 11:33
고성능 파이썬 라이브러리를 이용한 3차원 시간 영역 파동 전파 모델링
 글쓴이 : 관리자
조회 : 353  
Title
고성능 파이썬 라이브러리를 이용한 3차원 시간 영역 파동 전파 모델링
3D Time-Domain Wave Propagation Modeling Using High-Performance Python Libraries
Author
조상훈, 하완수*
Sang Hoon Jo and Wansoo Ha*
Source Vol.55, No.3 (2018) pp.213-218
Abstract 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.
Keword 3D, Wave propagation modeling, High-performance Python, Productivity
요약 본 연구에서는 3차원 시간 영역 파동 전파 모델링을 이용하여 고성능 라이브러리를 이용한 파이썬과 C언어 의 성능 및 생산성을 비교하였다. 수치 모델링 결과 고성능 파이썬 라이브러리인 Numba 또는 Cython을 사용하는 경 우와 C 언어를 사용하는 경우 순수 파이썬에 비해 각각 1844배, 2049배, 2305배 빨라졌다. Numba와 Cython 라이브러 리를 사용한 모델링의 경우 C언어보다 각각 23.3%, 16.2% 느렸다. 그러나 소스 코드 줄 수는 C언어보다 각각 45.1%, 40.7% 적었다. SEG/EAGE 3차원 암염돔 모델에 적용한 결과, Numba와 Cython을 사용한 경우 C언어에 비해 계산 속 도가 각각 22.9%, 13.3% 느렸다. 따라서 20%의 성능 차이를 받아들일 수 있는 경우 C와 같은 정적 자료형 언어 대신 고성능 파이썬 라이브러리를 이용하는 것이 더욱 생산적일 것이다.
주요어 3차원, 파동 전파 모델링, 고성능 파이썬, 생산성
   JKSMER55-3-05_213-218_.pdf (1.1M) [8] DATE : 2018-07-04 11:33:24