基于AMD平台的OpenCL优化研究及其在分子动力学中的应用

来源 :南京航空航天大学 | 被引量 : 3次 | 上传用户:lishimuyi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Open CL全称为Open Computing Language,即开放计算语言,在2008年由Apple公司首先提出,现由非盈利技术联盟Khronos Group管理的一种异构编程框架。其目的在于提出一种通用的并行性编程标准和框架,程序可在不同厂商所生产的各种设备上运行。使用Open CL的典型应用包括矩阵运算、图像处理、分子动力学等。如何使用Open CL最大化异构平台的计算能力一直是研究的热点问题。本文以AMD(Advanced Micro Devices)平台的Open CL优化为主线。首先总结了GPU的发展过程,重点分析了AMD平台GPU架构发展过程、特点及带来的改变;然后研究了AMD平台下Open CL优化过程中所需考虑到的内存优化、内核优化等方面的问题;最后对分子动力学软件LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)的整体架构、加速包中的邻接表算法和短程力计算算法进行了研究与改进。本文的主要工作有:(1)深入调研目前异构并行计算发展现状,选择AMD平台下的Open CL作为研究对象;(2)分析异构加速平台下的加速理论及Open CL框架特点,得出可能产生瓶颈和性能损失的两个主要部分为内存优化和内核优化;(3)结合AMD平台的架构特点,总结了Open CL针对内存优化、内核优化问题的解决方案。对内存优化中的主机端内存分配、全局内存访问、本地内存访问三个部分进行了深入的优化分析与总结;对内核部分,总结了11条编程中可以提升计算性能的编程原则;(4)分析LAMMPS中的Open CL加速包中的短程力计算部分代码,研究其实现机制,重点分析了LAMMPS中的短程力计算问题,具体分为邻接表的建立过程以及短程力计算两部分;(5)分析LAMMPS中的邻接表建立部分实现过程,实现了一种单GPU基数排序算法用于邻接表建立过程中的元胞列表建立子过程,并提出了双GPU基数排序的设计思想;(6)针对LAMMPS中Open CL加速包中代码,依照总结的规则,重点对短程力实现部分的内核程序进行了优化,测试并验证了所得结论的正确性。
其他文献
网络安全态势评估是一种网络安全动态评估技术,是信息安全领域的一个新方向,对下一代电信网进行网络安全态势评估更是一个新的领域。下一代电信网安全态势评估系统的设计与实
多媒体技术的出现,使得3G业务种类繁多,传统的计费系统是不根据业务的重要性而制定单一的、不区分业务流的计费策略,这不符合3G业务市场的需求。内容计费系统能够根据不同的业务
随着信息技术的发展,当前的企业需要根据市场形势随时并且迅速调整自己的业务,但是业务需求的变化却得不到企业信息系统的强力支持,因为只能通过不断开发新应用、扩展现有应
微电子、计算机和无线通信等技术的进步,推动了低功耗多功能传感器的快速发展,使其在微小体积内能够集成信息采集、数据处理和无线通信等多种功能。这些微型传感器通过自组织
随着物联网时代的到来,智能家居、车联网和智能可穿戴设备逐渐走入了人们的日常生活。车联网T-Box终端和Android智能手机终端常常暴露在白盒攻击环境之中,容易受到来自恶意攻
本论文主要研究的是C程序设计题目的自动评改。分别从知识库的组建、评改技术和利用语义分析方法分析题目、处理问题等方面进行了详细的论述。着重介绍了知识库的构建和程序
随着数字医疗、远程诊断技术的实施与快速发展,医疗图像处理越来越受到人们的广泛关注。与普通图像相比,医疗图像本质上具有模糊性和不均匀的特点,医学上采用不同的成像设备
随着大型企事业的发展,其原有的信息系统情况与模式越来越不利于自身的发展。其中尤为突出的问题是各种异构数据繁杂并存,各个系统之间不能互连,信息不能共享,形成一个个的“
需求工程作为软件工程的子领域,是软件生命周期的一个重要阶段,同时也贯穿于整个软件生命周期,随着软件使用领域和范围的不断深入和扩大,其重要性越来越突出。需求工程方法学是研
随着通信技术的高速发展,以及第三代移动通信系统(3G)技术的成熟和即将商用,移动网络的规模正在不断扩大,网络结构也正进行着不断地变化和调整,网络复杂度日益提高,业务更丰富,网元