论文部分内容阅读
三维可视化是地学研究的重要手段,三维仿真为三维可视化提供了更加真实的用户体验感,但如何有效地利用和管理海量数据是大规模场景三维仿真所必须面对的基础问题。随着信息技术的高速发展,高性能CPU及多类型GPU的迅猛发展为三维实时仿真的发展提供了强有力的硬件支持。综合利用CPU的数据管理优势和GPU的数据渲染优势,将对三维仿真的效率提升起到非常重要的作用。本文针对目前国内外三维实时仿真研究中对计算机性能要求很高的现状,深入研究如何通过对计算机内部的CPU与GPU进行有效管理从而降低对计算机性能的要求。同时,综合考虑目前GPU类型多样化的特点,从应用普遍性角度出发,研究并提出了一种具备普适意义的架构体系。该体系明确了CPU和GPU的功能,分离了CPU与GPU之间的密切相关性,使CPU与GPU的功能具体化、明确化。本文取得的主要创新点包括:(1)提出了一种基于C/G(CPU/GPU)异步异构并行体系的三维仿真方法。该方法充分考虑到传统方法对管理CPU/GPU的利用率缺乏有效手段,同步异构并行体系很难有效地完成多类型GPU与CPU的协调工作的瓶颈问题,通过创建数据中心,监控管理CPU与GPU的使用,分离CPU与GPU,降低它们之间耦合程度,对多类型GPU与CPU的协调工作提供了有效的解决方案。(2)提出了一种基于蚁群生存算法的三维特效渲染优化算法(ACAUS,Antcolony algorithm under the survival,蚁群生存算法)。该方法通过大量产生地蚁群向数据中心反馈生存区域内存消耗情况及效率,并通报GPU蚂蚁的死亡,提高了GPU的存储器的使用率,通过对蚂蚁创建信号量,GPU使用轮询机制查询其灭亡,增加了蚂蚁的独立性,降低了系统对它的监控消耗,进一步提升了GPU的利用率。(3)提出了一种优化大规模场景三维渲染效率的单向通信机制。该方法通过数据中心中的消息管理模块来管理和控制CPU与GPU的工作,消除了传统方式CPU与GPU之间的相互等待,降低了CPU与GPU之间的通信量,彻底改变了传统的CPU-GPU的全双工通信方式,优化了CPU-GPU的通信机制。基于以上创新性的研究,本文取得的主要成果包括:(1)针对于大规模地学三维场景的特点,优化了GPU的内存数据管理。(2)针对于大规模三维场景,分析出了影响效率的数据主要有以下三种类型的数据:生存时间长、数据量大、使用频率较低(LBLD);生存时间长、数据量较大、使用频率高(LCHD);生存时间短、数据量极大、使用频率高(SSHD)。从三种数据的自身特点出发,详细讨论和研究了三种数据在渲染中的处理方式,并研究了GPU的各种存储器特点,制定了相应的解决方法,为大规模三维场景仿真中这三类数据的处理提供了解决方案,为三维仿真提供了理论指导和实践依据。(3)根据SSHD数据的自身特点,提出了对数据管理的优化方法。分析SSHD数据的特点,将蚁群算法引入对SSHD数据的管理中,提出了适合生存与灭亡管理的蚁群生存算法,提高了对海量数据管理的有效性,提高了内存的使用效率。(4)改进了传统的CPU与GPU的数据通信方式。分析了传统通信方式的工作模式,讨论了传统工作方式中影响效率的瓶颈,从双方通信阻塞及通信信息量大两个方面入手,提出如何有效克服双方不能有效利用而产生的通信瓶颈,将传统的双向通信转变成单向通信方式。(5)初步建立了基于C/G(CPU-GPU)架构异步并行体系。从大规模三维场景仿真的需求角度,分析了目前异构并行体系的不足,研究了C/G的技术架构、功能架构,初步研究和建立的C/G体系架构,对C/G架构中所涉及到的任务如何进行分配管理、任务的优先级评价、GPU存储器的分配管理、CPU-GPU使用情况动态监测、CPU-GPU与数据中心通信、数据中协调管理等内容进行的详细研究。(6)对C/G体系进行详细的分析评价。针对实际的三维地震资料,分别从帧率、软件的加速比、内存层次的并行化程度、计算的密集度等方面对C/G体系进行了详细分析和评价。本文最后将相关理论用于地震数据体的三维显示,有效地提高了显示速度,为地震资料的高效率解释铺平了道路。