一种Grid坐标数据跨通道切片复用系统、方法、介质、终端及程序产品与流程
本技术涉及跨通道切片复用,特别是涉及一种grid坐标数据跨通道切片复用系统、方法、介质、终端及程序产品。
背景技术:
1、gridsample、双线性插值、最近邻插值等算子通常需要读取两类数据:一类是待采样的特征图数据fm,另一类是用于描述采样位置的grid坐标数据。fm数据通常随通道维度k或k4切片变化而变化;而grid坐标数据通常只与输出空间位置w/h有关,与fm的k维切片无关。
2、在传统硬件实现中,控制器按fm的k4切片逐个发射微操作uop。若每个k4切片均重复发起grid坐标读取,则同一空间位置的grid数据会被多次从l1存储中读取。对于k较大的场景,例如k=64且以k4为切片时,同一个空间位置可能对应16个k4 step。如果每个k4step均读取一次grid数据,将造成grid线性读流量、l1请求队列压力以及存储仲裁冲突显著增加。
3、另一方面,grid数据访问与fm非线性读取共享片上l1访问资源。重复的grid读取不仅占用读端口,还可能增加fm读请求的等待时间,降低整个gridsample流水的有效吞吐。
4、因此,有必要提供一种grid坐标数据跨通道切片复用系统、方法、介质、终端及程序产品,在不改变外部存储布局、不增加大容量缓存的情况下,识别同一空间位置跨多个k4切片重复使用的grid坐标数据,并以较小面积代价减少grid l1读取次数。
技术实现思路
1、鉴于以上所述现有技术的缺点,本技术的目的在于提供一种grid坐标数据跨通道切片复用系统、方法、介质、终端及程序产品,用于解决现有技术存在的上述问题。
2、为实现上述目的及其他相关目的,本技术的第一方面提供一种grid坐标数据跨通道切片复用系统,包括:微操作发射模块,用于针对特征图数据的多个通道切片分别发射grid微操作;各所述grid微操作携带坐标数据地址;grid处理模块,包括坐标数据缓存、等待队列和请求队列,用于基于当前grid微操作的当前坐标数据地址查询预设坐标数据缓存;其中:当所述坐标数据缓存命中所述当前坐标数据地址时,将所述坐标数据缓存中的坐标数据作为所述当前grid微操作对应的grid坐标数据;当所述坐标数据缓存未命中所述当前坐标数据地址、但所述等待队列存在与所述当前坐标数据地址的地址相同的等待grid微操作时,使所述当前grid微操作等待所述地址相同的等待grid微操作的返回数据,而不重复发起坐标数据读取请求;当所述坐标数据缓存未命中所述当前坐标数据地址、且所述等待队列不存在与所述当前坐标数据地址的地址相同的等待grid微操作时,将所述当前坐标数据地址构建为对应的坐标数据读取请求加入请求队列;存储处理模块,用于基于请求队列中的所述坐标数据读取请求读取grid坐标数据并返回至所述grid处理模块;所述grid处理模块还用于将返回的grid坐标数据与对应的坐标数据地址关联存储于所述坐标数据缓存,并将各所述grid微操作对应的grid坐标数据输出;特征图处理模块,用于根据所述grid坐标数据处理对应的通道切片。
3、于本技术的第一方面的一些实施例中,所述坐标数据缓存为单条目缓存,所述单条目缓存包括有效标志位、地址标签和坐标数据有效载荷,所述有效标志位用于表示所述坐标数据有效载荷是否有效,所述地址标签用于记录所述坐标数据有效载荷对应的坐标数据地址,所述坐标数据有效载荷用于存储grid坐标数据。
4、于本技术的第一方面的一些实施例中,所述坐标数据有效载荷为512比特,所述坐标数据有效载荷包括16个坐标点的坐标数据,每一所述坐标点的坐标数据包括16比特的纵坐标数据和16比特的横坐标数据。
5、于本技术的第一方面的一些实施例中,所述等待队列用于保存等待grid坐标数据的grid微操作,所述请求队列用于保存已分配但尚未完成的坐标数据读取请求。当所述等待队列中存在与所述当前坐标数据地址相同的等待grid微操作时,所述grid处理模块将所述当前grid微操作加入所述等待队列,使所述当前grid微操作与所述地址相同的等待grid微操作共同等待同一坐标数据读取请求的返回数据;当所述返回数据被返回至所述grid处理模块时,所述等待队列中等待所述返回数据的各grid微操作分别使用所述返回数据对应的grid坐标数据。
6、于本技术的第一方面的一些实施例中,所述grid处理模块还用于:当所述等待队列中存在尚未完成grid坐标数据消费的等待grid微操作,或者所述请求队列中存在尚未接收到返回数据的坐标数据读取请求时,拒绝接收对应于另一坐标数据地址的缓存未命中grid微操作,并对所述微操作发射模块形成背压;当所述等待队列中不存在尚未完成grid坐标数据消费的等待grid微操作,且所述请求队列中不存在尚未接收到返回数据的坐标数据读取请求时,接收所述对应于另一坐标数据地址的缓存未命中grid微操作。
7、于本技术的第一方面的一些实施例中,所述坐标数据读取请求对应的读取地址为128字节对齐地址,所述存储处理模块用于根据所述坐标数据读取请求从片内存储器读取1024比特的数据字;所述存储处理模块或所述grid处理模块还用于从所述1024比特的数据字中选取512比特的有效坐标数据,并将所述512比特的有效坐标数据存储于所述坐标数据有效载荷;所述grid处理模块还用于将所述坐标数据有效载荷解交织为各所述坐标点的纵坐标数据和横坐标数据,并输出至所述特征图处理模块。
8、为实现上述目的及其他相关目的,本技术的第二方面提供一种grid坐标数据跨通道切片复用方法,包括:接收针对特征图数据的不同通道切片分别发射的grid微操作,并获取各所述grid微操作的坐标数据地址;其中,对应同一输出空间位置的多个所述grid微操作具有相同的坐标数据地址;根据当前grid微操作的当前坐标数据地址,查询坐标数据缓存,并确定是否存在与所述当前坐标数据地址相同的未完成坐标数据读取请求;基于当前grid微操作的当前坐标数据地址查询预设坐标数据缓存;当所述坐标数据缓存命中所述当前坐标数据地址时,将所述坐标数据缓存中的坐标数据作为所述当前grid微操作对应的grid坐标数据;当所述坐标数据缓存未命中所述当前坐标数据地址、但所述等待队列存在与所述当前坐标数据地址的地址相同的等待grid微操作时,使所述当前grid微操作等待所述地址相同的等待grid微操作的返回数据,而不重复发起坐标数据读取请求;当所述坐标数据缓存未命中所述当前坐标数据地址、且所述等待队列不存在与所述当前坐标数据地址的地址相同的等待grid微操作时,将所述当前坐标数据地址构建为对应的坐标数据读取请求加入请求队列;基于请求队列中的所述坐标数据读取请求读取grid坐标数据;根据所述grid坐标数据处理对应的通道切片。
9、为实现上述目的及其他相关目的,本技术的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述grid坐标数据跨通道切片复用方法。
10、为实现上述目的及其他相关目的,本技术的第四方面提供一种计算机程序产品,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得所述计算机实现所述grid坐标数据跨通道切片复用方法。
11、为实现上述目的及其他相关目的,本技术的第五方面提供一种电子终端,包括存储器、处理器及存储在存储器上的计算机程序;所述处理器执行所述计算机程序以实现所述grid坐标数据跨通道切片复用方法。
12、如上所述,本技术的,具有以下有益效果:
13、本技术利用grid坐标数据与特征图数据的通道切片无关的特点,使对应同一输出空间位置的多个grid微操作复用同一grid坐标数据。当同一输出空间位置对应n个通道切片时,针对所述grid坐标数据的片内存储器读取次数可减少至单次,从而减少grid坐标数据读取请求。且通过减少针对同一坐标数据地址的重复读取请求,降低grid坐标数据读取对线性数据访问路径的请求队列和片内存储器仲裁资源的占用,减少grid坐标数据读取对特征图数据读取的阻塞。
14、由于相同坐标数据地址对应的多个grid微操作能够复用同一坐标数据读取请求及其返回的grid坐标数据,因此可以减小线性请求池的容量需求。
15、本技术采用包括有效标志位、地址标签和坐标数据有效载荷的单条目坐标数据缓存,无需设置多条目缓存所需的多组地址标签、替换策略和多路命中比较结构,从而减小缓存结构的面积及控制复杂度。当坐标数据缓存未命中当前坐标数据地址、但等待队列中已经存在具有相同坐标数据地址的等待grid微操作时,grid处理模块使当前grid微操作共同等待已经发出的坐标数据读取请求的返回数据,而不重复发起坐标数据读取请求,从而避免grid坐标数据尚未返回期间产生同地址重复请求。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com