| 摘要 | 第5-7页 |
| ABSTRACT | 第7-8页 |
| 第一章 绪论 | 第17-31页 |
| 1.1 研究背景 | 第17-22页 |
| 1.2 研究意义 | 第22-23页 |
| 1.3 国内外研究现状 | 第23-26页 |
| 1.3.1 热点代码分析方法 | 第23-24页 |
| 1.3.2 软件优化技术 | 第24页 |
| 1.3.3 基础库优化 | 第24-25页 |
| 1.3.4 异构编程模型 | 第25-26页 |
| 1.4 本文研究内容 | 第26-28页 |
| 1.5 本文组织结构 | 第28-31页 |
| 第二章 DAE体系结构及性能模型 | 第31-47页 |
| 2.1 典型DAE架构介绍 | 第31-37页 |
| 2.1.1 GPGPU处理器 | 第31-33页 |
| 2.1.2 Cell处理器 | 第33-35页 |
| 2.1.3 龙芯3B处理器 | 第35-37页 |
| 2.2 典型优化方法 | 第37-39页 |
| 2.3 性能模型 | 第39-44页 |
| 2.3.1 经典串行执行模型 | 第39-41页 |
| 2.3.2 基于DAE架构的执行模型 | 第41-43页 |
| 2.3.3 基于计算访存比的性能模型 | 第43页 |
| 2.3.4 并行程序执行模型 | 第43-44页 |
| 2.3.5 执行模型对优化展开的指导作用 | 第44页 |
| 2.4 本章小结 | 第44-47页 |
| 第三章 基于DAE架构的矩阵向量运算优化方法 | 第47-65页 |
| 3.1 BLAS库及相关优化工作 | 第47-49页 |
| 3.2 GEMV及传统访存优化方法 | 第49页 |
| 3.3 循环展开 | 第49-50页 |
| 3.4 数据分块及预取 | 第50-52页 |
| 3.5 基于龙芯3B的GEMV优化算法 | 第52-55页 |
| 3.5.1 龙芯3B的预取支持 | 第52-54页 |
| 3.5.2 GEMV优化算法 | 第54-55页 |
| 3.6 基于向量指令的优化算法 | 第55-60页 |
| 3.6.1 利用VBMULADD进行乘加计算 | 第55-56页 |
| 3.6.2 利用DRA预取 | 第56-58页 |
| 3.6.3 改进算法 | 第58-60页 |
| 3.7 性能分析 | 第60-61页 |
| 3.8 实验及结果 | 第61-63页 |
| 3.8.1 拷贝及预取带宽 | 第61-62页 |
| 3.8.2 多版本GEMV算法性能比较 | 第62页 |
| 3.8.3 改进算法的性能 | 第62-63页 |
| 3.9 本章小结 | 第63-65页 |
| 第四章 基于DAE架构的模型指导优化方法 | 第65-85页 |
| 4.1 优化模式介绍 | 第65-66页 |
| 4.2 普通稠密矩阵乘加运算 | 第66-73页 |
| 4.2.1 GEMM基础 | 第67-70页 |
| 4.2.2 基于DAE架构的优化算法 | 第70-71页 |
| 4.2.3 基于龙芯3B的分块预取算法 | 第71页 |
| 4.2.4 4层GEMM算法 | 第71-73页 |
| 4.3 性能分析 | 第73-74页 |
| 4.4 自适应GEMM kernel算法 | 第74-78页 |
| 4.5 边角函数优化 | 第78-79页 |
| 4.6 实验及性能 | 第79-82页 |
| 4.6.1 DAEFS系统性能评价 | 第79-80页 |
| 4.6.2 计算kernel性能比较 | 第80-81页 |
| 4.6.3 4-GEMM算法性能及参数 | 第81-82页 |
| 4.6.4 HPL性能比较 | 第82页 |
| 4.7 本章小结 | 第82-85页 |
| 第五章 基于分簇算法的数据解耦合编程模型 | 第85-105页 |
| 5.1 分簇算法介绍 | 第85-86页 |
| 5.2 深度神经网络 | 第86-90页 |
| 5.2.1 DNN算法介绍 | 第87-90页 |
| 5.3 基于GPU平台的DNN算法加速 | 第90-91页 |
| 5.4 基于GPGPU的基本优化方法 | 第91-92页 |
| 5.5 基于GPGPU平台的并行算法 | 第92-94页 |
| 5.5.1 pipelined -基于结构划分的并行算法 | 第93页 |
| 5.5.2 mini-batch数据划分的并行方法 | 第93-94页 |
| 5.6 性能分析 | 第94-95页 |
| 5.6.1 pipelined并行算法 | 第94-95页 |
| 5.6.2 mini-batch数据划分的并行方法 | 第95页 |
| 5.7 mini-batch内并行算法 | 第95-97页 |
| 5.8 算法优化 | 第97-101页 |
| 5.8.1 计算量削减 | 第97页 |
| 5.8.2 计算节点间通信优化 | 第97-98页 |
| 5.8.3 异步传输 | 第98页 |
| 5.8.4 数据流分簇算法 | 第98-101页 |
| 5.9 实验及效果 | 第101-103页 |
| 5.10 本章小结 | 第103-105页 |
| 第六章 总结和展望 | 第105-109页 |
| 6.1 本文工作 | 第105-106页 |
| 6.2 本文创新点 | 第106页 |
| 6.3 存在的问题和展望 | 第106-109页 |
| 参考文献 | 第109-117页 |
| 附录A 各章变量说明 | 第117-121页 |
| A.0.1 第二章 | 第117-118页 |
| A.0.2 第三章 | 第118页 |
| A.0.3 第四章 | 第118-119页 |
| A.0.4 第五章 | 第119-121页 |
| 致谢 | 第121-123页 |
| 在读期间发表的学术论文与取得的研究成果 | 第123页 |