| 研究生: |
李偉泰 Wei-Tai Lee |
|---|---|
| 論文名稱: |
以震波層析成像為應用之特定領域語言實作與分析 The Implementation and Analysis of an Internal DSL for Application in Seismic Tomography |
| 指導教授: |
莊永裕
YungYu Zhuang |
| 口試委員: | |
| 學位類別: |
碩士 Master |
| 系所名稱: |
資訊電機學院 - 資訊工程學系 Department of Computer Science & Information Engineering |
| 論文出版年: | 2020 |
| 畢業學年度: | 108 |
| 語文別: | 中文 |
| 論文頁數: | 55 |
| 中文關鍵詞: | 特定領域語言 、震波層析成像 、平行計算 |
| 外文關鍵詞: | Domain Specific Language, seismic tomography, parallel computing |
| 相關次數: | 點閱:7 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
FDtomo是一個使用多年,以三維震波層析成像 (Seismic Tomography)為目的的程式。FDtomo在設計上,由多個以 Fortran 程式語言撰寫之模組組合而成,使用者通常將這些模組編譯成執行檔,並且對這些執行檔進行控制。而這種對執行檔進行控制的方法,限縮了一些使用上的便利性,讓使用者通常會透過輔助工具來完成操作的行為。另外FDtomo為前人所架構,讓它在使用上並沒有善用現今各式硬體架構的效能,造成等待計算的時間過長。雖然現在存在許多可以提升程式效能的平行工具,但是要使用工具需要相關的背景知識,而這並不容易上手。因此本研究提供一個基於FDtomo設計之上的工具STFlow (Seismic Tomography Flow),這個工具在層析成像的領域上定義一些相關資料結構,並且提供一個特定領域語言(Domain Specific Language, DSL)。除了透過提供各式的資料結構,讓使用者能以更具抽象性的方式來進行層析成像的計算,DSL的設計也讓使用者在不具備平行程式撰寫知識的情況,卻可以增進程式執行的效率。
FDtomo is a tool for seismic tomography that is used for many years. In the design of FDtomo, it divides FDtomo into multiple modules written in the programming language Fortran. The users of FDtomo usually compile these modules into executable binaries, and operate the binaries; however, the way users do makes usage of FDtomo inconvenient, which have users accomplish the operation through other aid tools. Moreover, FDtomo has been developed about 10 years ago, so that it does not benefit from a variety of modern hardware and takes users a lot of time to wait for calculation. Although there are sorts of parallel tools that can improve performance of program, it’s hard for people who do not have related knowledge. As a result, this research provides a tool based on FDtomo called STFlow (Seismic Tomography Flow). It defines related data structures for tomography domain, and provides a Domain Specific Language, DSL. The design of our DSL not only provides various data structures that make users can accomplish calculation of tomography with higher-level abstraction, but also improves the performance of running tomography while hiding the details of parallel programming
M. Fowler, Domain Specific Language, Addison-Wesley Professional, September 24, 2010.
J. Hole and B. Zelt, "3-D finite-difference reflection travel-times," Geophysical Journal International., p. 427–434, May 1995.
J. Vidale, "Finite-difference calculation of travel-times," Bulletin of the Seismological Society of America, p. 2062–2076, December 1988.
S. Roecker, C. Thurber, K. Roberts and L. Powell, "Refining the image of the San Andreas Fault near Parkfield, California using a finite difference travel time computation technique.," Tectonophysics, pp. 189-205, 2006.
C. Paige and M. Saunders, "LSQR: an algorithm for sparse," ACM Trans. Math., pp. 43-71, 1982.
Y. Zhuang, C.-W. Ho, D.-Y. He, W.-T. Lee, Y.-N. Tseng and M.-Y. Lu, "Revising and optimizing a useful implementation for finite difference tomography.".unpublished.
D. Brown, J. Levine and T. Mason, Lex & Yacc, USA: Oreilly & Associates Inc, 1992.
B. Barney, "Introduction to parallel computing," Lawrence Livermore National Laboratory, [Online]. Available: https://computing.llnl.gov/tutorials/parallel_comp/. [Accessed 31 5 2020].
"openmp.org," [Online]. Available: https://www.openmp.org/. [Accessed 31 5 2020].
B. Barney, "Message Passing Interface (MPI)," [Online]. Available: https://computing.llnl.gov/tutorials/mpi/. [Accessed 31 5 2020].
"CFFI," [Online]. Available: https://cffi.readthedocs.io/en/latest/. [Accessed 31 5 2020].
"TIOBE," [Online]. Available: https://www.tiobe.com/tiobe-index/. [Accessed 31 5 2020].
"mpi4py," [Online]. Available: https://mpi4py.readthedocs.io/en/stable/. [Accessed 31 5 2020].
J. Fenlason, "GNU gprof," [Online]. Available: https://sourceware.org/binutils/docs/gprof/index.html. [Accessed 22 07 2020].