论文部分内容阅读
本文详细论述了作者在基于GPU(图形处理器)的高性能通用计算方面的研究工作,探讨了GPU的发展历史、硬件特性及在通用计算方面处理流程,在此基础上,实现了基于GPU的3-SAT遗传算法和直接体视化计算,测试了不同硬件环境下基于GPU计算的遗传算法和体视化的处理速度,并对GPU和CPU的计算效率做了对比分析。完成了一个基于GPU计算体视化演示系统。 近年来GPU硬件飞速发展,其速度已经超过了CPU,平均每隔6个月性能就会翻番,比CPU性能18个月才能翻番的发展速度快的多[1]。目前GPU单位面积的晶体管数量已经比CPU多。而在体系结构上GPU属于单指令流多数据流(SIMD Single Instruction Stream Single Data Stream)模型,它用一个控制器来控制多个处理器执行相同的操作来实现空间上的并行性,这样的流水线并行计算结构进一步提高了其运算速度。2004年,NVIDIA GeForce 6800 Ultra处理器峰值速度可达40 Gigaflops,对比Intel Pentium4 3G,采用SSE2指令集也只能达到6Gigaflops。同时近年来GPU由过去的固定PIPELINE改变为部分可编程,从而使得应用GPU编程实现通用计算成为可能。GPU的并行流水线硬件结构及最新的可编程特性,为GPU高性能通用计算开辟了一条新路,一方面,GPU的并行流水线结构可以提高计算速度,另一方面,GPU作为协处理器和CPU并行工作,进一步提高了计算效率。 SAT问题即可满足性问题,是NP完全问题的一种。求解SAT问题,需要进行大量的计算,遗传算法可以有效的求解SAT问题,但也存在计算量大的问题。作者基于GPU计算,利用遗传算法,编写了求解3-SAT问题的程序,并对GPU和CPU求解3-SAT问题的效率做了对比分析。在Pentium4 2.4G(CPU)和NVIDIA 6200(GPU)硬件条件下测试,在运行1000个循环的情况下,CPU时间为2207ms,GPU的时间为890ms,GPU的运行效率约为CPU效率的2.48倍。 三维体视化是运用计算机图形学和图像处理技术,将包含对象内部信息的三维实体数据转换为图形或图像在屏幕上显示并进行交互处理的技术。三维体视化使研究者能够观察对象的内部结构并模拟对象的行为,在各行业有着广泛的应用。直接体绘制是近年来发展迅速的一种体视化方法。这种方法能够产生三维数据场的整体图像,包括每一个细节及揭示数据场中多种物质间的相互关系,并具有图像高质量、便于并行处理等优点,但存在计算量大的缺点,难以用传统硬件实现绘制,并且由于成像速度慢,不利于实时交互处理。