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

一种用于标记组存储的处理方法技术

技术编号:40776021 阅读:4 留言:0更新日期:2024-03-25 20:22
本申请涉及电数字数据处理技术领域,特别是涉及一种用于标记组存储的处理方法。该方法包括:获取缓存器的输出链表OUTLis,OUTLis用于记录缓存器中存储的标记组对应的地址信息;如果缓存器不存在空闲地址,则如果缓存器存储的标记组被替换,则将OUTLis中指定地址的直接前驱地址的直接后继地址修改为指定地址的直接后继地址,并将OUTLis的尾地址修改为所述指定地址;根据修改后的OUTLis中地址的先后顺序确定将缓存器中存储的标记组写入存储器中的顺序。本发明专利技术解决了由于写入存储器中的标记组之间出现乱序的情况导致的后续软件不能根据标记实现对相关事件的解析的问题。

【技术实现步骤摘要】

本专利技术涉及电数字数据处理,特别是涉及一种用于标记组存储的处理方法


技术介绍

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、由于着色器追溯模块产生的标记较多或往存储器中写入时存在反压情况,使得产生的标记组并不能实时全部写入存储器,而是先存储在缓存中,然后再写入存储器。为了节省标记中事件发生时间所占的位数,现有技术中采用的记录事件发生时间的方法是在一个发生时间在前的事件对应的标记中记录一个完整的时间,将发生时间在该时间以后的事件对应的标记中只记录该事件与上一事件发生时间的时间间隔。如果写入存储器中的标记组之间出现乱序的情况,也即出现发生时间较早的事件组成的标记组写入存储器的时间晚于发生时间较早的事件组成的标记组写入存储器的时间的情况,那么后续软件将不能知晓事件发生的相对时间,导致后续软件不能根据标记实现对相关事件的解析。


技术实现思路

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

2、根据本专利技术,提供了一种用于标记组存储的处理方法,所述处理方法包括以下步骤:

3、s10,获取缓存器的输出链表outlis,outlis用于记录缓存器中存储的标记组对应的地址信息,每一标记组对应的地址信息包括对应标记组在缓存器中存储的地址、对应标记组在缓存器中存储的地址的直接前驱地址和直接后继地址;所述直接前驱地址中存储的标记组存储至缓存器的时间早于所述对应标记组存储至缓存器的时间,所述对应标记组存储至缓存器的时间早于所述直接后继地址中存储的标记组存储至缓存器的时间;outlis的表头信息包括outlis的起始地址;缓存器中存储的标记组中在先存储至缓存器中的标记组对应的事件的发生时间早于在后存储至缓存器中的标记组对应的事件的发生时间,缓存器中存储的每一标记组中位置在前的标记对应的事件的发生时间早于位置在后的标记对应的事件的发生时间。

4、s20,如果缓存器不存在空闲地址,则进入s30。

5、s30,如果缓存器存储的标记组被替换,则将outlis中指定地址的直接前驱地址的直接后继地址修改为指定地址的直接后继地址,并将outlis的尾地址修改为所述指定地址;所述指定地址为存储的标记组被替换的地址。

6、s40,根据修改后的outlis中地址的先后顺序确定将缓存器中存储的标记组写入存储器中的顺序。

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

8、本专利技术获取了缓存器的输出链表,该输出链表用于记录缓存器中存储的标记组对应的地址信息,每一标记组对应的地址信息包括对应标记组在缓存器中存储的地址、对应标记组在缓存器中存储的地址的直接前驱地址和直接后继地址,其中直接前驱地址中存储的标记组存储至缓存器的时间早于所述对应标记组存储至缓存器的时间,所述对应标记组存储至缓存器的时间早于所述直接后继地址中存储的标记组存储至缓存器的时间;如果缓存器不存在空闲地址,且缓存器存储的标记组被替换,则将输出链表中指定地址的直接前驱地址的直接后继地址修改为指定地址的直接后继地址,并将输出链表的尾地址修改为所述指定地址;本专利技术基于输出链表准确地对存储器中存储的标记组存入存储器的顺序进行了限制,可以保证缓存器中存储的标记组按照存储时间由先到后的顺序写入存储器,避免出现写入存储器的标记组之间出现乱序的情况,有利于后续软件根据标记组对相关事件的解析。

本文档来自技高网...

【技术保护点】

1.一种用于标记组存储的处理方法,其特征在于,所述处理方法包括以下步骤:

2.根据权利要求1所述的用于标记组存储的处理方法,其特征在于,S20还包括:如果缓存器存在空闲地址,则进入S50;

3.根据权利要求1所述的用于标记组存储的处理方法,其特征在于,S40包括:如果某标记组在缓存器中存储的地址在修改后的OUTLis中为起始地址,则将该标记组确定为缓存器存储的标记组中第一写入存储器的标记组;如果某标记组在缓存器中存储的地址在修改后的OUTLis中为尾地址,则将该标记组确定为缓存器存储的标记组中最后一写入存储器的标记组。

4.根据权利要求1所述的用于标记组存储的处理方法,其特征在于,每一标记组包括若干由着色器追溯模块输出的标记,不同标记组包括的标记的数量相同。

5.根据权利要求1所述的用于标记组存储的处理方法,其特征在于,S30还包括:如果缓存器存储的标记组没有被替换,则根据OUTLis中地址的先后顺序确定将缓存器中存储的标记组写入存储器中的顺序。

6.根据权利要求1所述的用于标记组存储的处理方法,其特征在于,指定地址的获取过程包括:

7.根据权利要求6所述的用于标记组存储的处理方法,其特征在于,S33还包括:如果inlisM记录的标记组的数量大于0,则进入S35;

...

【技术特征摘要】

1.一种用于标记组存储的处理方法,其特征在于,所述处理方法包括以下步骤:

2.根据权利要求1所述的用于标记组存储的处理方法,其特征在于,s20还包括:如果缓存器存在空闲地址,则进入s50;

3.根据权利要求1所述的用于标记组存储的处理方法,其特征在于,s40包括:如果某标记组在缓存器中存储的地址在修改后的outlis中为起始地址,则将该标记组确定为缓存器存储的标记组中第一写入存储器的标记组;如果某标记组在缓存器中存储的地址在修改后的outlis中为尾地址,则将该标记组确定为缓存器存储的标记组中最后一写入存储器的标记组。

4.根据权利要...

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

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

1