摘要 | 第1-4页 |
ABSTRACT | 第4-8页 |
第1章 绪论 | 第8-12页 |
·问题提出 | 第8页 |
·研究背景 | 第8-9页 |
·研究意义 | 第9-10页 |
·主要研究内容 | 第10-11页 |
·论文的组织结构 | 第11-12页 |
第2章 DEM仿真原理、GPU和OpenGL编程概述 | 第12-24页 |
·离散单元法(DEM)概述 | 第12-14页 |
·法线方向力 | 第12-13页 |
·切向力及合力 | 第13页 |
·蛙跳积分 | 第13-14页 |
·CPU+GPU异构编程概述 | 第14-19页 |
·CPU和GPU设计架构 | 第14-15页 |
·CPU和GPU比较 | 第15-16页 |
·CUDA存储器模型 | 第16-17页 |
·CUDAC | 第17-18页 |
·CUDA程序基本框架 | 第18-19页 |
·OpenGL编程概述 | 第19-23页 |
·OpenGL管线 | 第20-21页 |
·OpenGL初始化 | 第21页 |
·OpenGL投影设置 | 第21-22页 |
·OpenGL光照设置 | 第22-23页 |
·本章小结 | 第23-24页 |
第3章 粒子系统主机端的设计与实现 | 第24-31页 |
·系统的文件安排 | 第24-25页 |
·C++后缀的文件 | 第24-25页 |
·CUDA后缀的文件 | 第25页 |
·粒子系统类 | 第25-27页 |
·仿真参数初始化 | 第26页 |
·系统的内存分配与释放 | 第26-27页 |
·系统的主函数文件 | 第27-30页 |
·GLUT编程框架 | 第28-29页 |
·螺杆挤出器模型的绘制 | 第29-30页 |
·本章小结 | 第30-31页 |
第4章 粒子系统设备端的设计与实现 | 第31-41页 |
·线程维度划分 | 第32页 |
·粒子状态更新 | 第32-33页 |
·邻域搜索 | 第33-36页 |
·划分网格 | 第33-34页 |
·哈希值排序 | 第34-35页 |
·计算排序后的粒子数组 | 第35-36页 |
·粒子碰撞处理 | 第36-40页 |
·粒子间的碰撞 | 第36页 |
·粒子与螺筒与螺杆的碰撞 | 第36-37页 |
·粒子与螺纹的碰撞 | 第37-40页 |
·本章小结 | 第40-41页 |
第5章 粒子系统的改进 | 第41-51页 |
·使用shared memory和线程同步 | 第41-43页 |
·使用CUDA流 | 第43-45页 |
·使用CUDA与OpenGL的互操作 | 第45-46页 |
·CUDA程序其他功能实现及策略 | 第46-50页 |
·程序控制分支优化 | 第46-47页 |
·寄存器使用优化 | 第47-48页 |
·线程维度划分策略 | 第48页 |
·Memory coalescing策略 | 第48-49页 |
·使用CUDA事件 | 第49-50页 |
·本章小结 | 第50-51页 |
第6章 实验与结果分析 | 第51-65页 |
·实验条件与初始数据 | 第51-53页 |
·系统运行效果 | 第53-57页 |
·各种优化策略效率的实验分析 | 第57-60页 |
·使用shared memory | 第57-58页 |
·使用CUDA流 | 第58-59页 |
·使用CUDA与OpenGL互操作 | 第59-60页 |
·不同显卡试验数据对比 | 第60-62页 |
·实验结果分析 | 第62-64页 |
·本章小结 | 第64-65页 |
第7章 全文总结 | 第65-67页 |
·研究成果及结论 | 第65页 |
·下一步的工作 | 第65-67页 |
致谢 | 第67-68页 |
参考文献 | 第68-71页 |
攻读学位期间的研究成果 | 第71页 |