Performance¶
Qseek is built for large networks and years of data. The benchmark shows the throughput for different network sizes.
These settings decide how fast your search runs.
Phase annotation on the GPU¶
The phase annotation with machine learning pickers runs much faster on a GPU. Run it on a CUDA GPU with torch_use_cuda of the SeisBench image function: true uses the default device, a number selects a device, e.g. 0 for the first one.
"image_function": {
"image": "SeisBench",
"model": "PhaseNet",
"torch_use_cuda": true,
"batch_size": 128
}
A larger batch_size can improve the throughput on the GPU. Without a GPU, torch_cpu_threads sets the number of CPU threads for the annotation.
Stacking and migration¶
- Threads:
n_threadsof the search sets the threads for stacking and migration. The default"auto"uses the available cores and leaves resources for loading the data and the annotation. - Search volume: Qseek stacks every root node in every window. Fewer, larger root nodes make the search faster; add octree levels instead of shrinking the root nodes. See search volume.
- Distance weighting: stations with a weight of zero are skipped in the stack. The distance weights limit large networks to the stations close to each node.
Waveform data¶
- SDS archive: the
SDSArchiveprovider is the fastest. Copy unstructured data into an SDS archive for large searches. - Squirrel: with a
persistentcollection, Pyrocko Squirrel keeps its file index between runs. - Memory: a shorter
window_lengthof the search needs less memory. - Images: keep
save_imagesoff unless you need the images; writing them costs time and disk space.
Travel times¶
The fast marching ray tracer is faster than Pyrocko Cake for large numbers of stations and nodes. Pyrocko Cake caches its travel time tables in the cache directory, so later searches with the same model start faster. qseek clear-cache empties the cache.