| 摘要 | 第1-6页 |
| Abstract | 第6-11页 |
| 第1章 绪论 | 第11-19页 |
| ·引言 | 第11页 |
| ·本课题研究背景 | 第11-15页 |
| ·多核并行软件开发的研究现状和发展前景 | 第11-13页 |
| ·多核并行软件的应用领域 | 第13-14页 |
| ·本课题的研究现状 | 第14-15页 |
| ·本课题的研究目的和意义 | 第15页 |
| ·本课题的预期目标和主要工作内容 | 第15-19页 |
| ·预期目标 | 第15-16页 |
| ·主要工作内容 | 第16-17页 |
| ·课题的重点和难点 | 第17页 |
| ·课题的创新点 | 第17-19页 |
| 第2章 关键技术与研究平台 | 第19-29页 |
| ·并行化模型工具 | 第19-20页 |
| ·并行化模型TBB | 第19-20页 |
| ·并行开发工具 | 第20页 |
| ·Amdahl定律 | 第20页 |
| ·开发环境 | 第20-24页 |
| ·开发平台 | 第20-22页 |
| ·软件环境 | 第22-24页 |
| ·总体设计 | 第24-27页 |
| ·设计分析 | 第24页 |
| ·并行编程模型的选择 | 第24-25页 |
| ·并行化开发工具的选择 | 第25-26页 |
| ·并行程序开发模型 | 第26-27页 |
| ·并行程序开发步骤 | 第27页 |
| ·本章小结 | 第27-29页 |
| 第3章 串行程序可并行化研究 | 第29-53页 |
| ·传统解决方案 | 第29-34页 |
| ·Linux POSIX多线程库并行方案 | 第31页 |
| ·OpenMP并行方案 | 第31-32页 |
| ·MPI并行方案 | 第32页 |
| ·TBB并行方案 | 第32-34页 |
| ·串行程序的结构特征 | 第34-46页 |
| ·串行程序总体架构 | 第34页 |
| ·XviD视频解码器的软件编译实现 | 第34-36页 |
| ·解码程序实现流程分析 | 第36-44页 |
| ·本文解码器性能测试 | 第44页 |
| ·串行程序的并行化条件 | 第44-45页 |
| ·串行程序的并行化可能性 | 第45-46页 |
| ·串行程序的解码性能分析 | 第46-48页 |
| ·原始程序的并行化方案 | 第48-51页 |
| ·原始程序的数据并行化和循环并行化 | 第49-50页 |
| ·原始程序的功能并行化分析 | 第50-51页 |
| ·原始程序的并行化分析总体解决方案 | 第51页 |
| ·本章小结 | 第51-53页 |
| 第4章 串行程序并行化实现 | 第53-65页 |
| ·并行环境的构建 | 第53-54页 |
| ·并行设计模型的整体架构 | 第54-55页 |
| ·粒度划分和循环并行化实现 | 第55-59页 |
| ·parallel_for循环并行化实现 | 第55-58页 |
| ·并行粒度划分设计 | 第58页 |
| ·粒度的划分实现 | 第58-59页 |
| ·内存并行化实现 | 第59-60页 |
| ·数据并行化实现 | 第60-61页 |
| ·流水线并行化实现 | 第61-63页 |
| ·任务级并行化实现 | 第63-64页 |
| ·TBB/scheduler_init任务调度设计 | 第63页 |
| ·TBB/task设计 | 第63-64页 |
| ·本章小结 | 第64-65页 |
| 第5章 并行程序的调试与运行 | 第65-75页 |
| ·利用Intel C++Compiler调试程序 | 第65页 |
| ·Intel thread checker调试 | 第65-66页 |
| ·并行程序评测 | 第66-73页 |
| ·评测条件 | 第66-67页 |
| ·串行程序评测 | 第67-69页 |
| ·并行程序评测 | 第69-73页 |
| ·本章小结 | 第73-75页 |
| 第6章 结论 | 第75-77页 |
| ·本文的工作总结 | 第75页 |
| ·进一步工作展望 | 第75-77页 |
| 参考文献 | 第77-81页 |
| 致谢 | 第81-83页 |
| 攻读硕士学位期间发表的论文 | 第83页 |