TY - JOUR
T1 - A graphics processing unit implementation and optimization for parallel double-difference seismic tomography
AU - Liao, Pei Cheng
AU - Lii, Cheng Chi
AU - Lai, Yu Chi
AU - Chang, Ping Yu
AU - Zhang, Haijiang
AU - Thurber, Clifford
PY - 2014/4
Y1 - 2014/4
N2 - Double-difference seismic tomography can estimate velocity structure and event locations with high precision, but its high-computation cost along with large memory usage prevents the use of a personal computer to process very large datasets and requires a long-computation time. This work proposes graphics-processing-unit- (GPU)-based acceleration schemes to run the algorithm on a personal computer for very large datasets more efficiently. Generally, the algorithm can be divided into five major steps: input, ray tracing, matrix construction, inversion, and output. This work focuses on accelerating the ray-tracing and inversion steps, which take almost two-thirds of the computation time. Before ray tracing, our algorithm preprocesses the data by sorting all recorded event-station paths according to their lengths. Therefore, those path estimation jobs assigned to GPU cores are suitable for the GPU architecture. Furthermore, our work also minimizes the usage of global and local memory to reduce the GPU computing time needed to handle a very large dataset. In addition to parallelizing the inversion computation, our work proposes a GPU-based elimination method to reduce redundant computation in inversion for further acceleration. In our test, the proposed acceleration schemes can gain maximum speed-up factors of 31.17 and 35.46 for ray tracing and inversion, respectively, in our test. Overall, the GPU-based implementation can reach a maximum of 5.98 times faster than the central processing unit-based implementation.
AB - Double-difference seismic tomography can estimate velocity structure and event locations with high precision, but its high-computation cost along with large memory usage prevents the use of a personal computer to process very large datasets and requires a long-computation time. This work proposes graphics-processing-unit- (GPU)-based acceleration schemes to run the algorithm on a personal computer for very large datasets more efficiently. Generally, the algorithm can be divided into five major steps: input, ray tracing, matrix construction, inversion, and output. This work focuses on accelerating the ray-tracing and inversion steps, which take almost two-thirds of the computation time. Before ray tracing, our algorithm preprocesses the data by sorting all recorded event-station paths according to their lengths. Therefore, those path estimation jobs assigned to GPU cores are suitable for the GPU architecture. Furthermore, our work also minimizes the usage of global and local memory to reduce the GPU computing time needed to handle a very large dataset. In addition to parallelizing the inversion computation, our work proposes a GPU-based elimination method to reduce redundant computation in inversion for further acceleration. In our test, the proposed acceleration schemes can gain maximum speed-up factors of 31.17 and 35.46 for ray tracing and inversion, respectively, in our test. Overall, the GPU-based implementation can reach a maximum of 5.98 times faster than the central processing unit-based implementation.
UR - http://www.scopus.com/inward/record.url?scp=84897480756&partnerID=8YFLogxK
U2 - 10.1785/0120130236
DO - 10.1785/0120130236
M3 - 期刊論文
AN - SCOPUS:84897480756
SN - 0037-1106
VL - 104
SP - 953
EP - 961
JO - Bulletin of the Seismological Society of America
JF - Bulletin of the Seismological Society of America
IS - 2
ER -