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页 |