节点文献
GPU并行技术在矩阵运算及正则模式分析中的应用
Application of Graphics Processing Unit in Matrix Inversion and Normal Mode Analysis
【作者】 刘丽;
【导师】 李洪林;
【作者基本信息】 华东理工大学 , 计算机应用技术, 2012, 硕士
【摘要】 图形处理器(GPU)是一种针对图形处理的专用处理器。近几年来,GPU的单精度峰值性能已经从每秒十亿次浮点运算(Gflops)增长到每秒万亿次浮点运算(Tflops)。随着其可编程性的不断发展,GPU开始越来越多地被应用到科学计算的加速研究中。GPU不但具有强大的并行计算能力,还具有低功耗、低成本的特点,是当今主流高性能计算系统的重要组成部分。如何将GPU的并行计算技术应用到更多的科学计算程序中成为了当今高性能计算领域研究的热点之一。本文利用GPU的可编程性和强大的多线程并行计算能力,作了以下研究工作:一、矩阵求逆是一种非常重要的矩阵运算,但是在CPU串行模式中计算大规模矩阵求逆过程是非常耗时的。本文根据GPU的硬件结构特点,在NVIDIA公司提供的CUDA(计算统一设备架构)平台上将矩阵求逆计算过程完全移植到GPU中,获得了300多倍的加速比,且单精度峰值性能达到了230 Gflops,从而满足了矩阵求逆在一些科学计算应用中对计算速度的要求。根据程序的执行结果,我们分析了GPU的单精度和双精度的浮点运算性能,同时分析了数据传输时间对GPU并行计算性能的影响,总结出适合GPU并行处理的算法特征,为GPU应用到更为复杂的分子模拟领域打下基础。二、正则模式分析(NMA)是预测蛋白质构象变化的有效方法,也是分子模拟中求解自由能采样最为耗时的部分。针对此方法中矩阵对角化部分计算量过大而导致计算时间过长的问题,本文利用GPU的并行处理技术对全原子NMA计算过程中的最耗时部分进行加速。结果表明GPU加速全原子NMA能够有效地降低矩阵对角化的运行时间,取得了20余倍的加速比,且单精度浮点运算峰值达到了180 Gflops,同时我们研究了单/双精度的改变对GPU计算性能和计算精确度的影响。
【Abstract】 Graphics processing unit (GPU) is specially used for graphics processing. In recent years, the peak single precision performance of GPU has been increased from several Gflops to Tflops. With the development of its programmability, GPU has been increasingly applied to accelerate the scientific computation. Besides its huge parallel computing power, GPU is also a low-cost, low-power chip and becomes an important part of high performance computers nowadays. How to apply the parallel computing technology of GPU to more scientific computations is currently the hot topic in the high performance computing field. In this paper, for the purpose of demonstrating the programmability and multi-threads parallel computing power of GPU, we have done the following work:Firstly, matrix inversion is an important matrix operation, but the computing process of large-scale matrix inversion is very time-consuming in the serial mode of CPU. In this paper, we map the calculation of matrix inversion onto GPU using Compute Unified Device Architecture (CUDA) provided by NVIDIA according to the hardware characteristics of GPU. And we got a significant speedup (more than 300) and the peak single-precision performance has achieved 230 Gflops which can meet the demand for computing speed of matrix inversion in some scientific computation applications. The single-precision and the double-precision FLOPS of GPU are analyzed according to the results of this program. What is more, we analyze the influence of data transfer time on the parallel performance of GPU and summarize the characteristics of the algorithms fit for GPU for the purpose of applying GPU to molecular dynamics simulation which is a more complex computational system.Secondly, normal mode analysis (NMA) is an effective method to predict collective structural changes in proteins and it is the most time-consuming part in molecular simulation for calculating the sample of free energy. However, the calculations are limited in time scale mainly because the required diagonalization of the matrix is a computationally exhausting task. In this paper, we accelerate NMA process by mapping the most time-consuming part onto GPU. The GPU-accelerated all-atom NMA has achieved a considerable speedup (more than 20) over CPU-based NMA which could reduce the runtime of diagonalization significantly and the peak single-precision performance has achieved 180 Gflops. In addition, we analyze the influence of precision changes on both the computing performance and the accuracy of GPU.
【Key words】 Graphics processing unit (GPU); Scientific computing; Parallel processing; Matrix inversion; Normal mode analysis (NMA);