System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种着色器追溯模块的标记的存储方法技术_技高网

一种着色器追溯模块的标记的存储方法技术

技术编号:40754077 阅读:9 留言:0更新日期:2024-03-25 20:08
本申请涉及电数字数据处理技术领域,特别是涉及一种着色器追溯模块的标记的存储方法。其包括:获取着色器追溯模块的待组装的标记token;如果v≤u<2×v,则将token中前v个标记组成一组,得到一组标记gro’,gro’=(token’<subgt;1</subgt;,token’<subgt;2</subgt;,…,token’<subgt;j</subgt;,…,token’<subgt;v</subgt;);获取缓存器中存储的标记组gro;根据gro’的优先级和gro中每一gro<subgt;n</subgt;的优先级确定是否将gro’存储至缓存器;根据缓存器中存储的标记组存储至缓存器的先后顺序确定缓存器中存储的标记组写入存储器的先后顺序。本发明专利技术解决了由于写入存储器中的标记出现乱序的情况导致的后续软件不能根据标记解析相关事件的问题。

【技术实现步骤摘要】

本专利技术涉及电数字数据处理,特别是涉及一种着色器追溯模块的标记的存储方法


技术介绍

1、现有技术中通常使用gpu计数器(counter)记录gpu中一些事件发生的次数,但是,gpu计数器不能记录上述事件的详细信息,详细信息包括事件对应的操作码(opcode)和事件发生的时间;类似于现有技术中用于cuda应用程序的交互式内核分析器(nvidia nsightcompute),着色器追溯模块(shader trace)可用于记录gpu中一些模块的事件的详细信息,比如,可用于记录命令引擎模块(command engine,简称ce)、资源管理模块(resoursemanagement,简称rm)和指令调度单元(instruction scheduling unit,简称isu)的事件的详细信息,其中命令引擎模块主要负责解析cpu发来的任务,并对相关的任务做拆分,然后将任务下发到下游执行模块进行处理;资源管理模块主要负责管理gpu的计算和存储等资源,将命令引擎模块发来的任务均衡得分配到不同的计算单元中。

2、着色器追溯模块会将记录的每一事件的详细信息组成一个特定位数的标记(token)并将其存储到存储器(memory)中,由此,后期软件就可以根据存储器中存储的标记解析事件的详细信息。由于单个标记的位宽小于一个写入存储器的请求对应的位宽,因此,通常将几个标记作为一个标记组给存储器发送一个写请求,一个标记组中包括的标记的数量由单个标记的位宽和一个写请求每次可以写入存储器的位宽决定。

3、由于着色器追溯模块产生的标记较多或往存储器中写入时存在反压情况,使得着色器追溯模块产生的标记并不能实时全部写入存储器,而是由一个仲裁器根据每个标记对应的优先级决定优先将哪几个标记作为一个标记组先存储在缓存中,然后再写入存储器;由此,写入存储器中的标记就会出现乱序的情况,即出现发生时间较晚的事件对应的标记比发生时间较早的事件对应的标记优先写入存储器的情况。

4、但是,为了节省标记中事件发生时间所占的位数,现有技术中采用的记录事件发生时间的方法是在一个发生时间在前的事件对应的标记中记录一个完整的时间,将发生时间在该时间以后的事件对应的标记中只记录该事件与上一事件发生时间的时间间隔。如果写入存储器中的标记出现乱序的情况,那么后续软件将不能知晓事件发生的相对时间,导致后续软件不能根据标记实现对相关事件的解析。


技术实现思路

1、本专利技术目的在于,提供一种着色器追溯模块的标记的存储方法,以解决由于写入存储器中的标记出现乱序的情况导致的后续软件不能根据标记实现对相关事件的解析的问题。

2、根据本专利技术,提供了一种着色器追溯模块的标记的存储方法,所述存储方法包括以下步骤:

3、s100,获取着色器追溯模块的待组装的标记token;token=(token1,token2,…,tokeni,…,tokenu),tokeni为按照时间由先到后的顺序获取的着色器追溯模块的第i个待组装的标记,i的取值范围为1到u,u为着色器追溯模块的待组装的标记的数量。

4、s200,如果v≤u<2×v,则进入s300;v为预设的一个标记组包括的标记的数量。

5、s300,将token中前v个标记组成一组,得到一组标记gro’,gro’=(token’1,token’2,…,token’j,…,token’v),token’j为gro’中第j个标记,token’j=tokenj,tokenj为按照时间由先到后的顺序获取的着色器追溯模块的第j个待组装的标记,j的取值范围为1到v。

