影响CUDA程序功耗的主要因素研究
西北师范大学研究生学位论文作者信息 | 第5-9页 |
摘要 | 第9-10页 |
Abstract | 第10页 |
1 绪论 | 第11-16页 |
1.1 研究背景、目的及意义 | 第11-12页 |
1.2 本课题研究现状 | 第12-14页 |
1.3 本文的主要工作 | 第14页 |
1.4 本文的组织结构 | 第14-16页 |
2 CUDA基础知识介绍 | 第16-31页 |
2.1 CUDA的编程模型介绍 | 第16-19页 |
2.1.1 核函数的定义与调用 | 第17-18页 |
2.1.2 线程组织层次 | 第18-19页 |
2.2 CUDA的软件体系 | 第19-24页 |
2.2.1 CUDA C语言的扩展 | 第20-21页 |
2.2.2 CUDA应用程序的编译流程 | 第21-23页 |
2.2.3 CUDA驱动程序和运行时的接口 | 第23页 |
2.2.4 CUDA函数库 | 第23-24页 |
2.3 CUDA Profiler | 第24-25页 |
2.4 CUDA的存储器模型 | 第25-30页 |
2.4.1 全局存储器 | 第26-27页 |
2.4.2 寄存器 | 第27页 |
2.4.3 共享存储器 | 第27-28页 |
2.4.4 局部存储器 | 第28-29页 |
2.4.5 纹理存储器 | 第29页 |
2.4.6 常数存储器 | 第29-30页 |
2.5 本章小结 | 第30-31页 |
3 功耗的主要影响因素 | 第31-39页 |
3.1 程序功耗来源 | 第31-32页 |
3.1.1 功耗与能耗 | 第31-32页 |
3.1.2 功耗来源分析 | 第32页 |
3.2 影响因素分析 | 第32-34页 |
3.3 功耗评估平台 | 第34-37页 |
3.3.1 GPGPU-Sim性能模拟器 | 第34-35页 |
3.3.2 GPUWattch功耗模拟器 | 第35-37页 |
3.3.3 模拟器的精确性 | 第37页 |
3.4 本章小结 | 第37-39页 |
4 实验方案和平台 | 第39-49页 |
4.1 测试程序 | 第39页 |
4.2 线程组织结构方案设计 | 第39-40页 |
4.3 变量存储位置方案设计 | 第40-44页 |
4.3.1 变量处于共享存储器 | 第40-41页 |
4.3.2 变量处于全局存储器 | 第41-42页 |
4.3.3 普通矩阵乘法 | 第42-43页 |
4.3.4 使用共享存储器的矩阵乘法 | 第43-44页 |
4.4 实验验证环境 | 第44-48页 |
4.4.1 模拟软件的配置 | 第44-46页 |
4.4.2 输出文件说明 | 第46-48页 |
4.4.3 实验平台配置 | 第48页 |
4.5 本章小结 | 第48-49页 |
5 实验结果分析 | 第49-54页 |
5.1 线程块数与功耗的关系 | 第49-50页 |
5.2 线程组织结构与功耗的关系 | 第50-51页 |
5.3 变量存储位置与功耗的关系 | 第51-52页 |
5.4 数据规模与功耗的关系 | 第52页 |
5.5 本章小结 | 第52-54页 |
6 总结与展望 | 第54-55页 |
6.1 工作总结 | 第54页 |
6.2 研究展望 | 第54-55页 |
参考文献 | 第55-59页 |
攻读硕士学位期间发表的论文 | 第59-60页 |
致谢 | 第60页 |