采用GPU和多CPU高速产生复杂群体样本
摘要 | 第3-4页 |
Abstract | 第4页 |
第1章 引言 | 第8-32页 |
1.1 群体遗传学理论 | 第8-14页 |
1.1.1 经典群体遗传学 | 第9页 |
1.1.2 溯祖理论 | 第9-14页 |
1.1.2.1 溯祖理论的诞生 | 第9-10页 |
1.1.2.2 溯祖理论的发展 | 第10-12页 |
1.1.2.3 溯祖模型的程序 | 第12-13页 |
1.1.2.4 溯祖模型的应用 | 第13-14页 |
1.2 Hudson ms程序的介绍 | 第14-18页 |
1.2.1 ms程序的算法 | 第14-15页 |
1.2.2 ms程序的模拟过程 | 第15-17页 |
1.2.3 ms程序的特点 | 第17页 |
1.2.4 ms程序的应用 | 第17-18页 |
1.3 多CPU并行计算 | 第18-23页 |
1.3.1 多CPU的并行系统 | 第19-20页 |
1.3.2 并行编程标准 | 第20-23页 |
1.4 GPU并行计算 | 第23-30页 |
1.4.1 CUDA的推出 | 第23-26页 |
1.4.2 CUDA及其特点 | 第26-28页 |
1.4.3 CUDA的应用 | 第28-30页 |
1.4.4 CPU+GPU异构计算 | 第30页 |
1.5 本研究的内容、目的和意义 | 第30-32页 |
第2章 材料与方法 | 第32-51页 |
2.1 实验环境 | 第32-34页 |
2.2 CUDA程序实现 | 第34-41页 |
2.2.1 源程序的分析 | 第34-35页 |
2.2.2 任务划分 | 第35-36页 |
2.2.3 数据结构的设计 | 第36页 |
2.2.4 多线程设计 | 第36-39页 |
2.2.5 性能分析 | 第39-41页 |
2.3 CUDA代码优化 | 第41-47页 |
2.3.1 优化关键点 | 第41-44页 |
2.3.2 合并访问 | 第44-46页 |
2.3.3 共享存储器 | 第46-47页 |
2.3.4 其他优化 | 第47页 |
2.4 多CPU代码实现 | 第47-51页 |
2.4.1 数据结构设计 | 第47-48页 |
2.4.2 并行化设计 | 第48-50页 |
2.4.3 GPU和多CPU下的实现 | 第50-51页 |
第3章 结果与分析 | 第51-66页 |
3.1 CUDA程序实现的架构和流程 | 第51-53页 |
3.1.1 CUDA程序的架构 | 第51-52页 |
3.1.2 CUDA程序的执行流程图 | 第52-53页 |
3.2 CUDA程序的分析 | 第53-56页 |
3.2.1 CUDA程序的加速因素分析 | 第53-54页 |
3.2.2 CUDA程序的限制因素分析 | 第54-56页 |
3.3 CUDA程序的加速比结果 | 第56-61页 |
3.3.1 CUDA程序最优线程/块比例 | 第56-58页 |
3.3.2 CUDA程序的运行时间 | 第58-61页 |
3.3.3 CUDA程序优化后的性能分析 | 第61页 |
3.4 Pthread程序的加速比结果 | 第61-64页 |
3.4.1 Pthread程序多线程下最佳线程数 | 第61-63页 |
3.4.2 Pthread程序多线程下的运行时间 | 第63-64页 |
3.5 GPU和多CPU下程序的实现 | 第64-66页 |
3.5.1 GPU和多CPU的流程图 | 第64-66页 |
第4章 讨论 | 第66-71页 |
4.1 CUDA和Pthread标准的优势 | 第66-67页 |
4.2 程序并行计算的选择 | 第67-68页 |
4.3 程序优化的讨论 | 第68-69页 |
4.4 小结与展望 | 第69-71页 |
致谢 | 第71-72页 |
参考文献 | 第72-76页 |