(计算机应用技术专业论文)基于gpu的分子动力学模拟方法研究.pdf_第1页
(计算机应用技术专业论文)基于gpu的分子动力学模拟方法研究.pdf_第2页
(计算机应用技术专业论文)基于gpu的分子动力学模拟方法研究.pdf_第3页
(计算机应用技术专业论文)基于gpu的分子动力学模拟方法研究.pdf_第4页
(计算机应用技术专业论文)基于gpu的分子动力学模拟方法研究.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机应用技术专业论文)基于gpu的分子动力学模拟方法研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着集成电路技术的发展,图形处理器( g r a p h i c sp r o c e s s i n gu n i t ,g p u ) 的 发展相当迅速,g p u 的计算能力及存储器带宽均已大大超过目前主流c p u 。将 g p u 作为c p u 的协处理器完成大规模数据密集型的计算任务,相对于集群和超 级计算机的实现,具有很高的每瓦特性能、每平方英尺性能和性能价格比。另 一方面,分子动力学( m o l e c u l a rd y n a m i c s ,m d ) 模拟作为研究复杂凝聚态系 统的有力工具,广泛应用于物理、化学、生物、材料、医学等各个领域,但计 算能力一直是制约其研究发展的瓶颈。因此,本文基于c u d a ( c o m p u t e ru n i f i e d d e v i c ea r c h i t e c t u r e ,统一计算设备架构) 平台,利用g p u 完成分子动力学模拟 具有重要的理论意义和现实意义。 本文在对基于c u d a 的g p u 并行计算技术和分子动力学模拟方法进行深入 研究的基础上,将g p u 与分子动力学模拟相结合,选取模拟耗时9 0 的分子间 作用力计算部分,给出了基于c u d a 的并行计算模型,分析了并行计算方法, 给出了基于g p u 的分子动力学模拟算法流程,通过在i n t e ld u a l c o r e2 9 3 g h z c p u 和g e f o r c eg t s2 5 0g p u 上进行了实现,测试结果表明g p u 带来了2 0 倍 的加速效果。在分析分子间作用力并行计算模型不足的基础上,给出了一种改 进的并行计算方法,并以测试结果说明了改进方法的有效性。 分子动力学模拟的目的是获取宏观统计物理量,热力学量就是一种常见的 物理量。本文研究了g p u 加速的热力学量提取方法,给出了热力学量提取的 c u d a 并行化模型和算法流程,进行了c u d a 并行实现和测试。结果表明,在 误差极小的情况下,基于g p u 的热力学量提取得到了1 9 0 倍的速度提升。 径向分布函数( r a d i a ld i s t r i b u t i o nf u n c t i o n ,r d f ) 也是一种常见的物理量, 用来研究物质的有序性和电子的相关性。本文研究了g p u 加速的r d f 提取方法, 将邻近分子搜索算法映射为g p u 线程并行处理过程,给出了邻近分子搜索的 c u d a 并行计算模式。测试结果表明,g p u 的加速比为3 6 0 ,且计算结果的误 差为零。基于g p u 的r d f 提取方法研究,为g p u 在光滑粒子流动动力学 ( s m o o t h e dp a r t i c l eh y d r o d y n a m i c s ,s p h ) 方法、n b o d y 问题、生命科学、纳 米技术等方面的应用奠定了基础。 关键词:g p u ,c u d a ,分子动力学模拟,热力学量,r d f a b s t r a c t w i t ht h ed e v e l o p m e n to fi n t e g r a t e dc i r c u i t ( i c ) t e c h n o l o g y ,g r a p h i c sp r o c e s s i n g u n i t ( g p u ) i sb e c o m i n gv e r yp o w e r f u l ,t h ec o m p u t i n gc a p a c i t ya n dm e m o r y b a n d w i d t ho fg p ua r em u c hb e t t e rt h a nt h a to ft h ec p u c o m p a r i n gw i t ht h e r e a l i z a t i o no fc l u s t e r sa n ds u p e r c o m p u t e r s ,t h el a r g e s c a l ed a t a i n t e n s i v ec o m p u t i n g t a s k s ,w h i c ha r ec o m p l e t e db yg p ua sac o p r o c e s s o ro fc p u ,h a v eh i g hp e r f o r m a n c e p e rw a t t ,h i g hp e r f o r m a n c ep e rs q u a r ef o o ta n dh i g hp e r f o r m a n c e p r i c er a t i o o nt h e o t h e rh a n d ,t h em o l e c u l a rd y n a m i c ss i m u l a t i o ni sw i d e l yu s e da sap o w e rt o o lo f c o m p l e xc o n d e n s e dm a t t e rs y s t e mi nt h ef i e l d sb u t n o tl i m i t e dt op h y s i c s ,c h e m i s t r y , b i o l o g y ,m a t e r i a l s ,m e d i c i n e ,b u tt h ec o m p u t i n gc a p a c i t yi sab o t t l e n e c kr e s t r i c t i n gt o t h ed e v e l o p m e n to ft h e i rr e s e a r c h t h e r e f o r e ,t h er e s e a r c ho fm o l e c u l a rd y n a m i c s s i m u l a t i o nw i t hg p ub a s e do nc o m p u t e ru n i f i e dd e v i c ea r c h i t e c t u r e ( c u d a ) h a s i m p o r t a n tt h e o r e t i c a ls i g n i f i c a n c ea n dp r a t i c a ls i g n i f i c a n c e t h i st h e s i si n t r o d u c e sg p u p a r a l l e lc o m p u t i n gt e c h n o l o g yb a s e d o nc u d aa n d m o l e c u l a rd y n a m i c ss i m u l a t i o nm e t h o di nd e t a i la n dg i v e st h ec u d a p a r a l l e l c o m p u t i n gm o d e lo fi n t e r m o l e c u l a rf o r c ew h i c ht a k e s9 0 o fs i m u l a t i o n t i m e - c o n s u m i n g ,a n d t h e na n a l y s i s e st h ep a r a l l e lc o m p u t i n gf e a t u r eo fi n t e r m o l e c u l a r f o r c e t h eg p u - b a s e da l g o r i t h mo fm o l e c u l a rd y n a m i c ss i m u l a t i o ni sg i v e da n d i m p l e m e n t e do nap cw i t hi n t e ld u a l - c o r e2 9 3g h z c p ua n dg e f o r c eg t s 2 5 0 g p u t h er e s u l ts h o w st h a tt h eg p u - b a s e dm e t h o da c h i e v e sah i 曲s p e e d u po fu pt o 2 0f o l d s b a s e do nt h ea n a l y s i so fi n s u f f i c i e n to fp a r a l l e lc o m p u t i n gm e t h o do f i n t e r m o l e c u l a rf o r c e ,a ni m p r o v e dc o m p u t i n gm o d e li sp r o p o s e da n dv a l i d a t e d t h ep u r p o s eo fm o l e c u l a rd y n a m i c ss i m u l a t i o ni st oo b t a i nm a c r o s c o p i c s t a t i s t i c a lp h y s i c a lq u a n t i t i e s ,i n c l u d i n gt h e r m o d y n a m i cq u a n t i t y t h i st h e s i ss t u d i e s t h ee x t r a c t i o nm e t h o do ft h e r m o d y n a m i cq u a n t i t y ,a n dt h e ng i v e sac u d a p a r a l l e l m o d e la n da l g o r i t h mo ft h ee x t r a c t i o no ft h e r m o d y n a m i cq u a n t i t y t h er e s u l ts h o w s t h a tt h eg p u - b a s e da l g o r i t h mw i t has m a l le r r o rh a sab e t t e rs p e e d u pw h i c hi su pt o 1 9 0f o l d s r a d i a ld i s t r i b u t i o nf u n c t i o n ( r d f ) ,w h i c hi su s e dt os t u d yt h eo r d e r i n go f m a t e r i a l sa n dt h ec o r r e l a t i o no fe l e c t r o n ,i sa l s oac o m m o np h y s i c a lq u a n t i t y t h e e x t r a c t i o nm e t h o do fr d fb a s e do ng p ui ss t u d i e d ,a n dt h e nt h en e i g h b o rp a r t i c l e i i s e a r c hm e t h o di sm a p p e dt og p u st h r e a dp a r a l l e lp r o c e s s i n g , a n dt h ec u d a c o m p u t i n gm o d e l o fn e i g h b o rp a r t i c l es e a r c hm e t h o di sp r o p o s e d w i t h o u tl o s i n g p a r t i c l en u m b e r ,g p ub r i n g sas p e e d u po f3 6 0f o l d s t h er e s e a r c ho fr d f e x t r a c t i o n m e t h o db a s e do ng p u g i v e s af o u n d a t i o no fg p u sa p p l i c a t i o ni nt h ef i e l d ,s u c ha s s m o o t h e dp a r t i c l eh y d r o d y n a m i c s ( s p i - i ) m e t h o d ,n - b o d yp r o b l e m ,l i f es c i e n c e s , n a n o t e c h n o l o g y k e y w o r d :g p u ,c u d a ,m o l e c u l a rd y n a m i c ss i m u l m i o n ,t h e r m o d y n a m i cq u a n t i t y , r d f i i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 武汉理工大学或其它教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说 明并表示了谢意。 签名:望! 盘日期:型蜘丝旦 学位论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即: 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位论文的 全部内容编入有关数据库进行检索,可以采用影印、缩印或其他复制 手段保存或汇编本学位论文。同时授权经武汉理工大学认可的国家有 关机构或论文数据库使用或收录本学位论文,并向社会公众提供信息 服务。 ( 保密的论文在解密后应遵守此规定) 研究生( 签名) 狃导师( 签名) :醢日期:幽 武汉理上大学硕士学位论文 1 1 研究背景及意义 第1 章引言 g p u ( g r a p h i c sp r o c e s s i n g u n i t ,图形处理器) 是显卡中非常重要的一个部分 主要任务足加速图形图像处理速度。g p u 与c p u 的不同之处主要在于:( 1 ) 设 计目标不同,c p u 设计重点尾减少访存延迟、提高缓存的命中率和分支预测的 准确度使得尽快的执行一串指令。g p u 设计重点是提高数据并行处理能力和 吞吐能力,使得并行执行更多的指令;( 2 ) 晶体管占有不同,c p u 的主要晶体 管用在指令流控制、分支预测、数据缓存等硬件实现以提高少量执行单元的 执行效率,g p u 的主要晶体管用于数据处理以提高大量流处理单元的执行效率, 而不是指令流控制和数据缓存,图1 - 1 是c p u 与g p u 晶体管示意图。 e 昌 g p u 图1 - 1 c p u 与g p u 晶体管示意图 早期计算机的图形处理任务主要由c p u 负责完成,直到2 0 世纪8 0 年代初 期g e ( g e o m e t r ye n g i n e ) i l l 图形处理器的出现使得图形处理任务逐渐从c p u 向 g p u 转移。到目前为止,g p u 已经经过了八代的发展,每一代都拥有比前一代 更高的性能和更完善的可编程架构1 2 。同时,g p u 的单精度浮点计算能力和存 储器带宽的发展速度也大大快于c p u ,如图1 - 2 和闺l - 3 所示洲,这里的c p u 存储器带宽指的是c p u 与内存( 通过d i m m 插槽与土板相连并具有可扩展性) 的数据传输带宽,g p u 存储器带宽指的是g p u 与显存( 固化在显仁p c b 板上 的g d d r 存储器颗粒) 的数据传输带宽。从图中可以看出g p u 的单精度浮点 计算能力相当于同时期主流c p u 的1 0 倍左右,g p u 的存储器带宽也相当于同 时期g p u 的5 倍左右。 武汉理f k 学硕1 :学忙论史 “,一“ ! ” 一, m 一。 ! _ :! ! ,“。:。鬻警。 。# j 二:o 举= 一 图1 - 2 g p u 与c p u 的计单精度浮点计算能山发展趋势 1 4 0 1 2 0 g t 2 0 0 g 8 0u l t r a 墨1 0 0 ( 3 8 0 竺8 0 ,7 。 善6 06 少 宙4 0 n ? w o n 龇 :。翟螽! ! 竺堂竺! :竺l 一 0 2 0 0 32 0 0 42 0 0 52 0 0 6 2 0 0 72 0 0 8 圈1 - 3g p u 与c p u 的存储器带宽发展趋势 计算机技术和集成电路技术的发展带来了c p u 和g p u 性能的大幅度提升, 但c p u 性能的提升主要依赖于提高处理器的工作频率、增加指令级并行队及集 成更多的处理器核心如双核c p u 、4 核c p u 、8 核c p u ,而提高g p u 性能的 主要手段是集成更多的晶体管和有效利用晶体管资源,n v i d l a f e r m ig p u 的晶 体管数目达到3 0 亿,包含了5 1 2 个c u d a 计算c o r e 这使得g p u 的浮点计算 能力和存储器带宽远大干c p u ,其发展速度也大大快于c p u 。为了充分利用g p u 计算资源研究人员开创了一个新的研究领域:基于g p u 的通用计算 武汉理t 大学硕十学位论文 ( g e n e r a l p u r p o s ec o m p u t i n go ng r a p h i c sp r o c e s s i n gu n i t s ,g p g p u ) ,其主要研究 内容是,除了在图形处理以外,如何利用g p u 来进行更为广泛的应用计算【4 j 。 虽然以前利用图形卡来实现图形本身的应用,如光照计算、深度检测、光栅化、 反走样等,但基于g p u 的通用计算真正全面开展起来是因为可编程性的普及1 5 l 。 2 0 0 1 年出现的顶点级可编程( v e r t e xp r o g r a m ) 使得开发人员能够利用顶点编程 完成一部分g p u 通用计算,但此时只是通用编程的初步尝试1 6 l 。随着2 0 0 3 年像 素级可编程( p i x e lp r o g r a m ) 的提出,程序员能够基于像素程序求解一般代数问 题,甚至求解有限差分方程组1 7 j 。到了2 0 0 4 年,斯坦福大学研究的b r o o k g p u 项目i s l 降低了g p g p u 开发的入门门槛,程序员只需掌握与c 语言类似的b r o o k 编程语言即可进行基于g p u 的通用计算研究,但实时编译器b r o o k 的效率不 高,应用范围受到了限制,而到了2 0 0 5 年,a t i 扩展了基于c g 的b r o o k 编译 器,推出了s t r e a m 9 j 通用计算开发包,但它仅仅适用于有限的领域,仍没有被广 泛的采用。 由于g p u 对非图形应用的支持有限,通过c g 、h l s l 等编程语言和d i r e c t x 、 o p e n g l 图形a p i 进行g p u 编程时要求程序员必须了解硬件( g p u ) 细节,具 有一定的难度,为了使g p u 强大的并行计算能力和很高的存储器带宽在大规模 数据并行和计算密集型计算领域发挥优势,n v i d i a ( 英伟达) 公司于2 0 0 7 年6 月推出了c u d a ( c o m p u t e r u n i f i e dd e v i c e a r c h i t e c t u r e ,统一计算设备架构) 1 3 j 。 c u d a 是一种全新的处理和管理g p u 计算的硬件和软件架构,有助于解决科学 及工程方面复杂计算问题。与g p g p u 不同的是,c u d a 是一个完整的解决方案, 包含了a p i 、s d k 、t o o l k i t 、c u d a 编译器、c u d a 调试器等,能利用显卡片内 s h a r e dm e m o r y 共享数据,支持b l o c k 内线程间通信。 c u d a 提供了对g 8 0 g 9 2 g t 2 0 0 腰e r m i 系列产品的支持,g 8 0g p u 的主要 代表为n v i d i ag e f o r c e8 8 0 0 ,它首次采用统一着色单元代替分离的顶点着色器 ( v e r t e xs h a d e r ) 和像素着色器( p i x e ls h a d e r ) ,同时引入了s h a r e dm e m o r y ; g t 2 0 0g p u 在g 8 0 g 9 2 的基础上,放宽了g l o b a lm e m o r ) r 合并访问条件,加入 了对s h a r e dm e m o r y 的原子操作和双精度浮点计算的支持1 3 j ,但此时的双精度运 算性能比较弱,主要代表为n v i d i ag e f o r c eg t x2 6 0 、g t x 2 8 0 、g t x2 9 5 : f e r m i 架构扩展了g 8 0 g 9 2 g t 2 0 0 ,采用了第三代的s m ( s t r e a m i n g m u l t i p r o c e s s o r ) 架构和第二代的线程并行计算i s a ( i n s t r u c t i o n s e ta r c h i t e c t u r e ) 架构、增加了内存容错能力、增强了内存操作子系统、大幅提升了的双精度计 算能力、提供了更大容量的s h a r e dm e o r y 并添加了内存缓存等1 1 0 】。 3 武汉理j t = 大学硕士学位论文 分子动力学( m o l e c u l a rd y n a m i c s ,m d ) 模拟是指对于原子核和电子所构 成的多体系统,求解运动方程,其中每一个原子核或电子被视为在全部其它原 子核或电子作用下运动,通过分析系统中每个粒子的受力情况,用经典或量子 的方法求解系统中每个粒子在某时刻的位置和速度,以确定粒子的运动状态, 进而计算系统的结构和性质【1 1 】。它是随着计算机技术发展而兴起的一种科学计 算方法,从1 9 5 6 年d e r 【1 2 l 首次使用以来,现已广泛应用于各个领域。目前, 许多在实际实验中无法获得的微观细节,而在分子动力学模拟中可以很方便的 得到,这种优点使得分子动力学模拟在新材料的研究和开发、预测材料的介观 和宏观性质等领域显得非常重型1 3 】。 对于大分子的分子动力学模拟,时间尺度通常为微秒,甚至毫秒级别,需 要进行数千甚至上万条轨迹的模拟才能获得具有统计意义的结果,对计算机性 能提出了很高的要求1 1 4 1 。同时,模拟结果的精度主要一部分取决于模拟体系的 粒子规模以及时间积分步数的多少;粒子规模越大和时间积分步数越多,精度 越高,但同时计算机的模拟耗时也会急剧增加1 1 5 1 。 g p u 具有非常高的单精度浮点计算能力和存储器带宽,双精度浮点计算能 力也在不断提升,高端芯片g e f o r c eg t x2 9 5g p u 的单精度浮点处理能力达到 了1 7 t f l o p s ,存储器带宽达到了2 2 3 8 g b s ,近期推出的f e r m ig p u 的双精度 浮点计算能力8 倍于g t 2 0 0g p u ,预计可达6 2 4g f l o p s ,存储器带宽较g t 2 0 0 g p u 也提高了一倍。本文利用g p u 强大的并行处理能力和很高的存储器带宽, 将g p u 作为加速器完成基于c p u 的分子动力学模拟中耗时最长的分子间作用力 计算任务,加快了作用力计算速度,从而在较短时间内完成分子动力学模拟, 大大减少模拟时间,并可以获取较为准确的模拟结果。相对于高性能计算集群 系统,这种c p u + g p u 的异构多核架构计算系统在完成分子动力学模拟的同时, 其体积等同于一台普通p c 或工作站,不仅能够方便的构建,给用户提供了使用 上的灵活性,而且带来了占地面积的缩小、空调( 用于集群系统及机房降温) 耗电的减少、更低的噪声、成本( 构建、管理及维护高性能计算系统) 的降低, 具有较高的每瓦特性能、每平方英尺性能和性能价格比,有利于节约能源、节 约空间、降低成本,满足低碳要求,符合当前绿色r r 的发展趋势。 4 武汉理t 大学硕士学位论文 1 2 国内外研究现状及发展趋势 2 0 0 7 年n v i d i a 公司推出了基于g 8 0g p u 的c u d a ,基于c u d a 的g p u 通用计算研究开始引起了广泛的关注,随后推出g 9 2 、g t 2 0 0 、f e r m i 架构的g p u , g p u 的计算能力不断增强。由于g p u 具有强大的计算能力,非常适合完成数据 并行和计算密集型的任务,越来越多的计算密集型的应用程序执行速度通过 g p u 加速得到了令人瞩目的提升,获得了几倍、几十倍,甚至上百倍的加速比。 在信号处理方面,r u i j t e r s l l 6 i 翦:g e f o r c e 9 8 0 0g p u 利用c u d a 编程实现了二 维纹理和三维纹理的三次b 样条插值,进行了测试并与i n t e lx e o n2 3 3 c p u 执行时 间对比,获得了3 2 7 倍的加速。d a v i d 1 6 j 基于n v i d i as 1 0 7 0 实现了反投影( s a r ) 算法,并用一幅1 5 0 0 x 1 6 0 0 图像进行了测试,相对于c p u 需要3 1 分钟完成测试, g p u 算法仅耗时5 6 秒。u j a l d o n i r 川提出了一种基于c u d a 的二维快速小波变换方 法,在i n t e lq 6 7 0 0c o r e2q u a d2 6 6g h z 和t e s l ac 8 7 0g p u 上进行了2 0 4 8 x 2 0 4 8 和 8 1 9 2 x 1 9 2 图像测试,g p u 的加速效果明显,分别获得了4 6 倍和9 8 倍的速度提升。 在视频与音频方面,美国e l e m e n t a lt e c h n o l o g i e s 公司借助n v i d i ac u d a 技术开发出比较成熟的民用级别的视频编码软件产品- - b a d a b o o m ,同时也推出 面向专业市场的产品一r a p i h d a c c e l e r a t o r f o r a d o b ep r e m i e r ep r o ,使得专业人员 大大提高了工作效率。c o r e c o d e c 公司应用c u d a 技术,开发出高清视频解码 粗o r e a v c ,它成功利用流处理器进行解码,能够极大降低c p u 压力,并提供 良好的兼容性。h i s a y o r in o d a l l 6 j 利用c u d a 技术成功实现了广义谐波分析。 在医疗成像方面,东京大学t a k e y o s h id o h i 掣1 8 l 利用g e f o r c e 8 8 0 0 g t x 构建 并行计算平台,利用c t 和m r i 扫描获得的实时活体截面图数据进行测试,g p u 交付了几乎等同于u l t r a s p a r c 系统的三倍性能,而成本却远远低于u l t r a s p a r c 系统,该小组正基于t e s l ad 8 7 0 利用c u d a 来优化目前的系统。a l i e lm i t t m a n n 1 8 j 借助c u d a 技术成功实现了实时光纤追踪。 在金融方面,h a n w e c ka s s o c i a t e s l l 9 j 公司用1 2 块g p u 实时分析了美国整个 期权市场,延迟时间不超过1 0 微妙,而达到这样的速度则通常需要至少6 0 个 传统的服务器。s c i c o m p 公司1 1 6 j 完成了s c i f i n a n c e 财政结果的g p u 并行计算, 并能得到2 2 0 倍的加速效果。 在人工智能方面,k i m 掣2 0 】完成了粒子群优化算法( p s o ) 算法,相对于 c p u 上运行的p s o 算法,g p u 加速的p s o 算法节省了3 8 的时间。r u e d aa j 等利用c u d a 技术并行实现了三维网格中的基本遗传算法。m u n a w a r 掣2 1 】研究 武汉理工大学硕士学位论文 了基于c u d a 的并行混合遗传算法和局部搜索( l s ) ,并分析应用于m a x s a t 问题所面临的挑战。同时,利用t e s l ac 1 0 6 0g p u 多次进行了规模及性能测试, 数据表明,g p u 能带来2 5 倍的速度提升。 在科学计算方面,f u j i m o t on o r i y u k i l 2 2 l 在g e f o r c e8 8 0 0 g t x 和2 0g h z i n t e l x e o ne 5 3 3 5c p u 的p c 机进行了稠密矩阵向量乘法,相对于n v i d i ab l a sl i b r a r y c u b l a s1 1 实现的算法,c u d a 可获得1 1 1 9 倍的速度提升。同时,基于c u d a 的稠密矩阵向量乘法明显快于单核x 8 6c p u 的i n t e lm a t hk e r n e ll i b r a r y9 1 ,能够 得到了3 5 1 5 倍的加速效果。g o v i n d a r a j un k 等1 2 3 l 在i n t e lq x 9 6 5 03 0 g h zc p u 上 分别配置8 8 0 0 g t x 、8 8 0 0 g t s 、g t x 2 8 0 三块不同的显卡,进行了基于c u d a 的 快速傅里叶变换,相对于n v i d i ac u f f t1 1 和i n t e lm a t h m k l1 0 2 实现的算法, c u d a 带来了2 - - 4 倍和8 - - 4 0 倍的加速效果。 在国内,基于c u d a 的g p u 通用计算的研究范围也比较广。 中科院多相复杂系统国家重点实验室多尺度离散模拟项目组1 2 j 在2 4 8 片i n t e l e 5 4 3 02 6 6 g h zc p u 基础上,基于2 0 0 片t e s l ac 8 7 0 + 和2 0 片g e f o r c e 9 8 0 0g x 2 g p u ,搭建了c p u g p u 耦合的异构集群和相应的多级并行计算实验系统,该套 系统的浮点计算能力的理论峰值为1 2 4 t f l o p s ,可用峰值为8 2t f l o p s ,利用 c u d a 成功实现了基于单g p u 和多g p u 格子玻尔兹曼方法( l a t t i c eb o l t z m a n n m e t h o d ,l b m ) ,并在该套系统上进行了颗粒流体系统宏观粒子模拟的研究。 湖南大学的彭俊杰【2 4 】基于c u d a 平台,进行了k i r c h h o f f 叠前深度偏移方法和 k i r c h h o f f 叠前时间偏移方法的研究,借助g e f o r c e8 8 0 0g tg p u 带来了6 倍以 上的速度提升,同时在不丧失地震成像精度的情况下,g p u 加速的相干体c 3 算法相对于c p u 获取了8 倍的加速效果。北京大学的徐山1 2 5 j 利用c u d a 技术完 成了海洋表面生成过程所需的f i 可计算,并利用此方法生成海浪波高模型。电 子科技大学的张舒【冽在i n t e lt 2 5 0 02 0 g h zc p u 和g t x2 6 0 + g p u 的p c 机上进 行了基于g p u 的模式识别并行算法研究,完成了奇异值分解、k f c m 算法及 a c 算法的c u d a 实现。 目前包括中国科学院与清华大学的国内大学院校陆续开展了c u d a 教学。 从以上方面的工作可以看出c u d a 在g p u 通用计算方面的应用领域很广, 但这方面的研究工作才刚刚起步。随着g p u 架构的进一步改进和c u d a 技术不 断成熟,c u d a 技术将会应用到大规模的数据密集型计算领域,如数理统计分 析、军事模拟、数据库与数据挖掘、搜索引擎中的排序与文本分类等相关算法 应用、语音识别等,基于c u d a 的g p u 通用计算也会有巨大的发展潜力。 6 武汉理工大学硕士学位论文 1 3 本文的主要研究内容和组织结构 本文重点是将分子动力学模拟方法中的部分算法用g p u 实现,利用g p u 强 大的并行处理能力和高效率的数据传输能力,将分子动力学模拟方法中的环节, 设计适合g p u 的并行程序,从而提高模拟效率,本文的主要研究内容如下: ( 1 ) 基于c u d a 的g p u 内存访问优化策略的研究 分析了g t 2 0 0g p u 架构与c u d a 编程方法,研究了全局内存访问优化策略、 共享内存访问优化策略、常量内存访问优化策略、寄存器访问优化策略,为c u d a 程序的编写及优化提供了参考。 ( 2 ) 基于g p u 的并行m d 模拟方法研究 分子间作用力计算耗费了m d 模拟9 0 的计算时间,因此实现分子间作用力 计算是m d 模拟的关键环节。给出了在g p u 上实现的移植方案,分析了分子间 作用力计算的可并行处理特征,给出了g p u 加速m d 模拟的算法流程,实现了 基于g p u 的并行m d 模拟方法,在分析并行计算方案不足的基础上给出了性能 优化方法,进行了测试并与c p u 上的执行时间进行了对比,获得了较好的效率。 ( 3 ) 基于g p u 的热力学量提取方法研究 研究了热力学量提取方法,给出了热力学量提取方法的c u d a 并行化模型 及算法流程,完成了c u d a 并行实现,并进行了测试,获得了较好的加速效果, 且具有较好的精度。 ( 4 ) 基于g p u 的r d f 提取方法研究 研究了r d f 提取方法的关键环节,给出了邻近分子搜索的c u d a 并行计算 模式,并进行了c u d a 并行实现。测试结果表明了g p u 方法具有更好的性能, 且结果误差为零。 本文共分为六章,其内容如下: 第一章引言。首先阐述了本文的研究背景及意义,然后概述了基于c u d a 的g p u 通用计算的国内外研究现状及发展趋势,最后介绍了本文的主要研究内 容和组织安排。 第二章分子动力学模拟方法。首先概述了分子动力学模拟方法;接着介绍 了势函数和积分求解方法,描述了用于计算短程作用力的截断半径法;最后介 绍了周期性边界条件、最近镜像原则。 第三章g p u 内存访问优化策略研究。首先详细描述了g t 2 0 0 架构,讨论了 c u d a 编程方法,然后深入研究了全局内存访问优化策略、共享内存访问优化 7 武汉理工大学硕士学位论文 策略、常量内存访问优化策略、寄存器访问优化策略,为设计、实现及优化分 子动力学模拟方法提供了依据。 第四章基于g p u 的并行m d 模拟方法研究。选取模拟耗时9 0 的分子间作 用力计算部分,给出了基于c u d a 的并行计算模型,分析了并行计算方法,给 出了基于g p u 的分子动力学模拟算法流程,完成了c u d a 并行实现和测试。在 分析分子间作用力并行计算模型不足的基础上,给出了一种改进的并行计算方 法,实现了改进的方法,给出了测试结果,并与基于c p u 的分子动力学模拟实 现进行了比较。 第五章g p u 加速热力学量与r d f 提取的研究。介绍了热力学量及r d f , 分析了热力学量及r d f 提取方法的并行计算特征,进行了热力学量及r d f 提取 的c u d a 并行实现,仔细分析了两种统计结果量的测试结果,并给出了研究意 义及进一步的研究工作。 第六章结论。对本论文所作的工作给予全面的归纳总结,并指出目前工作 的不足之处和未来的工作。 武汉理工大学硕士学位论文 第2 章分子动力学模拟方法 模拟是把一个真实的物理系统的特征和状态用模型系统代替并进行模拟仿 真,现已成为除实验测定和理论分析之外解决实际问题的现在科学研究的第三 大技术【2 7 1 。 目前用于计算机模拟的方法主要有分子动力学( m o l e c u l a rd y n a m i c s ,m d ) 方法和蒙特卡罗( m o n t ec a r l o ,m c ) 方法,本章将详细介绍分子动力学基本方 法,为下文对g p u 加速并行m d 模拟方法的研究打下基础。 2 1 概述 分子动力学模拟,是指对于原子核和电子所构成的多体系统,用计算机模拟 原子核的运动过程,从而计算系统的结构和性质,其中每一个原子核被视为在 全部其他原子核和电子所提供的经验势场作用下按牛顿定律运动【捌。图2 - 1 是分 子动力学模拟方法的流程图。 2 2 势函数 图2 1 分子动力学模拟方法的流程图 势函数表示原子间相互作用的函数,也称为力场。原子间相互作用势函数有 对势和多体势。对势认为原子之间的相互作用力是两两之间的作用,与其他原 子的位置无关。而多体势考虑了多个原子之间的相互作用,更加精确地反映材 料物质的一些性质和规律。常见的对势有l e n n a r d j o n e s ( i 广j ) 判2 引、m o r s e 势 【川、j o h n s o n 势、b o r n m a y e r 势【3 2 1 ,嵌入原子势【3 3 】、f i n n i s s i n c l a i r 势【3 4 l 、 s t i l l i n g e r w e b e r 判3 5 】、t e r s o f f 势【3 6 j 则是常见的多体作用势。关于对势的具体形 9 武汉理 人学硕士学位论文 式,可参考相关文献。由于本文在m d 模拟过程中采用了u 势,现介绍如下: l j 势函数由j e l e n n a r d j o n e s 在1 9 2 4 年提出,其基本形式为: u ( ) ;彳仁) ”一b ( 旦) ” ( 2 1 ) r 口r u 在分子动力学模拟中,常采用的基本形式如下: r1 u ( ) | 4 e l 口( 旦) 1 2 一b ( 仃- - - ) 6i 【 勺勺 j f a ;1 ,b - 1 ,粒子间有斥力和引力作用 ( 2 2 ) j 口= lb 一0 ,粒子间只有斥力作用 i a 一0 ,b 一1 ,粒子间只有引力作用 式中,、o 、匕分别表示作用势能、作用特征长度、分子f 到,的距离。 为了能够比较真实的模拟分子体系,本文设定分子间具有引力和斥力作用。 2 3 积分求解方法 分子动力学模拟的积分求解方法的基本思想如图2 2 所示。 i _ 0 上 将时间分成很多小步,每一步的时间阎定为at j 计算每个粒子在( t + i t ) 时刻的受力i 1 l 根据此力,得到每个粒子的加速度 j i + + 0 令n 。 得出各时间下模拟体系中粒子运行的位置、速度及加速度 图2 2 积分求解方法的基本思想 常用的时间步长积分求解方法有v e r l e t 算法【3 7 1 、l e a p f r o g 算法【3 8 l 、速度v e r l e t 算法【3 叭、位置v e r l e t 算澍加1 、g e a r 预测矫j 下算法【4 1 】等,本文采用位置v e r l e t 算法作为时间步长积分求解方法,其表达式如下: 1 0 武汉理i i 大学硕士学位论文 ,o + :m ) = r ( r ) + ;( ,) r ( 1 1 ( f ) 嵋+ 蚺;r ”( f ) + 船( 2 ( ,+ ;a f ) r p + ,) t ,o + ;m ) + ,1 , 1 , 1 ( f + a ,) a f 2 4 截断半径法 ( 2 3 ) ( 2 4 ) ( 2 - 5 ) 截断半径法是一种处理粒子间作用力计算的常用方法,如图2 - 3 所示。在计 算某粒子受体系中其他粒子作用力时,假定存在一个球半径,如果两粒子间的 距离7 ,则忽略来自此粒子的作用力i 捌。 2 5 周期性边界条件 图2 - 3 截断半径法示意图 常用的边界条件包括回弹边界条件、镜面反弹边界条件、周期性边界条件等 本文在模拟空间的x 、y 、z 方向上均采用周期性边界条件 蟋鼍黾薄淤 罐雕溪 罐溪溪 图2 - 4 二维周期性边界应用示意图 武汉理工大学硕士学位论文 周期性边界条件( p e r i o d i cb o u n d a r yc o n d i t i o n ,p b c ) 是分子动力学模拟中最 常见的一种边界条件,可通过有限的计算空问来反映宏观体系的一些物理性质, 降低了计算的工作量,因此得到了广泛应用口j 。图2 - 4 是二维周期性边界示意图, 中央盒子表示模拟体系,周围盒子的粒子与中央盒子的粒子具有相同的排列及 运动,保证了模拟体系粒子数恒定。比如编号为6 的粒子从中央盒子移出盒外 时,上方盒子的编号为6 的粒子由相对的方向移入。 2 6 最近镜像原则 最近镜像原则( n e a r e s ti n , t o ti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论