To improve the performance of the Magnetotelluric Occam inversion, by in-depth analysis of the sequential algorithm, we develop a multi-level hybrid parallel computing scheme for MT Occam inversion based on MPI+OpenMP+CUDA and implement it on a small heterogeneous cluster. We implement the parallel algorithm for solving linear equations with Gauss elimination, jacobian matrix, cross-product matrix calculations and Cholesky decomposition. Through reasonable decomposition, combination and mapping of computing tasks, the scheme reduces the data traffic and realizes the purpose of load balancing. By changing the matrix storage order , the memory access speed is significantly increased. The scheme is tested with multiple synthesis data from 2-D theoretical models and the execution efficiency of sequential code and parallel code on a 4 nodes PC cluster is comparatively analyzed. The test results show that the realization of this hybrid parallel algorithm is feasible and efficient. Compared with the sequential code and pure message passing algorithm, the inversion speed is obviously increased.
As commonly used in two-dimensional magnetotelluric (MT) inversion, Occam inversion method, though featured by its stable convergence and independence on initial model, is relatively poor in time performance, with Gauss-Jordan elimination as one of the biggest time-consuming parts. For symmetrical banded coefficient matrix on two-dimensional constant bandwidth storage, the application of sequential dispatch strategy to the workload on lines of work triangle in parallel algorithm will lead to load imbalance. Therefore, based on paired-dispatch, a kind of strategy is presented to solve this problem, after which the algorithm's effect on shared memory parallel system is verified and research is carried on to focus on the optimization methods of algorithm performance. Experimental results as compared with serial algorithm show that these methods have effectively improved the performance of algorithm, which contributes to a speedup of 3.72 of parallel Gauss-Jordan algorithm as a whole, and that MT Occam inversion algorithm based on this parallel algorithm also demonstrates good speedup performance.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.