基于多核环境下的多线程并行程序设计方法研究
| 摘要 | 第1-5页 |
| Abstract | 第5-9页 |
| 1. 引言 | 第9-14页 |
| ·研究背景 | 第9-11页 |
| ·国内外研究现状 | 第11-12页 |
| ·本文研究内容与结构 | 第12-14页 |
| 2. 并行计算机体系结构 | 第14-22页 |
| ·并行计算机结构模型 | 第14-18页 |
| ·弗林(Flynn)分类法 | 第14页 |
| ·单指令流多数据流机(SIMD) | 第14-15页 |
| ·并行向量处理机(PVP) | 第15-16页 |
| ·对称多处理机(SMP) | 第16页 |
| ·大规模并行处理机(MPP) | 第16-17页 |
| ·分布共享存储处理机(DSM) | 第17页 |
| ·工作站机群 (COW) | 第17-18页 |
| ·并行计算机访存模型 | 第18-20页 |
| ·均匀存储访问(UMA) | 第18-19页 |
| ·非均匀存储访问(NUMA) | 第19页 |
| ·全高速缓存存储结构(COMA) | 第19页 |
| ·CC-NUMA 多处理机 | 第19页 |
| ·非远程存储访问(NORMA) | 第19-20页 |
| ·并行计算模型 | 第20-21页 |
| ·同步 PRAM 模型 | 第20页 |
| ·异步 PRAM 模型 | 第20页 |
| ·BSP 模型 | 第20-21页 |
| ·Logp 模型 | 第21页 |
| ·本章小结 | 第21-22页 |
| 3. 并行编程模型 | 第22-28页 |
| ·分布式存储编程模型 | 第22-23页 |
| ·共享存储编程模型 | 第23-25页 |
| ·OpenMP | 第23-24页 |
| ·Pthreads | 第24-25页 |
| ·异构编程模型 | 第25-27页 |
| ·CUDA | 第25-26页 |
| ·OpenCL | 第26-27页 |
| ·本章小结 | 第27-28页 |
| 4. 实验环境搭建与并行性能分析 | 第28-38页 |
| ·实验环境搭建 | 第28-31页 |
| ·单节点配置 | 第28页 |
| ·配置 MPI | 第28-30页 |
| ·程序的执行命令 | 第30页 |
| ·ubuntu 环境下 C 程序的编译和执行 | 第30页 |
| ·ubuntu 环境下 MPI 程序的编译和执行 | 第30-31页 |
| ·并行程序的性能分析 | 第31-37页 |
| ·加速比(speedup) | 第31-32页 |
| ·加速比定律 | 第32-36页 |
| ·并行粒度 | 第36-37页 |
| ·本章小结 | 第37-38页 |
| 5. 混合编程研究 | 第38-50页 |
| ·MPI+OpenMP 混合编程模型 | 第38-39页 |
| ·MPI+OpenMP 矩阵相乘实现 | 第39-42页 |
| ·矩阵相乘串行算法 | 第39-40页 |
| ·基于 MPI 的矩阵相乘 | 第40-41页 |
| ·MPI+OpenMP 的矩阵相乘混合编程 | 第41-42页 |
| ·基于 OpenCL 的异构编程 | 第42-49页 |
| ·OpenCL 程序流程 | 第42-43页 |
| ·基于 OpenCL 矩阵相乘实现 | 第43-49页 |
| ·本章小结 | 第49-50页 |
| 6. 总结与展望 | 第50-52页 |
| ·总结 | 第50页 |
| ·展望 | 第50-52页 |
| 参考文献 | 第52-55页 |
| 附录:攻读学位期间发表的学术论文及参与项目 | 第55-56页 |
| 致谢 | 第56-57页 |