[发明专利]在光线遍历期间减少存储器访问等待时间在审
申请号: | 201780036218.4 | 申请日: | 2017-05-23 |
公开(公告)号: | CN109313550A | 公开(公告)日: | 2019-02-05 |
发明(设计)人: | I·沃德;C·本廷;S·沃普 | 申请(专利权)人: | 英特尔IP公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06T1/20;G06T15/06 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 张欣;黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 光纤 遍历分层数据结构 遍历 预取 存储器访问 | ||
当预取第二光纤的数据时,在推迟针对第二光纤的遍历之后,使用第一光纤来遍历分层数据结构。随后上下文被切换到第二光纤,并且当预取另一光纤的数据时使用第二光纤遍历分层数据结构。
背景技术
本公开涉及减少光线遍历期间来自存储器访问的等待时间。
例如,在电影制作和专业渲染中,以及在诸如可视化和基于光线的模拟(弹道学、雷达、无线电等)之类的无关技术中使用光线跟踪。光线跟踪找到与给定光线相交的最近(或任何)三角形。光线跟踪通常通过遍历加速结构(诸如包围体层级结构(BVH))来进行工作。已经开发了几种技术来使这种遍历更有效,并将这种遍历映射到现代中央处理单元(CPU)和图形处理单元(GPU)架构(特别是其中找到的向量单指令多数据(SIMD)单元)。
包围体可以是围绕底层几何结构的边界图元(例如边界框)的树。围绕每个三角形构建立方体,构成对对象的描绘。各组框可以被封装在较大的框内,封装在较大框内等。在光线跟踪中,光线以深度优先或宽度优先的方式被遍历通过BVH,并且对光线遇到的框执行光线框测试(如果光线不与框相交,则光线可以跳过该子树;否则光线需要遍历它)。如果与光线相交的节点是内部BVH节点,则光线必须调度子节点以进行遍历;如果它是叶节点,则它与存储在该节点中的基元相交(以寻找光线基元交叉点)。
在使用SIMD单元时,一种方法是将多条光线与每个框相交(称为包跟踪或流跟踪),或者一条光线可以与同一母节点的多个子框相交。一种常用的变型是使用分支因子为4的BVH(即,每个内部节点有四个子节点,即所谓的“四体BVH”),并以SIMD并行地执行四次框测试(所谓的“四节点”测试)。
对于具有数百万个多边形的大型模型,通过BVH的光线遍历会导致大量存储器访问(这常常导致高速缓存未命中)。这些算法的深度优先性质使得用于减少来自这种存储器访问的等待时间的任何类型的预取变得困难(如果不是不可能的话)。包跟踪和流跟踪两者都允许分摊跨多条光线的存储器存访问成本;但不能避免这种成本。在加载BVH节点(或三角形)时,大量成本与源自高速缓存未命中的停顿相关联。硬件-超线程(每个CPU核有多个硬件线程)当然有助于减少这些等待时间中的一些,但由于每个CPU核的硬件线程数量较少,这本身并不足够。
附图说明
参照以下附图描述一些实施例:
图1是一个实施例的流程图;
图2是另一实施例的流程图;
图3是根据一个实施例的向量寄存器架构的描绘。
图4是根据一个实施例的处理系统的框图;
图5是根据一个实施例的处理器的框图;
图6是根据一个实施例的图形处理器的框图;
图7是根据一个实施例的图形处理引擎的框图;
图8是图形处理器的另一实施例的框图;
图9是根据一个实施例的线程执行逻辑的描绘;
图10是根据一些实施例的图形处理器指令格式的框图;
图11是图形处理器的另一实施例的框图;
图12A是根据一些实施例的图形处理器命令格式的框图;
图12B是示出了根据一些实施例的图形处理器命令序列的框图;
图13是根据一些实施例的示例性图形软件架构的描绘;
图14是示出了根据一些实施例的IP核开发系统的框图;
图15是示出了根据一些实施例的示例性芯片上系统集成电路的框图;
图16是根据一个实施例的芯片上系统中的图形处理器的框图;并且
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔IP公司,未经英特尔IP公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780036218.4/2.html,转载请声明来源钻瓜专利网。