GPU计算在量子化学程序中的开发与应用
本文选题:GPU + CUDA ; 参考:《安徽师范大学》2014年硕士论文
【摘要】:基于GPU在计算化学中的应用与开发,本论文首先介绍了近年涌现出的基于GPU的计算化学(量子力学和分子力学)的新算法及现有的GPU计算化学程序的应用进展,然后重点介绍了我们自主研发的基于GPU加速的半经验程序和从头算双电子排斥积分算法的GPU程序。 本论文的结构和主要内容如下: (1)阐述了计算化学从头算方法、DFT方法和分子动力学的相关理论及现有的CPU程序存在的问题和性能瓶颈。 (2)详细介绍了GPU的强大计算能力和Nvidia CUDA架构作为GPU编程应用最为广泛的编程架构的相关知识。 (3)介绍了现有的GPU程序TeraChem、ACEMD和其他程序的研究进展,及使用Amber和TeraChem联用进行GPU加速的QM/MM计算的尝试。 (4)半经验方法由于其计算速度比通常的从头算方法快百倍以上,在今天的计算化学领域仍然扮演着非常重要的角色,但是在处理通常包含数千乃至数万个原子的生物分子体系,半经验方法仍然需要提高计算速度。我们采用GPU对原有的半经验程序进行改进。在开发过程中,,我们分析了半经验程序的计算速度的瓶颈所在,并针对计算中最为耗时的部分Fock矩阵对角化和密度矩阵元计算使用GPU加速,实现了对传统CPU半经验程序30倍左右的加速比。 (5)对于大多数从头算方法来说,处理电子结构的第一步是大量的双电子排斥积分的计算。进行电子排斥积分计算的计算量之大与耗时之多是从头算计算程序的一大瓶颈,我们利用Nvidia CUDA平台重新编写了从头算算法中的s双电子积分计算部分,通过我们的不断摸索,使用GPU重新编写的代码能显著提高双电子积分的计算速度。 目前计算化学领域常用的计算程序大多开发于70-80年代,老旧的程序架构在日新月异的计算机技术面前显得十分落后。GPU计算的崛起对于计算化学领域来说意义重大,设计并开发适合GPU高度并行性的计算程序,充分利用GPU的强大计算能力,从而数十倍的提高计算化学程序的计算效率。最后对中国计算化学借助新兴的GPU技术实现突破提供了建议和意见:GPU用于数值计算为中国计算化学界提供了一个新机遇。利用新兴的GPU技术,开发出有中国独立知识产权,跻身世界一流的计算化学软件,改变中国只能高价购买国外软件的现状,此其时也。
[Abstract]:Based on the application and development of GPU in computational chemistry, this paper first introduces the new algorithms of computational chemistry (quantum mechanics and molecular mechanics) based on GPU and the application progress of existing GPU computational chemistry programs in recent years. Then we introduce the semi-empirical program based on GPU acceleration and the GPU program based on ab initio double electron repulsion integral algorithm. The structure and main contents of this thesis are as follows: The related theories of computational chemistry ab initio method and molecular dynamics, the problems existing in the existing CPU programs and the performance bottlenecks are described. The powerful computing power of GPU and the knowledge of Nvidia CUDA as the most widely used programming architecture for GPU programming are introduced in detail. This paper introduces the research progress of the existing GPU program Tera Chemer ACEMD and other programs, and attempts to use Amber and TeraChem in the GPU accelerated QM/MM calculation. (4) the semi-empirical method is still playing a very important role in computational chemistry today because its computational speed is more than 100 times faster than the usual ab initio method, but it still plays a very important role in dealing with biomolecular systems that usually contain thousands or even tens of thousands of atoms. The semi-empirical method still needs to improve the speed of calculation. We use GPU to improve the original semi-empirical program. In the course of development, we analyze the bottleneck of the computing speed of the semi-empirical program, and use GPU to accelerate the calculation of the most time-consuming part of the Fock matrix diagonalization and density matrix element calculation. The speedup ratio of 30 times to the traditional CPU semi-empirical program is realized. For most ab initio calculations, the first step in dealing with electronic structures is the calculation of a large number of double electron repellent integrals. It is a bottleneck of ab initio calculation program to calculate the electronic repellent integral. We rewrote the s double electron integral calculation part of ab initio calculation method by using Nvidia CUDA platform, and through our continuous exploration, The code rewritten using GPU can significantly improve the calculation speed of double electron integral. Most of the computing programs commonly used in the field of computational chemistry were developed in the 1970s and 1980s. The rise of the old program architecture in the face of the ever-changing computer technology is of great significance to the field of computational chemistry. In order to make full use of the powerful computing power of GPU, the computational program suitable for high parallelism of GPU is designed and developed, and the computational efficiency of computational chemistry program is improved by tens of times. Finally, some suggestions and suggestions for the breakthrough of Chinese computational chemistry with the help of the new GPU technology are given. The application of the GPU to the numerical calculation provides a new opportunity for the Chinese computational chemistry community. It is time to use the emerging GPU technology to develop China's independent intellectual property rights and rank among the world's best computational chemistry software, changing the situation that China can only buy foreign software at a high price.
【学位授予单位】:安徽师范大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP311.1;O641.121
【相似文献】
相关期刊论文 前10条
1 蔡广宇;崔世林;;基于互信息的焊缝图像处理及其GPU实现[J];焊接技术;2010年10期
2 韩博;陆新征;许镇;李易;;基于高性能GPU计算的城市建筑群震害模拟[J];自然灾害学报;2012年05期
3 程甜甜;陈阁;陈新;李云飞;;基于GPU的大规模地形场景实时渲染[J];苏州大学学报(工科版);2008年03期
4 杨辉华;唐天彪;李灵巧;郭拓;罗国安;;基于GPU计算的并行PLS算法研究与实现[J];分析测试学报;2012年07期
5 ;[J];;年期
6 ;[J];;年期
7 ;[J];;年期
8 ;[J];;年期
9 ;[J];;年期
10 ;[J];;年期
相关会议论文 前4条
1 夏青;岳利群;;基于GPU编程的海浪仿真技术研究[A];2007系统仿真技术及其应用学术会议论文集[C];2007年
2 刘小虎;胡耀国;符伟;;大规模有限元系统的GPU加速计算研究[A];中国计算力学大会'2010(CCCM2010)暨第八届南方计算力学学术会议(SCCM8)论文集[C];2010年
3 张迪;黄伟;罗琦;王侃;;波形板干燥器内液滴数值模拟的GPU并行加速[A];第十六届全国流体力学数值方法研讨会2013论文集[C];2013年
4 李慧;付志一;;基于GPU计算的有限元总刚组成方法探索[A];北京力学会第17届学术年会论文集[C];2011年
相关重要报纸文章 前7条
1 本报记者 刘燕;GPU加速是手机浏览器方向[N];科技日报;2012年
2 ;GPU,智能手机好推手[N];电脑报;2013年
3 诸玲珍;NVIDIA推0.13微米GPU[N];中国电子报;2002年
4 网络世界记者 周源;曙光三款GPU服务器问世[N];网络世界;2013年
5 小溪 编译;NVIDIA唱响GPU统一架构时代序曲[N];计算机世界;2006年
6 ;GPU市场Q2创八年最大增幅[N];计算机世界;2009年
7 沈阳 刘镝;GPU:给显卡一颗驿动的“芯”[N];电脑报;2001年
相关博士学位论文 前4条
1 陈钢;众核GPU体系结构相关技术研究[D];复旦大学;2011年
2 刘华海;节点内多CPU多GPU协同并行绘制关键技术研究[D];国防科学技术大学;2012年
3 白洪涛;基于GPU的高性能并行算法研究[D];吉林大学;2010年
4 林一松;面向GPU的低功耗软件优化关键技术研究[D];国防科学技术大学;2012年
相关硕士学位论文 前10条
1 韦婷;基于GPU的自然场景渲染优化技术研究[D];广西大学;2013年
2 梅世冬;实时阴影绘制方法研究及GPU加速[D];华中师范大学;2010年
3 李军;基于GPU的大规模场景实时阴影绘制[D];湖南大学;2011年
4 晏福兴;基于GPU的软阴影技术的研究[D];杭州电子科技大学;2009年
5 明星;基于GPU的医学图像三维重建算法及其应用[D];华中科技大学;2009年
6 马鸣飞;基于GPU加速的三维超声成像系统[D];哈尔滨工业大学;2011年
7 苏金洲;基于粒子滤波的检测前跟踪算法研究及在GPU平台上的实现[D];电子科技大学;2013年
8 范希贤;基于GPU的并行排序学习算法研究[D];哈尔滨工业大学;2012年
9 刘伟;基于图谱配准的肝脏CT三维自动分割研究及GPU加速平台实现[D];南京邮电大学;2011年
10 彭绍鑫;基于GPU的硬件加速方法及其在积分方程数值解中的应用[D];电子科技大学;2008年
本文编号:1869749
本文链接:https://www.wllwen.com/falvlunwen/zhishichanquanfa/1869749.html