[发明专利]计算着色器的栅格化有效
申请号: | 201380009663.3 | 申请日: | 2013-02-15 |
公开(公告)号: | CN104106049B | 公开(公告)日: | 2017-09-29 |
发明(设计)人: | A.格莱斯特;B.P.泰恩;D.塞西安斯;M.莱亚普诺夫;Y.多特森科 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F9/30 |
代理公司: | 中国专利代理(香港)有限公司72001 | 代理人: | 苏赫峰,汪扬 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 描述了将计算机着色器程序划分为被称作线程循环的最大大小的区域的编译器算法。该算法可以移除原始的基于栅栏的同步,而因此变换的着色器程序在语义上保持等同于原始着色器程序(即,所变换的着色器程序是正确的)。此外,所变换的着色器程序服从经由现有编译器技术所进行的优化,并且能够被(多个)CPU线程有效执行。调度调用能够通过分配单个或多个CPU线程以执行线程分块而在CPU上进行负载平衡。此外,并发执行的线程分块的数量并不使得CPU过载。 | ||
搜索关键词: | 计算 着色 栅格 | ||
【主权项】:
一种对由着色语言的源代码所组成的计算着色器所编译的中间表示IR代码进行变换的方法,该方法由包括与存储IR代码的存储硬件耦合的处理硬件的计算设备执行,该方法由处理硬件执行,该方法包括:执行标记和分析途径,其包括:确定IR代码中的第一位置是IR代码中子程序的开始和结尾;标记IR代码中的确定的第一位置,该标记是基于它们已被确定为IR代码中子程序的开始和结尾的位置而做出;确定IR代码中的第二位置是子程序中嵌套的栅栏,并且标记确定的第二位置,该标记是基于它们已被确定为IR代码中子程序中嵌套的栅栏的位置而做出;针对每个栅栏,识别并且标记嵌套辖域和相关运算;确定该栅栏在IR代码中的统一控制流程UCF转移中发生还是在IR代码中的相异控制流程DCF转移中发生;确定IR代码中的第三位置是被确定为经由调用链直接或间接执行栅栏的子程序的调用点,以及标记第三位置,该标记是基于它们已被确定为IR代码中确定为直接或间接执行栅栏的子程序中的调用点的位置而做出;以及通过对该标记所标记的子程序的运算进行处理而使用所标记的IR代码形成最大大小的线程循环,处理包括按序评估所标记的运算,针对当前运算,评估包括:紧接当前运算之前插入结束线程循环运算,直到当前运算被标记为子程序的开始,在当前运算是紧处于开始线程循环运算之后的结束线程循环运算时,移除这两个运算,紧接当前运算之后插入开始线程循环运算,直到当前运算是子程序的结尾,以及在当前运算是栅栏时,将其从IR代码中移除,该方法进一步包括:当将IR代码变换为线程循环时,对线程循环之外的UCF转移进行优化并且对线程循环之外的DCF转移进行优化。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201380009663.3/,转载请声明来源钻瓜专利网。
- 上一篇:外感风热治疗方法
- 下一篇:LED照明调光电路以及LED照明调光方法