6、s400,获取缓存器中存储的标记组gro,gro=(gro1,gro2,…,gron,…,gron),gron为缓存器中存储的第n个标记组,n的取值范围为1到n,n为缓存器中存储的标记组的数量;gro中发生时间在前的事件对应的标记组存储至缓存器的时间早于gro中发生时间在后的事件对应的标记组存储至缓存器的时间,且每一gron中位置在前的标记对应的事件的发生时间早于位置在后的标记对应的事件的发生时间。

7、s500,根据gro’的优先级和gro中每一gron的优先级确定是否将gro’存储至缓存器。

8、s600,根据缓存器中存储的标记组存储至缓存器的先后顺序确定缓存器中存储的标记组写入存储器的先后顺序。

9、本专利技术与现有技术相比至少具有以下有益效果:

10、本专利技术先获取了待组装的标记,对于待组装的标记的数量为v和2×v之间的情况,本专利技术将待组装的标记中前v个标记组为一组,这前v个标记为待组装的标记中对应事件发生事件最早的v个标记,且本专利技术将这前v个标记进行组装时保留了这v个标记对应的事件发生的先后顺序,使这v个标记组装后的标记组中发生时间最早的事件对应的标记处于第一位,使这v个标记组装后的标记组中发生时间次早的事件对应的标记处于第二位,以此类推,使这v个标记组装后的标记组中发生时间最晚的事件对应的标记处于最后一位,避免了一组标记中发生时间较晚的事件对应的标记出现在发生时间较早的事件对应的标记之前的情况,适用于在标记中只记录该标记对应的事件的发生时间与上一事件发生时间的时间间隔的记录方法,解决了后续软件不能根据标记实现对相关事件的解析的问题。

11、而且,本专利技术将这v个标记组装后的标记组作为一个整体,该整体对应一个优先级,通过将该整体对应的优先级与缓存器中存储的标记组的优先级进行比较,可以决定将这v个标记对应的标记组存储至缓存器,实现了根据优先级决定不同标记组是否存储至缓存器的功能,达到了兼顾标记组的优先级的目的,且本专利技术根据缓存器中存储的标记组存储至缓存器的先后顺序确定缓存器中存储的标记组写入存储器的先后顺序,可以保证先写入存储器的标记组对应的事件的发生时间早于后写入存储器的标记组对应的事件的发生时间,避免了乱序情况的发生,适用于在标记中只记录该标记对应的事件的发生时间与上一事件发生时间的时间间隔的记录方法,解决了后续软件不能根据标记实现对相关事件的解析的问题。

本文档来自技高网...

【技术保护点】

1.一种着色器追溯模块的标记的存储方法,其特征在于,所述存储方法包括以下步骤:

2.根据权利要求1所述的着色器追溯模块的标记的存储方法,其特征在于,S500包括:

3.根据权利要求2所述的着色器追溯模块的标记的存储方法,其特征在于,S510还包括:如果N小于N0,则将gro’存储至缓存器。

4.根据权利要求2所述的着色器追溯模块的标记的存储方法,其特征在于,S530还包括:如果gro’的优先级低于gromin的优先级,则将gro’丢弃,不将gro’存储至缓存器。

5.根据权利要求1所述的着色器追溯模块的标记的存储方法,其特征在于,S200还包括:如果u≥2×v,则进入S210;

6.根据权利要求1所述的着色器追溯模块的标记的存储方法,其特征在于,gro’的优先级根据gro’包括的每一标记的优先级得到。

7.根据权利要求6所述的着色器追溯模块的标记的存储方法,其特征在于,gro’的优先级的获取过程包括:

【技术特征摘要】

1.一种着色器追溯模块的标记的存储方法,其特征在于,所述存储方法包括以下步骤:

2.根据权利要求1所述的着色器追溯模块的标记的存储方法,其特征在于,s500包括:

3.根据权利要求2所述的着色器追溯模块的标记的存储方法,其特征在于,s510还包括:如果n小于n0,则将gro’存储至缓存器。

4.根据权利要求2所述的着色器追溯模块的标记的存储方法,其特征在于,s530还包括:如果gro’的优先级低于gro...

【专利技术属性】
技术研发人员:汪东星马帅
申请(专利权)人:沐曦科技北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1