首页> 中文学位 >基于MPI+CUDA的并行离散元算法研究
【6h】

基于MPI+CUDA的并行离散元算法研究

代理获取

目录

声明

摘要

插图索引

附表索引

第1章 绪论

1.1 研究背景及意义

1.2 国内外研究现状

1.2.1 并行计算研究现状

1.2.2 离散元研究现状

1.3 本论文的研究目标与内容

1.3.1 研究目标

1.3.2 研究内容

1.4 研究内容与结构安排

第2章 并行计算技术

2.1 并行计算机分类

2.1.1 共享内存计算机系统

2.1.2 分布式内存计算机系统

2.1.3 分布式共享内存并行计算机系统

2.2 并行程序设计模型

2.2.1 数据并行模型

2.2.2 消息传递模型

2.2.3 共享存储模型

2.2.4 三种并行程序设计模型的比较

2.3 基于CPU/GPU的并行计算

2.3.1 GPU简介

2.3.2 CUDA技术

2.4 基于CPU/GPU的设计模式

2.4.1 主-从设计模式

2.4.2 程序的基本结构

2.5 小结

第3章 基于CPU/GPU的并行系统设计

3.1 系统架构分析

3.2 系统总体架构

3.3 程序并行化处理的关键技术

3.3.1 任务划分

3.4 小结

第4章 离散元算法的并行处理实现

4.1 离散元程序结构

4.2 离散元程序并行化处理分析

4.3 离散元程序的并行算法

4.3.1 空间分解法

4.3.2 颗粒运动的并行算法

4.3.3 遍历网格的并行算法

4.4 小结

第5章 实验算法的测试与分析

5.1 并行算法性能评价方法

5.2 并行测试环境

5.3 并行程序的运行

5.4 性能测试与分析

5.5 小结

结论

参考文献

附录A 攻读学位期间所发表的学术论文目录

致谢

展开▼

摘要

并行计算通过将计算过程分解成若干个小部分,再以并行方式来加以执行,从而达到提高计算效率的目的。在实际应用中,并行计算技术的主要目的就是:使问题求解速度更快,使能求解问题的规模更大。
  离散元法多用于模拟不连续介质对象的物理表象。它通过对单元个体间的相互作用及运动的模拟得到实验数据,指导社会生产,极大地提高生产力。在应用过程中,要想得好的仿真效果,需要非常大的计算量,耗时较长。因此,如何提高离散元仿真程序的计算速度,是当前研究的一个热点。引入并行计算技术的方法是目前被广泛采用并颇为有效的方法之一。
  本文旨在并行环境下,提高容器内颗粒受力运动过程仿真串行处理算法的效率。传统的串行程序已经用离散元法实现了部分情况的模拟仿真计算,受软硬件条件限制,其执行速度并不理想,模拟对象的规模也十分受限。在分析现有程序的基础上,本文探索了在多核系统中离散元法的并行算法实现。作者首先分析以实现相应功能的串行算法程序,找出其中耗时最长的计算,在本文实例中耗时最长的就是颗粒运动和遍历网格计算两部分;再对其进行并行化处理。程序采用单程序多数据流的解决策略,使用空间分解法将计算域划分为多个子域,并针对离散元程序中颗粒位置不断变化的情况,运用MPI算法和MPI+CUDA算法两种技术,通过动态同步通信等方式实现不同子域间的通信,在通信过程中只传递新进入边界区域的颗粒信息,最大限度地减少每次通信的信息量,在MPI+CUDA算法运用中,利用GPU进一步细分并行颗粒,更一步缩短了离散元法仿真计算的时间,提高了效率。最后,本文对两种算法的效率进行了量化比较。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号