基于SIMD指令的多核软件渲染器的设计与实现

来源 :浙江大学 | 被引量 : 0次 | 上传用户:csuzqc
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
新研发的处理器越来越多地加入SIMD向量指令集,增强其数据并行处理能力。无锡江南计算所研发的国产处理器神威也搭载了SIMD向量处理单元。然而,国产处理器平台上应用匮乏,三维可视化应用尤其如此,而三维可视化应用的开发离不开高效的渲染器。因此我们开发了本文描述的渲染器,期望推进国产处理器上三维应用的发展。本文详细描述了一个为装备了SIMD处理单元的多核处理器设计的软件渲染器架构。传统的渲染管线难以并行化,本文中我们设计了一个sort-middle架构的并行渲染管线,该设计能有效利用多核和SIMD处理单元带来的性能提速。另外,我们也根据Greene描述的递归下降算法设计了高效的适合SIMD指令的光栅化方法。根据这些设计我们实现了一套平台无关的渲染框架,并且根据该框架在Intel Core i7的Windows平台和神威处理器的Linux平台上都实现了渲染器。结果显示,渲染器在这两个平台上都具有接近线性的可伸缩性。并且在Intel Core i7的Windows平台上,比广泛使用的Mesa3D的单线程渲染管线参考Mesa+Gallium+Softpipe快20倍以上,比其多线程渲染引擎Mesa+Swrast还快2.1-3.3倍。该渲染器使用装箱来减少对内存带宽的需求,并且使锁争用减少。目前该渲染器使用x86上的SSE指令或者神威上的SIMD指令可以并行地渲染四个片元。同时,也利用为SIMD指令优化过的数学函数进行所有的三维变换。通过有技巧地使用处理器上的SIMD和多核并行机制,该渲染器的性能明显优于串行的实现。该渲染器能维持渲染顺序,并且支持多种特性:可以渲染到多个渲染目标,可以定制顶点和片元着色器,支持多边形裁剪,背面等相关剔除操作,深度缓存以及透视矫正纹理映射。另外,由于软件实现的灵活性,我们实现了平台无关的绘制框架,具有高度的可移植性。我们一开始在搭载了Intel Core i7的Windows平台上开发,后来很便利地移植到了搭载了神威处理器的Linux平台上。
其他文献
学位
随着信息技术的快速发展,企业经营环境日益变得复杂多样,灵活的根据业务需求变化对生产、经营过程作出调整,对企业来说显得尤为重要。因为良好的适应性和可扩展性使得以工作
时间管理是工作流管理系统的重要组成部分。企业应用越复杂,对工作流时间管理技术的要求越高。由于时间概念表示、分析的复杂性,以及缺乏统一的时间建模规范与标准,对工作流
随着网络的发展,科技的广泛应用,对于身份识别的安全性可靠性的要求日益增加。指纹由于其易采集、难伪造、较稳定等优势,成为生物特征识别领域的研究热点。近年来,指纹识别技术也
目前,神经网络集成技术已经被广泛应用于回归和分类等诸多领域。提高预测和分类的精度作为其应用的一种是目前很多决策领域面对的重要而困难的工作,多模型结合的结构是预测领
当今社会是信息社会,信息无论对于个人或者国家来说都是至关重要的。对于一个国家的国防安全来说,这一点尤其重要。计算机网络是获取信息的重要途径。网络管理作为一种重要的
为适应全国铁路第六次大面积提速的需要,铁路货车的检修标准也随之提高。单车试验器主要用来对铁路货车制动系统进行检测,其性能的好坏将直接影响到铁路货车运行的安全。在2008
随着计算机技术、信息技术和网络技术的迅速发展,纯电子期刊的出版、数字图书馆的建设已经越来越普遍。科技论文的在线出版与在线共享在欧美国家已经成为现实,但在国内尚处于
随着计算机技术的普及,信息化、智能化、网络化的发展,传统的电视技术得到了广泛的发展和应用;随着高性能集成芯片技术的发展以及嵌入式技术的成熟,各种各样的嵌入式产品已经
OOSD技术能够较好的解决核心关注点的问题,但是对于横切关注点的处理以及如何响应软件需求的多变性,仍然具有局限性。而AOSD技术正是针对这一问题而被提出的。AOSD技术是面向
学位