PUKYONG

고성능 파이썬을 이용한 3차원 시간 영역 파동 전파 모델링

Metadata Downloads
Alternative Title
3D wave propagation modeling in time-domain using high-performance python
Abstract
파형역산 또는 역시간 구조보정과 같은 3차원 탄성파 자료 처리는 방대한 양의 데이터가 필요하고 그에 따른 대량의 수치 계산이 필요하다. 본 연구에서는 3차원 시간 영역 파동전파 모델링을 이용하여 고성능 파이썬과 C언어의 성능 및 생산성을 비교하였다. 고성능 파이썬으로는 Numba와 Cython을 이용하였다. 모델 크기를 변경시켜가며 수치 모델링을 실시하였고 모델링을 수행한 결과, Numba와 Cython, C언어는 순수 파이썬에 비해 각각 약 1700배, 1800배, 1900배 빠른 성능을 얻을 수 있었다. 그리고 고성능 파이썬인 Numba와 Cython은 C언어에 비해 최대 각각 18.9%, 9.4% 가량 느렸지만, 코드 줄 수로 비교한 생산성은 38.1%, 19.6% 가량 높았다. 따라서 10~20% 정도의 성능이 중요하지 않다면, 생산성이 뛰어난 고성능 파이썬을 이용하는 것이 더욱 효율적일 것이다. 그러므로 고성능 파이썬은 대규모 자료처리 분야 및 고성능 컴퓨팅 분야, 수치모델링 분야 등에서 충분히 사용가능 할 것으로 예상된다. 또한 고성능 파이썬은 C언어나 포트란 같은 정적 프로그래밍 언어의 생산적인 대안이 될 수 있을 것이라 기대된다. 향후 파형역산 및 역시간 구조보정에 적용해 보겠다.
3D seismic data processing such as full waveform inversion or RTM requires large amount of numerical calculations. In this study, we compared performance and productivity of high-performance Python and C using 3D acoustic wave propagation modeling in time domain. We used Numba and Cython for high-performance Python. We conducted numerical modeling with changing model sizes. As a result of numerical modeling, Numba, Cython and C obtained respectively about 1700 times, 1800 times, 1900 times faster than original Python. And Numba and Cython of optimized high-performance Python is respectively about 18.9% and 9.4% slower than C. However, Productivity comparing code lines are 38.1% and 19.6% higher than C. If performance of 10~20% is not important, it is more efficient to use optimized high-performance Python than C. Therefore, optimized high-performance Python is expected to be sufficiently avaliable in the field of large-scale data processing, high-performance computing and numerical modeling. And optimized high-performance Python can be a productive alternative to the static programming languages like C and Fortran. We will apply to waveform inversion and reverse-time-migration in the future.
Author(s)
조상훈
Issued Date
2018
Awarded Date
2018.2
Type
Dissertation
Publisher
부경대학교
URI
https://repository.pknu.ac.kr:8443/handle/2021.oak/13974
http://pknu.dcollection.net/common/orgView/200000010751
Alternative Author(s)
Jo, Sang Hoon
Affiliation
부경대학교 대학원
Department
대학원 에너지자원공학과
Advisor
하완수
Table Of Contents
1. 서 론 1
2. 파동 전파 모델링 알고리즘 6
2.1 시간 영역 음향파 유한차분법 모델링 6
2.2 송신원 추가 9
2.2 Keys 경계 조건 10
3. 고성능 파이썬 13
3.1 파이썬 13
3.2 파이썬의 성능을 증가시키는 방법 15
3.3 고성능 파이썬의 종류 및 특징 16
3.4 고성능 파이썬의 적용 18
3.4.1 Numba 적용 18
3.4.2 Cython 적용 22
4. 수치예제 26
4.1 모델 크기에 따른 순수 파이썬과 고성능 파이썬 성능 비교 26
4.2 모델 크기에 따른 고성능 파이썬과 C언어의 성능 및
생산성 비교 29
4.3 정확성 비교 33
5. 토의 및 결론 36

참고 문헌 38
Abstract 40
Degree
Master
Appears in Collections:
산업대학원 > 에너지자원공학과
Authorize & License
  • Authorize공개
Files in This Item:

Items in Repository are protected by copyright, with all rights reserved, unless otherwise indicated.