摘要 | 第10-11页 |
ABSTRACT | 第11页 |
第一章 绪论 | 第12-23页 |
1.1 相关背景 | 第12-19页 |
1.1.1 SIMD体系结构 | 第12页 |
1.1.2 自动向量化技术 | 第12-13页 |
1.1.3 GCC编译系统 | 第13-16页 |
1.1.4 OpenMP并行编程模型 | 第16-19页 |
1.2 国内外研究现状 | 第19-20页 |
1.2.1 编译指导的自动向量化 | 第19页 |
1.2.2 外层循环的向量化 | 第19-20页 |
1.3 研究内容及意义 | 第20-22页 |
1.3.1 研究内容 | 第20-21页 |
1.3.2 研究意义 | 第21-22页 |
1.4 论文结构 | 第22-23页 |
第二章 SIMD编译指导及GCC编译器的支持 | 第23-47页 |
2.1 SIMD编译指导简介 | 第23-26页 |
2.1.1 simd结构(simd construct) | 第23-24页 |
2.1.2 loop SIMD结构(loop SIMD construct) | 第24-25页 |
2.1.3 declare simd结构(declare simd construct) | 第25-26页 |
2.2 SIMD编译指导在编译器中的实现 | 第26-34页 |
2.2.1 相关数据结构 | 第26-29页 |
2.2.2 SIMD编译指导的识别 | 第29-30页 |
2.2.3 SIMD编译指导的下降和扩展 | 第30页 |
2.2.4 pass_omp_simd_clone | 第30-31页 |
2.2.5 自动向量化阶段对SIMD编译指导的处理 | 第31-34页 |
2.3 aligned从句在GCC中的实现 | 第34-37页 |
2.3.1 从前端识别到OpenMP的下降与扩展 | 第34-36页 |
2.3.2 aligned从句信息到自动向量化阶段的传递 | 第36-37页 |
2.4 SIMD编译指导自动向量化效果测试 | 第37-46页 |
2.4.1 SIMD循环的识别 | 第37-42页 |
2.4.2 SIMD编译指导的自动向量化 | 第42-46页 |
2.5 本章小结 | 第46-47页 |
第三章 GCC中紧嵌套循环坍缩向量化的实现现状 | 第47-65页 |
3.1 collapse从句简介 | 第47-48页 |
3.1.1 loop结构下的collapse从句 | 第47页 |
3.1.2 simd结构下的collapse从句 | 第47-48页 |
3.1.3 loop SIMD结构下的collapse从句 | 第48页 |
3.2 collapse从句在编译器中的实现 | 第48-50页 |
3.2.1 collapse从句的识别与解析 | 第48-49页 |
3.2.2 OpenMP编译中对collapse从句的处理 | 第49-50页 |
3.3 collapse从句的自动向量化测试与分析 | 第50-64页 |
3.3.1 collapse从句的自动向量化测试 | 第51-52页 |
3.3.2 for-col向量化失败原因分析 | 第52-62页 |
3.3.3 simd-col和for-simd-col向量化失败原因分析 | 第62-64页 |
3.4 本章小结 | 第64-65页 |
第四章 collapse从句下循环自动向量化实现方案改进 | 第65-73页 |
4.1 实验环境 | 第65-66页 |
4.1.1 硬件环境 | 第65-66页 |
4.1.2 软件环境 | 第66页 |
4.1.3 平台的SIMD体系结构 | 第66页 |
4.2 loop结构下collapse从句实现的改进 | 第66-68页 |
4.3 实验结果与分析 | 第68-71页 |
4.4 本章小结 | 第71-73页 |
第五章 结束语 | 第73-75页 |
5.1 工作总结 | 第73页 |
5.2 工作展望 | 第73-75页 |
致谢 | 第75-76页 |
参考文献 | 第76-80页 |
作者在学期间取得的学术成果 | 第80页 |