文摘
英文文摘
声明
第1章绪论
1.1引言
1.2本课题的研究背景
1.2.1多核软件开发的研究现状和发展
1.2.2多核软件的应用领域
1.2.3课题的研究现状
1.2.4课题的研究意义
1.3本设计的并行化模型工具
1.3.1并行模型TBB
1.3.2辅助并行开发工具
1.4本设计的预期目标和主要工作内容
1.4.1预期目标
1.4.2主要工作内容
1.4.3课题的难点
1.4.4课题的创新点
第2章系统总体设计
2.1多核开发平台
2.1.1硬件开发平台——多核处理器
2.1.2软件开发平台——Linux操作系统对多核处理器的支持
2.2总体设计
2.2.1系统分析
2.2.2并行编程模型的选择
2.2.3并行化开发工具的选择
2.2.4并行程序开发模型
2.2.5系统开发步骤
第3章 串行程序可并行化分析
3.1串行程序的结构特征
3.1.1串行程序总体架构
3.1.2 H.264视频解码器的软件编译实现
3.1.3解码程序实现流程分析
3.1.4本文解码器性能测试
3.1.5串行程序的并行化条件
3.1.6串行程序的并行化可能性
3.2串行程序的解码性能分析
3.2.1 Vtune性能分析器数据采样分析
3.2.2 Vtune性能分析器调用图分析
3.3原始程序的并行化方案
3.3.1原始程序的数据并行化
3.3.2原始程序的循环并行化
3.3.3原始程序的功能并行化分析
3.4原始程序的并行化分析总体解决方案
第4章并行化方案的设计实现
4.1传统解决方案
4.1.1 Linux POSIX Pthreads线程库
4.1.2 openMP并行方案
4.1.3 MPI并行方案
4.2本设计开发平台
4.2.1 TBB介绍
4.2.2并行环境的构建
4.2.3并行设计模型整体架构
4.3粒度划分和循环并行化实现
4.3.1 parallel_for循环并行化设计
4.3.2并行粒度划分设计
4.3.3粒度的划分实验
4.4内存并行化实现
4.5数据并行化实现
4.5.1数据并行化的具体实现
4.6流水线并行化实现
4.7任务级并行化实现
4.7.1 TBB/scheduler_init任务调度设计
4.7.2 TBB/task设计
第5章并行程序调试与评测
5.1 Intel C++compiler编译优化
5.2 Intel thread checker调试
5.3并行程序评测
5.3.1评测条件
5.3.1串行程序评测
5.3.2并行程序评测
结论
致谢
参考文献
攻读硕士学位期间发表的论文