摘要 | 第1-7页 |
Abstract | 第7-11页 |
第1章 绪论 | 第11-19页 |
·引言 | 第11页 |
·本课题的研究背景 | 第11-14页 |
·多核的研究现状和发展 | 第11-13页 |
·多核的应用领域 | 第13页 |
·课题的研究现状 | 第13-14页 |
·课题的研究意义 | 第14页 |
·本课题的并行化模型工具 | 第14-16页 |
·并行模型TBB | 第15页 |
·并行支持工具Intel工具 | 第15-16页 |
·本设计的预期目标和主要工作内容 | 第16-18页 |
·预期目标 | 第16页 |
·主要工作内容 | 第16-17页 |
·课题的难点 | 第17-18页 |
·课题的创新点 | 第18页 |
·本章小结 | 第18-19页 |
第2章 系统总体设计 | 第19-25页 |
·多核开发平台 | 第19-20页 |
·硬件开发平台-多核处理器 | 第19-20页 |
·软件开发平台 | 第20页 |
·系统验证平台 | 第20页 |
·总体设计 | 第20-24页 |
·系统分析 | 第21页 |
·并行化开发运行时库的选择 | 第21-22页 |
·并行化开发工具的选择 | 第22-23页 |
·系统开发模型的建立 | 第23-24页 |
·系统开发步骤 | 第24页 |
·本章小结 | 第24-25页 |
第3章 串行程序可并行化分析 | 第25-38页 |
·串行程序的结构特征 | 第25-31页 |
·串行程序总体架构 | 第25-27页 |
·串行程序的功能 | 第27-29页 |
·串行程序的并行化条件 | 第29-30页 |
·串行程序的并行化可能性 | 第30-31页 |
·Vtune性能分析解决方案 | 第31-33页 |
·Vtune采样分析 | 第31-33页 |
·Vtune调用图分析 | 第33页 |
·串行程序的并行化分析 | 第33-36页 |
·串行程序的存储结构 | 第34-35页 |
·串行程序的循环并行化分析 | 第35页 |
·串行程序的任务级别划分分析 | 第35-36页 |
·串行程序的并行化分析总体解决方案 | 第36-37页 |
·本章小结 | 第37-38页 |
第4章 并行化改造的设计实现 | 第38-58页 |
·传统解决方案 | 第38-39页 |
·Raw thread解决方案 | 第38页 |
·OpenMP解决方案 | 第38-39页 |
·开发平台 | 第39-41页 |
·TBB介绍 | 第39-40页 |
·并行环境构建 | 第40-41页 |
·并行设计模型整体架构 | 第41页 |
·流程机制的并行化改造实现 | 第41-46页 |
·TBB/pipeline流程机制设计 | 第42-45页 |
·TBB/filter设计 | 第45-46页 |
·粒度划分和循环并行化实现 | 第46-53页 |
·parallel_for循环并行化设计 | 第47-50页 |
·blocked_range/blocked_range2d并行粒度划分设计 | 第50-51页 |
·粒度的划分实验 | 第51-53页 |
·内存并行化设计 | 第53-54页 |
·任务级并行化实现 | 第54-55页 |
·TBB/scheduler_init任务调度设计 | 第54-55页 |
·TBB/task设计 | 第55页 |
·并行时间计时实现 | 第55-56页 |
·并行结果和性能初步评测 | 第56-57页 |
·并行结果分析 | 第57页 |
·本章小结 | 第57-58页 |
第5章 并行化程序调试和优化 | 第58-70页 |
·优化程序多核平台的建立 | 第58-59页 |
·调试 | 第59-63页 |
·Checker分析 | 第59-61页 |
·数据竞争问题的解决方案 | 第61-63页 |
·Intel C++Complier编译优化 | 第63-65页 |
·Intel C++Complier对串行程序的优化 | 第64页 |
·complier c++对并行程序的优化 | 第64-65页 |
·Intel thread profiler优化 | 第65-69页 |
·profiler分析 | 第65-67页 |
·负载均衡的解决方案 | 第67-68页 |
·加锁解锁性能影响的解决方案 | 第68-69页 |
·本章小结 | 第69-70页 |
第6章 分析结果总评测 | 第70-74页 |
·与串行程序的对比评测 | 第70-72页 |
·对评测结果的分析 | 第72-73页 |
·本章小结 | 第73-74页 |
结论 | 第74-76页 |
致谢 | 第76-77页 |
攻读硕士学位期间发表的论文 | 第77-78页 |
参考文献 | 第78-83页 |