Font Size: a A A

Research And Implementation Of Parallelization For Few-body Problems With Stochastic Variational Method

Posted on:2020-08-15Degree:MasterType:Thesis
Country:ChinaCandidate:C Z YuFull Text:PDF
GTID:2370330596455439Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
A few-body system is a system of several particles(atoms,nuclei,electrons,etc.).For a few-body problem,we focus on finding a precise solution to the system,testing the motion formula,verifying energy conservation and symmetry,or looking for unknown forces among systems.Celestial bodies,atomic chemistry,quarks,nuclei or sub-nuclear physics all would encounter few-body problems.In recent years,due to some radical experiments,many researches have focused on the solid-scale system of solid state physics(several ions in the trap,several electrons in the quantum argument,etc.),so that the scope of the problem greatly expanded.The solution to the problem is now an important fundamental problem in physics.At present,there are some algorithms that can be used to solve the few-body problem with different performances.Recently,stochastic variational method(SVM)has been proposed as an effective method,which is experimentally proved to be particularly suitable for solving the problem of variable few-body problems.The SVM optimizes the variational basis and the error process in random experiments.In this method,the base choice is free from any affects of deviation,and maintains the low dimension.Finally,and most importantly,the method is very accurate.It has been implemented using Fortran language.At present,serial SVM is commonly used to solve the physics problem.With the deepening of research and the increase of computation,there is an increasing demand for the calculation speed of the algorithm.It is realistic to greatly improve the computational speed by parallelizing the existing algorithm before the new algorithm appeared.Main tasks of this article include as follows:(1)Analyze the algorithm of serial SVM solving a few-body problem,and clarify the functions of each module.Execute the program and use profiling tools to analyze the time-consuming situation of the entire algorithm to find the bottleneck.(2)Use of CPU-based MPI technology to parallel the algorithm,mainly focusing on the two parts of the time-consuming Gaussian matrix computation initialization and eigenvalue solving.Use collective communications(combining multiple single communications into collective communications to reduce the number of communication calls among processes)and packing multiple data into one-time communication delivery for optimization(the data that will be frequently sent and temporally consistent is packed together for communications).The experiments of the algorithm were tested respectively on single multi-core machine and multiple machine clusters to see the parallelisation performance.At the same time,the comparison of the experimental results before and after the algorithm optimization was also done.(3)Use GPU-based CUDA technology to parallelize the algorithm,accelerate the time-consuming module,such as the eigenvalue module into the GPU,and use the cuBLAS library functions to achieve better performance(such as matrix multiplication,vector matrix multiplication,etc.).At the same time,the optimization of CUDA program mainly lies in the data transfer between the CPU memory and the GPU memory.This paper uses the data partitioning and block scheme to optimise the program.Finally,the experiments compared the performance before and after optimization,which reflects the acceleration of the optimized program.Finally,we compared and summarized two parallel schemes,which provided reference for the practical parallel solutions of few-body problems in physics.
Keywords/Search Tags:few-body problem, stochastic variational method, MPI, CUDA
PDF Full Text Request
Related items