Skip to Main Content
How to automatically parallel large amount of sequential legacy code has become one of the key issues, especially for domain specific scientific applications. It is more urgent as multi-core processors are increasingly popular. Taking the extremely compute and I/O intensive prestack migration application of the geophysics exploration as an example, this paper discusses its algorithms and implementations, analyzes the data distribution and computing steps, and then proposes an automatic parallel method based on source code pattern matching. We developed a software tool, which can automatically parallel ALL the 2-D prestack migration programs in the popular open source software package Seismic Unix (SU), from sequential C code to MPI code. The experimental results on a 64-node NUMA server show that under heavy workload conditions, the parallel efficiency is more than 95%. Our method can be applied to parallelize a series of programs with similar characteristics. We believe this work may serve as the solid step to motive further researches of domain specific automatic parallelization for the benefit of multi-core processors.