Auto-Tuning for OpenMP Dynamic Scheduling applied to Full Waveform Inversion
Felipe H. S. da Silva, Jo\~ao B. Fernandes, Idalmis M. Sardina, Tiago Barros, Samuel Xavier-de-Souza, Italo A. S. Assis

TL;DR
This paper introduces an auto-tuning strategy using meta-heuristics to optimize OpenMP dynamic scheduling in Full Waveform Inversion, significantly reducing computation time in seismic data processing.
Contribution
It proposes a novel auto-tuning approach with Coupled Simulated Annealing to automatically select optimal chunk sizes for dynamic scheduling in FWI, improving efficiency.
Findings
Runtime reduced by up to 70.46% with auto-tuning
Auto-tuning adapts chunk size to problem size and environment
Significant performance gains in seismic data processing
Abstract
Full Waveform Inversion (FWI) is a widely used method in seismic data processing, capable of estimating models that represent the characteristics of the geological layers of the subsurface. Because it works with a massive amount of data, the execution of this method requires much time and computational resources. Techniques such as FWI adapt well to parallel computing and can be parallelized in shared memory systems using the application programming interface (API) OpenMP. The management of parallel tasks can be performed through loop schedulers contained in OpenMP. The dynamic scheduler stands out for distributing predefined fixed-size chunk sizes to idle processing cores at runtime. It can better adapt to FWI, where data processing can be irregular. However, the relationship between the size of the chunk and the runtime is unknown. Optimization techniques can employ meta-heuristics to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques · Embedded Systems Design Techniques
