Finite element method is one of the most important numerical method, which has a very wide range of applications such as aerospace, civil engineering and land surveying and other fields. Unfortunately, the existing finite element method is low efficiency, when the problem is large-scale. the finite element method "decentralized, integrated zero for the whole" thinking with the parallel "divide and rule" consistent with the basic principles, it is suitable for using parallel computing resources in parallel with the corresponding algorithms designed to improve the solution efficiency. Faster computational speed will allow more refined algorithm to partition the grid, while increasing accuracy, access to high-quality solutions. Therefore, parallel finite element algorithm design and implementation of important practical significance.With the image processor (Graphics Processing Unit, GPU) hardware, rapid development and continuous improvement, based on the GPU for general computing (General Purpose GPU, GPGPU) has become a rising star in the field of parallel computing. The rapid development of GPGPU for people to build a good platform for parallel computing. Early, GPGPU and other development needs OpenGL graphics interface, system architecture on the relatively weak support for general purpose computing, and require developers familiar with computer graphics API, greatly reduced the application of the crowd, which restricts the development of GPGPU. NVIDIA released the 2006 landmark Unified Computing Architecture (Compute Unified Device Architecture, CUDA). CUDA architecture is designed for general purpose computing, while CUDA provides a C language interface, programmers do not need to understand the graphics API to CUDA parallel algorithms can be developed. With CUDA GPU hardware and development environment of continuous development and improvement, GPGPU become one of the hot high-performance computing research.In this paper, the research goal is to be applied to numerical computing GPU using GPUs resources to achieve efficient parallel finite element method, and applied to related fields. In this paper, the finite element method to solve the complex with 2.5-dimensional terrain earth resistivity forward problem, inefficient for its solution, the problem is difficult to meet the actual needs, designed and implemented GPU-based parallel finite element method. CPU compared to the serial algorithm, parallel algorithm to achieve this speedup is about 7 times, significantly improves the solution efficiency. Specifically as follows: The first detailed analysis of the GPU architecture and the CUDA programming model, discussed the traditional serial algorithms to parallel GPU on the feasibility of implementation, and how to double for CUDA parallel algorithms parallel architecture optimized to achieve high efficiency.Followed by a brief introduction the basic principles of finite element method, described with 2.5-dimensional complex terrain of the forward problem the earth resistivity and electromagnetic methods in the field of geophysical significance. Finite element method to solve the problem, and gave details of calculation steps, the final model validation by an example of the correctness of the results.Finally, full analysis of the finite element method, based on the proposed finite element method based on CUDA parallel algorithm and optimize implementation. Algorithm uses the CPU-GPU heterogeneous model:the CPU is responsible for establishing the logic of differential equations and other complex processing and distribution of GPU computing tasks; GPU is responsible for changing the coordinates of discrete units, the node interpolation for solving linear equations and other intensive computing tasks; calculated after the end of the results returned CPU side processing. Test results show that this parallel algorithm is about 7 times the highest speedup. |