首页> 中文学位 >分子对接软件DOCK中的小球生成程序的并行化实现
【6h】

分子对接软件DOCK中的小球生成程序的并行化实现

代理获取

目录

声明

第一章 绪论

1.1 研究背景及意义

1.2 研究现状

1.3 本文主要内容

1.4 小结

第二章 并行计算以及串行Sphgen程序介绍

2.1 四种常用的并行计算机系统

2.2 并行程序编程接口

2.3 并行程序加速比

2.4 并行程序设计

2.5 生成小球的串行Sphgen程序

2.6 小结

第三章 基于Pthreads的并行Sphgen程序的三种改进方法

3.1 原有的并行Sphgen程序的负载均衡问题

3.2 三种改进的并行Sphgen程序

3.3 小结

第四章 基于MPI+OpenMP的并行Sphgen程序

4.1 MPI传递C++对象的三种方法

4.2 实验

4.3 小结

第五章 基于CUDA的并行Sphgen程序

5.1 并行Sphgen程序开发过程

5.2 实验

5.3 三种并行Sphgen方法的计算时间比较

5.4 小结

第六章 总结与展望

参考文献

致谢

展开▼

摘要

分子对接是指通过计算机模拟小分子配体和大分子受体之间的相互作用。在过去几十年里,世界上各个研究小组开发了数个分子对接软件,其中,Kuntz研究小组开发的DOCK分子对接软件应用最为广泛。生成小球的Sphgen程序是DOCK分子对接软件中很重要的一个步骤,它的计算过程十分耗时,严重地拖延了整个分子对接过程。因此,很有必要通过并行计算的技术来加快Sphgen程序计算,缩短分子对接的时间。
  Kuntz研究小组已经开发了一个基于Pthreads的并行Sphgen程序,但是这个并行Sphgen程序的加速比很低,在16个CPU参与计算情况下,加速比最多只有8.9,负载不均衡是导致加速比低下的原因。因此,本文首先提出了解决并行Sphgen程序的负载不均衡的三种方法:去除零原子,非均匀划分法,动态调度。本文通过分析Sphgen程序的计算数据,发现零原子是负载不均衡的一个原因,通过去除零原子,负载不均衡的问题得到了缓解,加速比有所提高;本文又从Sphgen程序的时间复杂度出发,经过理论推导,得出一个新的数据划分方法——非均匀划分法,它从理论上保证了各个CPU分配的计算任务的时间复杂度是相等的。通过这三种改进方法,在最好的情况下,并行Sphgen程序的加速比增加了5.0。
  其次,本文开发了基于MPI+OpenMP的并行Sphgen程序。通过MPI实现并行Sphgen程序面临的最大难点是串行的Sphgen程序是用C++编写的,而MPI只能传递简单数据类型,不能传递C++对象,因此,本文这一部分主要解决了MPI不能传递C++对象的问题。本文通过对象序列化机制,开发了能传递C++对象的MPI_Send_Object和MPI_Recv_Object两个函数,扩展了MPI函数库,使C++对象的传递和简单数据类型传递一样简单。
  最后,本文开发了基于CUDA的并行Sphgen程序。本文对这个三个版本的并行Sphgen程序进行了比较,基于CUDA的并行Sphgen程序的计算效率最为高效。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号