||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].