CPU-GPU异构平台的性能优化研究及其在实时信号模拟技术中的应用
致谢 | 第4-5页 |
摘要 | 第5-6页 |
Abstract | 第6页 |
1 绪论 | 第14-23页 |
1.1 研究背景 | 第14-18页 |
1.1.1 单核的消亡以及多核的出现 | 第14-16页 |
1.1.2 异构并行计算的崛起和未来 | 第16-18页 |
1.2 国内外现状 | 第18-21页 |
1.2.1 CPU-GPU异构计算的研究现状 | 第18-19页 |
1.2.2 实时信号模拟的研究现状 | 第19-21页 |
1.3 论文结构 | 第21-23页 |
2 OpenCL的技术研究 | 第23-38页 |
2.1 OpenCL简介 | 第23页 |
2.2 OpenCL体系结构 | 第23-30页 |
2.2.1 平台模型 | 第23-24页 |
2.2.2 执行模型 | 第24-28页 |
2.2.3 内存模型 | 第28-29页 |
2.2.4 OpenCL的组成框架 | 第29-30页 |
2.3 OpenCL编程步骤 | 第30-31页 |
2.4 GPU与OpenCL体系结构的映射关系 | 第31-38页 |
2.4.1 主流GPU的对比 | 第31-32页 |
2.4.2 GCN GPU的架构 | 第32-36页 |
2.4.3 Mali GPU的架构 | 第36-38页 |
3 CPU-GPU异构平台的性能优化研究 | 第38-64页 |
3.1 OpenCL程序性能的影响因素 | 第38-41页 |
3.1.1 数据传输 | 第38-39页 |
3.1.2 内存访问 | 第39页 |
3.1.3 负载分配 | 第39-40页 |
3.1.4 同步开销 | 第40-41页 |
3.2 数据传输的优化技术 | 第41-48页 |
3.2.1 缓冲区的使用策略研究 | 第41-44页 |
3.2.2 组包和分片数据传输 | 第44-46页 |
3.2.3 共享内存的CPU-GPU平台研究 | 第46-48页 |
3.2.4 数据传输优化小结 | 第48页 |
3.3 内存访问的优化技术 | 第48-56页 |
3.3.1 私有内存使用策略 | 第48-50页 |
3.3.2 局部内存使用策略 | 第50-51页 |
3.3.3 常量内存使用策略 | 第51-52页 |
3.3.4 全局内存使用策略 | 第52-55页 |
3.3.5 内存访问优化小结 | 第55-56页 |
3.4 负载分配的优化研究 | 第56-60页 |
3.4.1 CPU上的命令控制策略 | 第56-57页 |
3.4.2 GPU上的计算、线程和分支研究 | 第57-60页 |
3.5 同步/异步的优化策略 | 第60-63页 |
3.5.1 计算和通信流水化 | 第60-61页 |
3.5.2 全局内存和局部内存的异步读写 | 第61页 |
3.5.3 内核融合与原子操作同步 | 第61-63页 |
3.6 本章小结 | 第63-64页 |
4 基于CPU-GPU异构平台的实时信号模拟技术 | 第64-82页 |
4.1 实时信号模拟平台简介 | 第64-67页 |
4.1.1 功能和用途 | 第64-65页 |
4.1.2 数据流与硬件组成 | 第65-66页 |
4.1.3 需求分析 | 第66-67页 |
4.2 软件架构设计 | 第67-69页 |
4.2.1 事务逻辑框架 | 第67-68页 |
4.2.2 软件框架设计 | 第68-69页 |
4.3 CPU上的性能优化设计 | 第69-73页 |
4.3.1 数据传输性能优化 | 第69-71页 |
4.3.2 实时计算流水线化 | 第71页 |
4.3.3 短时任务判别与计算 | 第71-73页 |
4.4 GPU上的性能优化设计 | 第73-81页 |
4.4.1 GPU端的任务 | 第73-74页 |
4.4.2 基础信号生成设计 | 第74-76页 |
4.4.3 干扰信号生成设计 | 第76-78页 |
4.4.4 噪声信号生成设计 | 第78-79页 |
4.4.5 杂波信号叠加设计 | 第79-80页 |
4.4.6 多GPU平台的设计 | 第80-81页 |
4.5 本章小结 | 第81-82页 |
5 验证与测试 | 第82-91页 |
5.1 测试平台 | 第82-84页 |
5.1.1 CPU、GPU和OpenCL的参数 | 第82-83页 |
5.1.2 CPU和GPU运行经典算法的性能 | 第83-84页 |
5.1.3 测试术语定义 | 第84页 |
5.2 CPU部分的性能测试 | 第84-87页 |
5.2.1 数据传输性能优化的测试 | 第84-85页 |
5.2.2 实时计算流水线化的测试 | 第85-86页 |
5.2.3 短时任务计算不同方案的测试 | 第86-87页 |
5.3 GPU部分的性能测试 | 第87-89页 |
5.3.1 内核函数资源占用率测试 | 第87-88页 |
5.3.2 目标计算能力测试 | 第88页 |
5.3.3 多GPU的计算能力测试 | 第88-89页 |
5.4 综合处理能力测试 | 第89-90页 |
5.5 本章小结 | 第90-91页 |
6 总结与展望 | 第91-93页 |
6.1 总结 | 第91页 |
6.2 展望 | 第91-93页 |
附录 | 第93-103页 |
作者简历 | 第103-104页 |
参考文献 | 第104-106页 |