【技术实现步骤摘要】
在运行时绑定常量以提高资源利用率相关申请的交叉引用本申请要求于2017年11月14日提交的序列号为62/586,031、标题为“用于提高资源利用率的统一数据路径(UniformDatapathforImprovedResourceUtilization)”的美国临时专利申请的优先权权益。该相关申请的主题内容在此通过引用并入本文。
技术介绍
本专利技术的实施例总地涉及多线程处理,更具体地,涉及在运行时绑定常量以提高资源利用率。相关技术的描述传统的多线程应用程序可以在并行处理器上执行。在这样的实现方式中,多个线程通常彼此并行地执行多线程应用程序的部分以执行各种计算。例如,线程集中的每个线程可以同时执行图形处理管线的像素着色器阶段,以在渲染图形场景时计算像素的颜色值。在执行期间,线程常常基于一个或更多个常量执行它们各自的计算。常量通常是浮点或整数值,其在应用程序的生命周期内不会发生变化。例如,给定常量可以定义驻留在图形场景中的特定材料的反射率。这些常量的值通常存储在常量库中。在操作中,执行多线程应用程序的部分的线程集访问该常量库以便执行计算。比如上面所提到的。例如,当渲染包括具有给定反射率值的材料的图形场景时,该线程集中的每个线程将从该常量库读取该反射率值。然后,每个线程将基于反射率值生成一个或更多个像素的颜色值。传统的并行处理器通常具有有限数量的常量库(在一些实现中为十四个),因此仅能存储固定数量的常量值。因此,在传统并行处理器上执行的多线程应用程序通常被约束为仅基于固定数量的常量值执行计算。这种约束具有某些缺点。特别地,某些标准应用程序编程接口(API)要 ...
【技术保护点】
1.一种用于绑定常量的计算机实现的方法,所述方法包括:基于包括在多线程应用程序中的第一指令确定第一指针链,其中所述第一指针链指示与第一常量相关联的第一存储器位置;基于所述第一指针链生成附加指令集;使得包括在第一线程集中的第一线程执行所述附加指令集,其中所述第一线程在执行所述附加指令集时将所述第一常量复制到第二存储器位置;以及使得包括在所述第一线程集中的每个线程执行第二指令,其中包括在所述第一线程集中的每个线程在执行所述第二指令时使用所述第一常量执行第一操作。
【技术特征摘要】
2017.11.14 US 62/586,031;2018.02.14 US 15/897,0901.一种用于绑定常量的计算机实现的方法,所述方法包括:基于包括在多线程应用程序中的第一指令确定第一指针链,其中所述第一指针链指示与第一常量相关联的第一存储器位置;基于所述第一指针链生成附加指令集;使得包括在第一线程集中的第一线程执行所述附加指令集,其中所述第一线程在执行所述附加指令集时将所述第一常量复制到第二存储器位置;以及使得包括在所述第一线程集中的每个线程执行第二指令,其中包括在所述第一线程集中的每个线程在执行所述第二指令时使用所述第一常量执行第一操作。2.如权利要求1所述的计算机实现的方法,其中确定所述第一指针链包括:基于与所述多线程应用程序相关联的根表确定第一指针,其中所述第一指针指示描述符堆基址;以及基于所述第一指针确定第二指针,其中所述第二指针指示包括所述第一存储器位置的存储器区域。3.如权利要求1所述的计算机实现的方法,其中确定所述第一指针链包括基于与所述多线程应用程序相关联的根表确定第一指针,并且其中所述第一指针指示包括所述第一存储器位置的存储器区域。4.如权利要求1所述的计算机实现的方法,还包括:确定包括在所述多线程应用程序中的第三指令指示存储在与所述多线程应用程序相关联的根表中的第二常量;以及使得所述第一线程集中包括的每个线程访问所述根表内的所述第二常量。5.如权利要求1所述的计算机实现的方法,其中在执行所述多线程应用程序的至少一部分的同时生成所述附加指令集,并且其中在执行所述多线程应用程序的至少一部分的同时所述第一线程执行所述附加指令集。6.如权利要求1所述的计算机实现的方法,还包括基于所述第一指针链生成所述第二指令,其中在执行所述多线程应用程序的至少一部分的同时生成所述第二指令,并且其中在执行所述多线程应用程序的至少一部分的同时所述第一线程集中的每个线程执行所述第二指令。7.如权利要求1所述的计算机实现的方法,还包括:使得调度器调度所述第一线程以执行所述第二指令;以及使得所述调度器调度包括在所述第一线程集中的第二线程以执行所述第二指令,其中所述第一线程独立于所述第二线程被调度。8.如权利要求1所述的计算机实现的方法,其中,所述第一指针链包括与所述第一存储器位置相对应的第一虚拟地址,并且所述方法还包括:基于所述第一虚拟地址生成第三指令;以及使得所述第一线程执行所述第三指令,其中执行所述第三指令使得所述第一线程修改所述第一虚拟地址以对应于与第二常量相关联的第二存储器位置。9.如权利要求1所述的计算机实现的方法,其中,所述第一常量包括与由所述多线程应用程序定义的图形场景中包括的材料相关联的材料属性的值。10.一种非暂时性计算机可读介质,存储程序指令,所述程序指令在由处理器执行时使得所述处理器通过执行以下步骤绑定常量:基于包括在多线程应用程序中的第一指令确定第一指针链,其中所述第一指针链指示与第一常量相关联的第一存储器位置;基于所述第一指针链生成附加指令集;使得包括在第一线程集中的第一线程执行所述附加指令集,其中所述第一线程在执行所述附加指令集时将所述第一常量复制到第二存储器位置;以及使得包...
【专利技术属性】
技术研发人员:阿杰伊·蒂鲁马拉,杰克·肖凯特,M·帕特尔,瑟利斯·加德雷,P·考希克,A·格雷瓦尔,谢卡尔·迪韦卡,A·达科夫斯基,
申请(专利权)人:辉达公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。