S067-01
Accelerating Large-N Ambient Noise Cross-Correlation with the Julia language and GPUs

Wednesday, 16 December 2020: 08:32
Virtual
Tim Clements1, Joshua P Jones2 and Marine Denolle1, (1)Harvard University, Earth and Planetary Sciences, Cambridge, MA, United States, (2)Unaffiliated, Portland, OR, United States
Abstract:
Large-N arrays, including nodal arrays and Distributed Acoustic Sensing (DAS) systems, produce 100s of GBs to TBs of seismic data per day. Ambient noise cross-correlation benefits greatly from the small inter-station distance and high sampling rate of large-N arrays at the cost of daunting computation due to the N2 scaling of inter-station cross-correlation. Here, we present a solution to cross-correlating large N datasets with Graphics Processing Units (GPUs) using the computing language Julia. Julia is a dynamic, high-level language designed for high-performance computing. Julia offers high-level access to GPU operations without the need to write GPU code. We use the GPU-compatible SeisIO.jl and SeisNoise.jl Julia packages, built for data I/O and ambient noise cross-correlation, respectively. In our recent paper, we showed that SeisIO.jl outperforms SAC and ObsPy for routine CPU operations; this core package is now being refined to extend to GPU and parallel operations with uniform syntax and architecture-agnostic data processing. We show the benefits of cross-correlation processing from beginning to end on the GPU. We test ambient noise cross-correlation on 1,825 stations from the The LArge-n Seismic Survey in Oklahoma (LASSO) Experiment. We show that computation scales linearly with the number of GPUs and GPU performance.