| 摘要 | 第1-5页 |
| ABSTRACT | 第5-9页 |
| 第一章 引言 | 第9-12页 |
| ·研究背景及意义 | 第9-10页 |
| ·主要工作和创新点 | 第10页 |
| ·论文结构 | 第10-12页 |
| 第二章 计算机围棋系统及基本模型 | 第12-20页 |
| ·博弈树模型及复杂度 | 第12-14页 |
| ·蒙特卡洛局势评估 | 第14-18页 |
| ·基本思想 | 第14-15页 |
| ·数学期望结果模型 | 第15-16页 |
| ·蒙特卡洛对弈 | 第16页 |
| ·与静态评估的比较 | 第16-18页 |
| ·蒙特卡洛搜索树算法及其瓶颈 | 第18-20页 |
| ·蒙特卡洛搜索树算法 | 第18页 |
| ·蒙特卡洛搜索树算法的瓶颈 | 第18-20页 |
| 第三章 多核并行计算及CUDA | 第20-25页 |
| ·CPU多核并行 | 第21-22页 |
| ·CPU+GPU异构并行 | 第22-23页 |
| ·CUDA的出现 | 第23-25页 |
| ·GPU通用计算(GPGPU) | 第23-24页 |
| ·从GPGPU到CUDA | 第24-25页 |
| 第四章 CUDA编程模型及体系结构 | 第25-36页 |
| ·CUDA简介 | 第25-27页 |
| ·一种通用的并行架构 | 第25-26页 |
| ·一种可扩展的编程模型 | 第26-27页 |
| ·CUDA编程模型 | 第27-30页 |
| ·主机与设备 | 第27-30页 |
| ·线程结构 | 第30页 |
| ·CUDA存储器模型 | 第30-35页 |
| ·寄存器 | 第31页 |
| ·局部存储器 | 第31页 |
| ·共享存储器 | 第31-33页 |
| ·全局存储器 | 第33-34页 |
| ·常数存储器 | 第34-35页 |
| ·CUDA硬件架构 | 第35页 |
| ·小结 | 第35-36页 |
| 第五章 基于CUDA改良的围棋对弈引擎的设计与实现 | 第36-60页 |
| ·围棋系统的主体框架 | 第36-41页 |
| ·对弈引擎 | 第37页 |
| ·对弈引擎的设计 | 第37-38页 |
| ·对弈引擎的实现 | 第38-40页 |
| ·生成器 | 第40页 |
| ·评估器 | 第40-41页 |
| ·程序语言的问题 | 第41-42页 |
| ·C/C++的兼容性 | 第41-42页 |
| ·面向对象及面向过程 | 第42页 |
| ·GPU+CPU异构并行 | 第42-45页 |
| ·CPU线程与GPU线程 | 第42页 |
| ·多核与众核 | 第42-43页 |
| ·外部存储器 | 第43-44页 |
| ·缓存 | 第44-45页 |
| ·CUDA对弈引擎整体设计 | 第45-50页 |
| ·传统GPGPU开发 | 第45页 |
| ·CUDA开发 | 第45-46页 |
| ·原蒙特卡洛对弈引擎的设计 | 第46-48页 |
| ·基于CUDA的对弈引擎整体设计思路 | 第48-50页 |
| ·host端的设计与实现 | 第50-55页 |
| ·数据结构 | 第50页 |
| ·棋盘 | 第50-52页 |
| ·全局变量 | 第52页 |
| ·设计与实现 | 第52-55页 |
| ·device端的设计与实现 | 第55-59页 |
| ·数据结构 | 第55页 |
| ·设计与实现 | 第55-59页 |
| ·整体过程分析 | 第59-60页 |
| 第六章 实验 | 第60-63页 |
| ·运行环境的配置 | 第60-62页 |
| ·CUDA的下载及安装 | 第60-61页 |
| ·在Visual Studio中使用CUDA | 第61-62页 |
| ·引擎效率对比 | 第62-63页 |
| 第七章 总结与展望 | 第63-65页 |
| ·工作总结 | 第63页 |
| ·工作展望 | 第63-65页 |
| 参考文献 | 第65-67页 |
| 致谢 | 第67-68页 |
| 攻读硕士学位期间发表的学术论文 | 第68页 |