1:45 PM - 2:00 PM
[SSS12-01] Benchmark of an open source software for matched-filter analyses
Keywords:Matched-filter analysis, Waveform cross-correlation method, Event detection, Parallel computing, Open source software, Signal processing
Detecting seismicity is fundamental for seismology, and signal processing for the detection has been developed as observation networks increased. Seismologists have detected small events through matched-filter analyses (MFA) that extract relatively large values in network cross-correlation coefficients (NCC) among known seismic signals and continuous waveform records[Gibbons & Ringdal, 2006, GJI]. Calculating NCCs requires computational costs for large datasets of continuous waveforms and cataloged events, and the calculation algorithm has been modified. One monumental work is SEC_C[Senobari et al., 2018, SRL], a Matlab code based on Mueen's algorithm[Mueen, 2015]. Although SEC_C runs fast on a single thread and outputs exact NCCs, its loop structure makes it unsuitable for parallel computation. Senobari et al. suggested parallelizing SEC_C by running multiple processes simultaneously, which is unrealistic for large datasets because of their heavy memory usage. Hence, the compatibility among speed, memory usage, and accuracy of NCC calculation is still a challenging problem.
We have developed DiallelX, a highly efficient and parallelizable algorithm for approximating NCCs[Hirano & Naoi, under review]. DiallelX is also open-source software written in modern fortran running on CPU in desktop PCs or workstations and has contributed to MFAs with Tera-byte-order datasets, including 17-years-long continuous records with ten-thousand template events in Noto peninsula[Sasaki et al., 2024, AGU] and 10-MHz-sampling records during multiple rock experiments including thousands of templates[Naoi et al., under review].
We introduce some benchmark results of DiallelX on a 64-core CPU given runtime, memory consumption, and accuracy. Users can choose an accuracy parameter in their execution of DiallelX. We can statistically estimate the tradeoff between the runtime and accuracy of NCC calculation depending on the parameter and signal-to-noise ratio of template waveforms. We also investigated parallel efficiency using the CPU and found that the efficiency is sufficiently high, up to almost half the number of threads compatible with the number of physical cores (Fig.). With 64 cores, for example, MFA for one-year-long continuous data of 100 Hz along 15 channels (e.g., five stations times three components) and 1,000 template events will be done in ∼20 minutes (Fig.). We discuss DiallelX's further development plan for usability, including possible GPU support, consideration of independent lag time for each station, and an efficient input/output format.
We have developed DiallelX, a highly efficient and parallelizable algorithm for approximating NCCs[Hirano & Naoi, under review]. DiallelX is also open-source software written in modern fortran running on CPU in desktop PCs or workstations and has contributed to MFAs with Tera-byte-order datasets, including 17-years-long continuous records with ten-thousand template events in Noto peninsula[Sasaki et al., 2024, AGU] and 10-MHz-sampling records during multiple rock experiments including thousands of templates[Naoi et al., under review].
We introduce some benchmark results of DiallelX on a 64-core CPU given runtime, memory consumption, and accuracy. Users can choose an accuracy parameter in their execution of DiallelX. We can statistically estimate the tradeoff between the runtime and accuracy of NCC calculation depending on the parameter and signal-to-noise ratio of template waveforms. We also investigated parallel efficiency using the CPU and found that the efficiency is sufficiently high, up to almost half the number of threads compatible with the number of physical cores (Fig.). With 64 cores, for example, MFA for one-year-long continuous data of 100 Hz along 15 channels (e.g., five stations times three components) and 1,000 template events will be done in ∼20 minutes (Fig.). We discuss DiallelX's further development plan for usability, including possible GPU support, consideration of independent lag time for each station, and an efficient input/output format.