异构平台上协同计算的相关研究
发布时间:2023-04-02 14:33
近年来,高性能计算机体系结构的发展日新月异,其中基于GPU的异构体系结构成为一种主流的设计方法。相比传统的同构多处理机系统,集成CPU和GPU的异构系统能够提供更好的计算性能和功耗效率,非常适合处理数据并行应用,在工业制造、生物医药、石油物探、气象预测等领域有着广泛的应用前景。目前,限制异构计算的瓶颈在于异构编程环境仍不够成熟,如何高效地利用异构系统中多核CPU和众核GPU进行协同计算是目前高性能计算领域中研究的热点和难点问题。 MD5 Crypt破解算法和Lared-P激光等离子体模拟算法是两道典型的数据并行程序,分别在信息安全和物理模型模拟领域有着十分重要的应用价值。这两个应用代表了两类典型的数据并行应用:MD5 Crypt破解算法在并行求解过程中数据相互独立不相关;Lared-P算法则在并行求解过程中存在十分复杂的数据相关。本文针对这两类应用对异构系统上CPU和GPU的协同计算进行了研究。主要取得了如下成果: (1)采用了一种基于MPI-OpenMP-CUDA混合编程模型实现了异构系统上的的协同计算。使用MPI编程接口实现同构节点之间的协作;采用OpenMP实现节点内CPU和GP...
【文章页数】:72 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第一章 引言
1.1 课题背景
1.1.1 异构体系结构
1.1.2 数据并行应用
1.2 研究现状
1.2.1 MD5 Crypt 破解算法的相关研究
1.2.2 Lared-P 程序的相关研究
1.2.3 异构平台上的相关研究
1.3 本文研究内容与主要工作
1.4 本文结构
第二章 背景知识
2.1 异构系统
2.1.1 GPU 系统结构
2.1.2 GPU 编程模型
2.1.3 基于GPU 的异构系统
2.2 MD5 Crypt 破解算法
2.2.1 MD5 加密算法
2.2.2 MD5 Crypt 算法
2.2.3 MD5 Crypt 算法的暴力破解
2.3 Lared-P 应用
2.3.1 Lared-P 算法简介
2.3.2 粒子运动方程
2.3.3 粒子云方程
2.4 本章小结
第三章 MD5 Crypt 破解算法在异构系统上的协同计算
3.1 基于MPI-OpenMP-CUDA 的层次化设计方法
3.2 大规模异构系统上MD5 Crypt 破解算法的设计
3.2.1 破解算法的层次化设计方法
3.2.2 并行破解算法中的任务划分
3.3 GPU 平台上的实现与优化
3.3.1 破解算法在GPU 平台上的实现
3.3.2 MD5 Crypt 算法在GPU 平台上的性能优化
3.4 CPU 与GPU 之间的协同计算
3.5 大规模节点间的扩展
3.6 本章小结
第四章 Lared-P 算法在异构系统上的协同计算
4.1 Lared-P 算法中的数据相关分析
4.2 多核CPU 上的并行实现
4.3 GPU 上的并行实现
4.3.1 基于SIMT 的并行方案
4.3.2 八色分解方案
4.3.3 数据组织与共享
4.4 CPU 与GPU 之间的协同计算
4.4.1 数据传输优化
4.4.2 多进程共享GPU
4.4.3 任务划分与映射
4.5 本章小结
第五章 性能评测
5.1 实验环境
5.2 MD5 Crypt 破解算法性能评测
5.2.1 GPU 程序的测试结果
5.2.2 单个节点内的测试结果
5.2.3 多个节点上的测试结果
5.3 Lared-P 程序性能评测
5.3.1 GPU 程序的测试结果
5.3.2 单个节点内的测试结果
5.4 本章小结
第六章 结束语
6.1 工作总结
6.2 进一步的工作
致谢
参考文献
作者在学期间取得的学术成果
本文编号:3779393
【文章页数】:72 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第一章 引言
1.1 课题背景
1.1.1 异构体系结构
1.1.2 数据并行应用
1.2 研究现状
1.2.1 MD5 Crypt 破解算法的相关研究
1.2.2 Lared-P 程序的相关研究
1.2.3 异构平台上的相关研究
1.3 本文研究内容与主要工作
1.4 本文结构
第二章 背景知识
2.1 异构系统
2.1.1 GPU 系统结构
2.1.2 GPU 编程模型
2.1.3 基于GPU 的异构系统
2.2 MD5 Crypt 破解算法
2.2.1 MD5 加密算法
2.2.2 MD5 Crypt 算法
2.2.3 MD5 Crypt 算法的暴力破解
2.3 Lared-P 应用
2.3.1 Lared-P 算法简介
2.3.2 粒子运动方程
2.3.3 粒子云方程
2.4 本章小结
第三章 MD5 Crypt 破解算法在异构系统上的协同计算
3.1 基于MPI-OpenMP-CUDA 的层次化设计方法
3.2 大规模异构系统上MD5 Crypt 破解算法的设计
3.2.1 破解算法的层次化设计方法
3.2.2 并行破解算法中的任务划分
3.3 GPU 平台上的实现与优化
3.3.1 破解算法在GPU 平台上的实现
3.3.2 MD5 Crypt 算法在GPU 平台上的性能优化
3.4 CPU 与GPU 之间的协同计算
3.5 大规模节点间的扩展
3.6 本章小结
第四章 Lared-P 算法在异构系统上的协同计算
4.1 Lared-P 算法中的数据相关分析
4.2 多核CPU 上的并行实现
4.3 GPU 上的并行实现
4.3.1 基于SIMT 的并行方案
4.3.2 八色分解方案
4.3.3 数据组织与共享
4.4 CPU 与GPU 之间的协同计算
4.4.1 数据传输优化
4.4.2 多进程共享GPU
4.4.3 任务划分与映射
4.5 本章小结
第五章 性能评测
5.1 实验环境
5.2 MD5 Crypt 破解算法性能评测
5.2.1 GPU 程序的测试结果
5.2.2 单个节点内的测试结果
5.2.3 多个节点上的测试结果
5.3 Lared-P 程序性能评测
5.3.1 GPU 程序的测试结果
5.3.2 单个节点内的测试结果
5.4 本章小结
第六章 结束语
6.1 工作总结
6.2 进一步的工作
致谢
参考文献
作者在学期间取得的学术成果
本文编号:3779393
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3779393.html