学位论文 > 优秀研究生学位论文题录展示
CUDA平台上的CPU/GPU异步计算模式
作 者: 姚平
导 师: 安虹
学 校: 中国科学技术大学
专 业: 计算机系统结构
关键词: CUDA异步计算模式 负载平衡 HMMER
分类号: TP332
类 型: 硕士论文
年 份: 2010年
下 载: 678次
引 用: 9次
阅 读: 论文下载
内容摘要
计算统一设备架构(CUDA, Compute Unified Device Architecture)开启了使用GPU强大计算能力做通用计算的大门,使得开发者能够在友好的开发环境中充分挖掘GPU的计算能力,同时也对CPU/GPU高效的合作计算模式提出了新的要求。一方面,在处理大规模并行数据时,需要保证GPU上各线程间的负载能够平衡;另一方面,在使用GPU进行计算时,需要保持较高的CPU和GPU利用率。本文分析了CUDA平台上CPU/GPU同步计算模式的优缺点;提出了CPU/GPU异步计算模式,此模式能够在处理有效计算量分布不平衡的大规模并行数据的应用中发挥较好作用;最后使用生物信息学中的应用HMMER,对比评测了两种计算模式。该研究对CUDA平台上面向应用设计合适的CPU/GPU高效合作计算方法具有一定指导意义。本文主要研究成果包括:(1)为有效管理有效计算量分布不平衡的大规模并行数据设计了通用数据结构,包括主数据管理结构和辅助数据管理结构,以有效计算工作量为核心,将类似数据统一管理并提交给GPU上各线程,从而保证线程间负载平衡。(2)针对CPU和GPU做同步计算时,CPU需要等待GPU完成计算,导致CPU计算资源浪费问题,提出了异步计算模式,设计了CPU上的线程划分方式,包含数据读入线程、计算线程、主控GPU线程。通过多线程设计,使得CPU无需等待GPU就能够利用本身的计算能力处理数据,从而加快整个程序的运行。(3)以生物信息学应用HMMER为例,分别应用CPU/GPU同步和异步计算模式,评测了性能上的改变,同时讨论了有效计算量区间设计、线程间通信方式、数据生产消费速度、数据转移方式等对异步计算模式性能的影响。
|
全文目录
摘要 4-5 ABSTRACT 5-11 第1章 绪论 11-18 1.1 研究背景 11-13 1.1.1 GPGPU 11-12 1.1.2 CUDA 12 1.1.3 数据并行应用 12-13 1.2 CPU/GPU 合作计算模式研究意义 13-16 1.2.1 GPU 负载平衡度 13-15 1.2.2 CPU、GPU 利用率 15-16 1.3 论文的研究目标和主要工作 16-17 1.4 论文的结构 17-18 第2章 CUDA 编程模型及体系结构 18-30 2.1 CUDA 编程模型 18-23 2.1.1 主机与设备 18-21 2.1.2 线程结构 21 2.1.3 硬件映射 21-23 2.2 CUDA 存储器模型 23-27 2.2.1 寄存器 24 2.2.2 局部存储器 24 2.2.3 共享存储器 24-26 2.2.4 全局存储器 26 2.2.5 常数存储器 26-27 2.2.6 纹理存储器 27 2.3 CUDA 硬件架构 27-29 2.3.1 SPA 28-29 2.3.2 存储器系统 29 2.4 小结 29-30 第3章 CPU/GPU 异步计算模式的设计与实现 30-45 3.1 主/辅助数据管理结构 30-35 3.1.1 GPU 负载平衡度 33-34 3.1.2 额外时间、空间消耗 34-35 3.1.3 通用性 35 3.2 线程划分 35-39 3.2.1 数据读入线程 35-37 3.2.2 CPU 计算线程 37-39 3.2.3 主控GPU 计算线程 39 3.3 线程间同步与通信 39-42 3.3.1 轮询 40 3.3.2 信号量 40-42 3.4 生产-消费速度对模式的影响 42-44 3.4.1 Vp远小于Vc 43 3.4.2 Vp与Vc类似 43-44 3.4.3 Vp远大于Vc 44 3.5 小结 44-45 第4章 CPU/GPU 异步计算模式的性能评测 45-61 4.1 HMMER 45-49 4.1.1 隐马尔可夫模型HMM 45 4.1.2 HMM 在生物信息学的应用 45-47 4.1.3 HMMER 及其各种平台实现 47-49 4.2 主/辅助数据管理结构体与线程划分实现 49-51 4.3 性能评测 51-60 4.3.1 同/异步模式性能 52-56 4.3.2 各因素对异步模式的影响 56-60 4.4 小结 60-61 第5章 全文总结 61-63 5.1 研究工作和成果 61-62 5.2 未来工作的展望 62-63 参考文献 63-66 在读期间发表的学术论文与取得的研究成果 66-68 在读期间参与的科研项目 68-69 致谢 69
|
相似论文
- 频繁图结构并行挖掘算法的研究与实现,TP311.13
- 遥感数据处理网格平台的设计与初步实现,TP79
- Linux集群环境下作业调度算法的研究与实现,TP301.6
- 基于网络存储的流媒体服务器系统,TN919.8
- 无线传感器网络路由算法研究,TP212.9
- 网络环境下的分布式存储系统的设计与实现,TP333
- 教育信息网若干子系统的研究和实现,TP393.02
- 无线局域网中的接入点放置与信道分配,TN925.93
- 无线Mesh网络路由算法的研究,TN929.5
- 并行计算在生物信息学中的运用和实现,TP338.6
- 基于生态捕食算法的交通流量分配系统研究,U495
- 保险卡单自助激活系统的设计与实现,TP311.52
- 机场导航台站的分布式测控系统软件设计,TP311.52
- 基于MPI的分布式搜索引擎系统研究,TP391.3
- 智能网环境下统一消息系统中的负载平衡模块的设计与实现,TN915.5
- 计算机网络高可用性研究,TP393.03
- 一种基于分级的负载平衡算法,TP393.03
- 基于SMP架构的半虚拟化CPU调度算法研究,TP391.9
- 基于任务分配的数据库集群模型研究,TP311.13
- 基于QoS的选播路由算法研究,TP393.02
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 电子数字计算机(不连续作用电子计算机) > 运算器和控制器(CPU)
© 2012 www.xueweilunwen.com
|