协处理芯片、数据采集方法及相关设备与流程
未命名
08-12
阅读:109
评论:0
1.本发明实施例涉及计算机测试领域,具体涉及一种协处理芯片、数据采集方法及相关设备。
背景技术:
2.协处理器是一种协助主处理器完成其无法执行或执行效率低的处理工作而开发和应用的处理器。常用的协处理器例如图形处理器(graphics processing units,简称gpu)、通用图形处理器(general-purpose computing on graphics processing units,简称gpgpu)等,是一种用于计算原本由中央处理器处理的通用计算任务的图形处理器,由于其强大的并行处理能力和可编程流水线,在进行数据块并行处理算法上具有较大的优势。
3.为优化协处理器的性能,需要在协处理器处理计算任务时采集硬件的性能数据,以分析协处理器处理计算任务在硬件的处理情况,如计算任务在gpu芯片阵列上的分配情况、计算任务之间的交叉数据访问情况、芯片上的计算资源使用情况等。
4.然而,现有协处理器的性能数据采集方案有待优化。
技术实现要素:
5.有鉴于此,本发明实施例提供一种协处理芯片、数据采集方法及相关设备,能够优化协处理器的性能数据采集方案。
6.为实现上述目的,本发明实施例提供如下技术方案。
7.第一方面,本发明实施例提供一种协处理芯片,包括:
8.多个功能模块,所述功能模块中设置有性能计数器,所述性能计数器用于记录所述功能模块的性能数据;
9.与各所述功能模块连接的性能数据采集模块,用于基于预设的配置信息,读取至少一性能计数器记录的性能数据以及对应该性能数据的时间戳,并将所读取的性能数据和时间戳作为性能数据流输出;
10.其中,所述配置信息至少包括所述性能数据采集模块的使能信息和性能数据的采样频率信息;一时间戳及其对应的性能数据作为一批性能数据流。
11.可选的,所述性能数据采集模块将所述性能数据流输出至系统内存,以使处理器基于所述系统内存读取所述性能数据流。
12.可选的,所述性能数据流中,所述功能模块的性能计数器对应的性能数据存储在系统内存的预设地址,不同功能模块的性能计数器对应的性能数据对应系统内存的不同地址。
13.可选的,所述协处理器还包括用于记录时间的时间戳寄存器,所述性能数据采集模块自所述时间戳寄存器读取时间戳。
14.可选的,所述性能计数器记录的性能数据包括指令发射的数量,和/或,指令执行的数量,和/或,缓存访问的命中次数。
15.可选的,所述性能数据采集模块还用于对所述性能数据流进行内部延迟校准。
16.可选的,所述配置信息还包括:
17.所需读取的性能数据对应的功能模块和性能计数器;
18.和/或,
19.所述性能数据流在系统内存的输出地址;
20.和/或,
21.所述性能数据流进行内部延迟校准的校准参数。
22.可选的,所述性能数据流中,数据的位宽为第一值,一批性能数据流中的数据的条目为第二值。
23.第二方面,本发明实施例还提供一种数据采集方法,应用于上述实施例提供的协处理芯片,包括:
24.基于预设的配置信息,读取至少一性能计数器记录的性能数据以及对应该性能数据的时间戳;所述协处理芯片包括多个功能模块,所述性能计数器设置于所述功能模块中,所述性能计数器用于记录所述功能模块的性能数据;
25.将所读取的性能数据和时间戳作为性能数据流输出;
26.其中,所述配置信息至少包括所述性能数据采集模块的使能信息和性能数据的采样频率信息;一时间戳及其对应的性能数据作为一批性能数据流。
27.可选的,所述将所读取的性能数据和时间戳作为性能数据流输出,具体为:将所述性能数据流输出至系统内存,以使处理器基于所述系统内存读取所述性能数据流。
28.可选的,所述基于预设的配置信息,读取至少一性能计数器记录的性能数据以及对应该性能数据的时间戳的步骤之前,还包括:
29.获取处理器的驱动程序发送的配置信息,并基于所述配置信息进行对应的配置;
30.所述配置信息还包括:所需读取的性能数据对应的功能模块和性能计数器;和/或,所述性能数据流在系统内存的输出地址;和/或,所述性能数据流进行内部延迟校准的校准参数。
31.第三方面,本发明实施例还提供一种数据采集方法,应用于与上述实施例提供的所述的协处理芯片进行交互的处理器,包括:
32.获取协处理芯片输出的性能数据流,所述性能数据流包括所述协处理芯片读取的至少一性能计数器记录的性能数据以及对应该性能数据的时间戳,所述性能数据和所述时间戳预设的配置信息读取,所述配置信息至少包括所述性能数据采集模块的使能信息和性能数据的采样频率信息;
33.其中,一时间戳及其对应的性能数据作为一批性能数据流。
34.可选的,所述获取协处理芯片输出的性能数据流,具体为:自系统内存获取协处理芯片输出的性能数据流。
35.可选的,所述获取协处理芯片输出的性能数据流的步骤之前,还包括:
36.基于驱动程序发送配置信息;
37.所述配置信息还包括:所需读取的性能数据对应的功能模块和性能计数器;和/或,所述性能数据流在系统内存的输出地址;和/或,所述性能数据流进行内部延迟校准的校准参数。
38.第四方面,本发明实施例还提供一种协处理器,包括由上述实施例提供的所述的协处理芯片构成的协处理芯片阵列。
39.第五方面,本发明实施例还提供一种计算机设备,包括处理器、系统内存和上述实施例提供的协处理器。
40.第六方面,本发明实施例还提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令用于执行上述实施例提供的数据采集方法。
41.可以看出,本发明实施例提供了一种协处理芯片、数据采集方法及相关设备,所述协处理芯片包括:多个功能模块,所述功能模块中设置有性能计数器,所述性能计数器用于记录所述功能模块的性能数据;与各所述功能模块连接的性能数据采集模块,用于基于预设的配置信息,读取至少一性能计数器记录的性能数据以及对应该性能数据的时间戳,并将所读取的性能数据和时间戳作为性能数据流输出;其中,所述配置信息至少包括所述性能数据采集模块的使能信息和性能数据的采样频率信息;一时间戳及其对应的性能数据作为一批性能数据流。
42.可以看出,本发明实施例提供的协处理芯片,性能数据采集模块基于预设的配置信息,读取至少一性能计数器记录的性能数据以及对应该性能数据的时间戳,从而实现对性能数据的自动采集,而并不需要基于采集指令实现对性能数据的采集,从而不会受到硬件线路传输采集指令时可能出现的延迟影响,从而优化了协处理器的性能数据采集方案。
43.同时,基于本发明实施例中的配置信息包括性能数据采集模块的使能信息,使得本发明实施例中的协处理芯片组成协处理芯片阵列时,只要协处理芯片阵列中各协处理芯片具有同样的使能信息,即可实现性能数据采集模块的同步使能;基于本发明实施例中的配置信息包括性能数据的采样频率信息,使得本发明实施例中的协处理芯片组成协处理芯片阵列时,只要协处理芯片阵列中各协处理芯片具有同样的使能信息和采样频率信息,即可实现性能数据采集模块的同步采集,从而不会出现各个协处理芯片上报的本应为同步的性能数据在时间轴上出现偏差的问题,进一步优化了协处理器的性能数据采集方案。
附图说明
44.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
45.图1为一种计算机设备的可选架构图;
46.图2为一种性能数据采集流程示意图;
47.图3为本发明实施例提供的一种协处理芯片的可选结构示意图;
48.图4为本发明实施例提供的一种数据采集方法的可选流程示意图;
49.图5为本发明实施例提供的一种性能数据分析结果展示示例;
50.图6为本发明实施例提供的另一种数据采集方法的可选流程示意图。
具体实施方式
51.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
52.参考图1示出的一种计算机设备的可选架构图,所述计算机设备包括处理器(central processing unit,cpu)、协处理器和系统内存。
53.处理器作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。处理器可以运行应用程序以及用于驱动协处理器的驱动程序,其中,驱动程序可以基于应用程序的指示,配置协处理器,以使得协处理器基于配置的信息执行相应的任务。
54.协处理器可以为2颗或2颗以上的协处理芯片(例如gpu芯片,也称为gpu die)封装在一起的协处理芯片阵列,其中,一个协处理芯片可以作为主协处理芯片(也称为主gpu),其余协处理芯片可以作为从协处理芯片(也称为从gpu)。在执行计算任务时,可以基于主协处理器将对应的指令分配/广播至从协处理芯片;图1中以gpu芯片为例,封装在一起的gpu芯片可以称为gpu芯片阵列,其中,一个gpu芯片可以作为主gpu(master),其余gpu芯片可以作为从gpu(slaves)。在执行计算任务时,可以基于主gpu将对应的指令分配/广播至从gpu,从而实现对计算任务的并行处理。
55.系统内存为计算机设备的存储器件,用于实现数据的存储和读取,例如,处理器可以将协处理器需要执行的指令和需要处理的待处理数据存储至系统内存,并通知协处理器读取,而协处理器则基于对应的指令和待处理数据进行计算任务的处理,或者,在协处理处理对应计算任务后,可以将对应的计算结果存储至系统内存,并通知处理器读取。
56.在软件层面,协处理器的性能数据采集流程可以参考图2所示的一种性能数据采集流程示意图。其中,采集应用可以理解为用于采集协处理器的性能数据的应用,用户可以基于采集应用的采集指令,以实现对应数据的采集。其中,采集应用并不仅限于对数据的采集功能,在具体的示例中,采集应用还可以同时具有数据分析、系统调试等功能,例如,采集应用可以为调试程序,开发者软件工具等。
57.参考图2,在具体的数据采集流程中,采集应用可以发出采集指令至软件栈,并由软件栈通过驱动程序调用对应的数据采集接口,将对应的采集指令传输至协处理器,而协处理器可以基于该采集指令读取协处理器当下的性能数据,并由采集应用基于驱动程序的数据读取接口获取协处理器上报的性能数据。
58.其中,所述采集流程通常与计算任务并行执行,在协处理器执行计算任务的同时,采集应用可以基于预设的采样频率,周期性的发出采集指令,以实现对协处理器执行计算任务过程中的性能数据的采集和分析。所述数据采集接口和数据读取接口均可以理解为驱动中的特定api(application programming interface,应用程序编程接口)。
59.然而,发明人发现,现有协处理器的性能数据采集方案有待优化。这是由于在协处理器进行每次数据采集时,均需由主协处理芯片将采集指令广播到阵列中的其它从协处理芯片。然而,由于硬件线路的延迟,主协处理芯片接收的采集指令具有延迟,同时,不同硬件线路对应的延迟不同,还会导致各个从协处理芯片接收到采集指令的时间也不一致,相应的执行采集指令的时间也各不相同,导致各个协处理芯片上报的本应为同步的性能数据在
时间轴上出现偏差,进而对后续的数据分析产生了不良影响。
60.有鉴于此,本发明实施例提供了一种协处理芯片、数据采集方法及相关设备,所述协处理芯片包括:多个功能模块,所述功能模块中设置有性能计数器,所述性能计数器用于记录所述功能模块的性能数据;与各所述功能模块连接的性能数据采集模块,用于基于预设的配置信息,读取至少一性能计数器记录的性能数据以及对应该性能数据的时间戳,并将所读取的性能数据和时间戳作为性能数据流输出;其中,所述配置信息至少包括所述性能数据采集模块的使能信息和性能数据的采样频率信息;一时间戳及其对应的性能数据作为一批性能数据流。
61.可以看出,本发明实施例提供的协处理芯片,性能数据采集模块基于预设的配置信息,读取至少一性能计数器记录的性能数据以及对应该性能数据的时间戳,从而实现对性能数据的自动采集,而并不需要基于采集指令实现对性能数据的采集,从而不会受到硬件线路传输采集指令时可能出现的延迟影响;同时,基于本发明实施例中的配置信息包括性能数据采集模块的使能信息,使得本发明实施例中的协处理芯片组成协处理芯片阵列时,只要协处理芯片阵列中各协处理芯片具有同样的使能信息,即可实现性能数据采集模块的同步使能;基于本发明实施例中的配置信息包括性能数据的采样频率信息,使得本发明实施例中的协处理芯片组成协处理芯片阵列时,只要协处理芯片阵列中各协处理芯片具有同样的使能信息和采样频率信息,即可实现性能数据采集模块的同步采集,从而不会出现各个协处理芯片上报的本应为同步的性能数据在时间轴上出现偏差的问题,优化了协处理器的性能数据采集方案。
62.下面,结合具体的示例,对本发明实施例提供的数据采集方案进行进一步的说明。
63.在一个可选的示例中,参考图3示出的本发明实施例提供的一种协处理芯片的可选结构示意图,所述协处理芯片可以包括:
64.多个功能模块,所述功能模块中设置有性能计数器,所述性能计数器用于记录所述功能模块的性能数据;与各所述功能模块连接的性能数据采集模块,用于基于预设的配置信息,读取至少一性能计数器记录的性能数据以及对应该性能数据的时间戳,并将所读取的性能数据和时间戳作为性能数据流输出;其中,所述配置信息至少包括所述性能数据采集模块的使能信息和性能数据的采样频率信息;一时间戳及其对应的性能数据作为一批性能数据流。
65.其中,功能模块(图中标记为功能模块1、功能模块2、功能模块3和功能模块4)可以理解为协处理芯片中用于实现特定功能的硬件模块,多个功能模块中,各模块用于实现的功能可以不同,例如,多个功能模块中,可以包括用于实现芯片控制的控制模块,和/或,用于实现指令发射的指令发射模块,和/或,用于实现数据计算的计算模块,和/或,用于实现数据缓存的缓存模块等,本发明在此不做具体的限定。可以理解的是,本发明所述的多个功能模块,均为设置有性能计数器的模块。
66.所述性能计数器用于记录所述功能模块的性能数据。性能计数器可以为一组内置于协处理芯片的专用寄存器,用于协处理芯片中与硬件相关的活动的计数。在具体的场景中,用户可以基于这些性能计数器的值作为性能指标进行底层性能分析或调整。
67.所述性能数据采集模块,可以基于配置信息进行性能数据的自动采集。而并不需要基于采集指令实现对性能数据的采集,从而不会受到硬件线路传输采集指令时可能出现
的延迟影响。
68.另外需要说明的是,本发明实施例中不再需要采集应用发出采集指令,也避免了对应采集指令在处理器中的处理流程(如采集指令压入软件栈)、以及处理器与协处理器交互采集指令的流程(如调用驱动程序对应的接口)等,从而简化了协处理器进行数据采集的流程,同时避免了采集指令从采集应用到协处理器之间的数据延迟,优化了协处理器的性能数据采集方案。
69.在具体的实现中,配置信息中的性能数据采集模块的使能信息,可以使得性能数据采集模块基于预设的节点使能所述性能数据采集模块。在具体的示例中,使能所述性能数据采集模块的节点可以为协处理芯片执行与采集流程并行执行的计算任务的配置节点,也可以为该计算任务的启动节点。
70.而在本发明实施例中的协处理芯片组成协处理芯片阵列时,只要协处理芯片阵列中各协处理芯片具有同样的使能信息,即可在同一节点使能各协处理芯片的性能数据采集模块,实现性能数据采集模块的同步使能。
71.其中,配置信息中的性能数据的采样频率信息,可以使得性能数据采集模块基于预设的采样频率进行数据的采集。在具体的示例中,所述采样频率可以为预设数量的时钟数。
72.而在本发明实施例中的协处理芯片组成协处理芯片阵列时,只要协处理芯片阵列中各协处理芯片具有同样的采样频率信息。基于同样的使能信息和同样的采样频率信息,即可实现性能数据采集模块的同步采集,从而不会出现各个协处理芯片上报的本应为同步的性能数据在时间轴上出现偏差的问题,从而优化协处理器的性能数据采集方案。
73.性能数据采集模块可以读取至少一性能计数器记录的性能数据,其中,所需读取的性能计数器可以基于实际需求进行确定,其可以为协处理芯片中的所有性能计数器,也可以为协处理芯片中一功能模块的所有性能计数器,或者,还可以为特定的一个或多个的功能模块中的一个或多个的性能计数器。
74.在可选实现中,可以基于预设的配置信息,可以读取至少一性能计数器记录的性能数据以及对应该性能数据的时间戳。其中,配置信息中可以包括:所需读取的性能数据对应的功能模块和性能计数器,从而可以基于预设的配置信息中所需读取的性能数据对应的功能模块和性能计数器,从而执行对应的数据读取流程。
75.在具体的示例中,所述性能计数器记录的性能数据可以包括指令发射的数量,和/或,指令执行的数量,和/或,缓存访问的命中次数等,本发明在此不做具体的限定。其中,一时间戳及其对应的性能数据为一批性能数据流,以图3示出的性能数据流为例,对应时间戳t0的性能数据一、性能数据二和性能数据三可以作为一批性能数据流,对应时间戳t1的性能数据一、性能数据二和性能数据三可以作为一批性能数据流,对应时间戳t2的性能数据一、性能数据二和性能数据三可以作为一批性能数据流。
76.与性能数据对应的时间戳用于确定所读取的性能数据所处的时刻,从而可以基于该时间戳,确定协处理芯片在不同时刻的性能数据,从而可以描述协处理芯片执行计算任务的流程中对应在各时刻的参数变化情况,实现对协处理芯片性能的描述和分析。
77.在具体的示例中,所述协处理芯片还包括用于记录时间的时间戳寄存器,所述性能数据采集模块自所述时间戳寄存器读取时间戳。
78.在本发明进一步的可选实现中,继续参考图3,所述性能数据采集模块将所述性能数据流与计算任务的计算结果一起输出至系统内存,以使处理器基于所述系统内存读取所述性能数据流,而并不如会由采集应用基于驱动程序的数据读取接口获取协处理器上报的性能数据,从而能够大幅降低对处理器和协处理器之间交互的带宽资源的占用,提高系统的整体性能,降低数据采集流程对协处理器处理计算任务流程的影响。
79.可以理解的是,在对底层硬件的性能计数器进行高频率的采样统计时,数据量基于协处理芯片数量而成相应倍数的增长,例如,协处理芯片为n时,对应的数据量是单个协处理芯片的n倍甚至更高。若由采集应用基于驱动程序的数据读取接口获取协处理器上报的性能数据,会占据大量的处理器和协处理器之间交互的带宽资源,本发明实施例显然避免了这一问题。
80.在具体的示例中,配置信息中还可以包括所述性能数据流在系统内存的输出地址,从而可以将所述性能数据流输出至预设的系统内存的地址,相应的,处理器可以基于该系统内存的输出地址进行性能数据流的读取。
81.在进一步的示例中,所述性能数据流中,功能模块的性能计数器对应的性能数据存储在系统内存的预设地址,从而使得不同功能模块的性能计数器对应的性能数据对应系统内存的不同地址,进而可以基于对应的预设地址,确定性能数据所对应的功能模块,及其对应的性能计数器。
82.在进一步的实现中,所述性能数据流中的数据可以为设定的格式,以便于采集应用对性能数据流进行处理。在具体的示例中,性能数据流中数据的位宽为第一值,一批性能数据流中的数据的条目为第二值。其中,所述第一值可以为计算机设备的系统位宽,也可以为该系统位宽的整数倍或整数分之一,所述第二值可以基于性能数据流中的数据量相对应。
83.在进一步的可选实现中,所述性能数据采集模块还可以对所述性能数据流进行内部延迟校准。可以理解的是,性能数据流可能有微小的内部延迟,基于对性能数据流进行内部延迟校准,可以提高所采集的性能数据流的准确度。
84.在具体的示例中,性能数据采集模块可以基于驱动程序提供的接口,获取对应的配置信息。
85.其中,所述配置信息中可以包括所述性能数据流进行内部延迟校准的校准参数,从而使得协处理芯片基于所述校准参数实现对性能数据流的延迟校准。
86.需要进一步说明的是,性能数据采集模块基于预设的配置信息,可以在不需要采集应用发出采集命令的前提下,基于预设的采样频率对协处理芯片在计算任务的整体处理流程中所呈现的性能数据进行数据的采集,从而无需采集应用基于相应的采样频率一次次发出采集指令,并进一步使得协处理芯片基于其接收的采集指令的触发,进行对应数据的采集。
87.可以理解的是,基于计算机设备在不同时刻的数据处理效率不同,采集应用基于相应的采样频率一次次发出采集指令时,不同时段发出的采集指令到达协处理芯片所耗费的时长存在差别,从而使得采集应用发出采集指令是基于预设的采样频率发出,即相邻采集指令之间的间隔时长为预设时长,但协处理芯片接收到的相邻采集指令之间的间隔时长则会由于采集指令到达协处理芯片所耗费的时长存在差别,与预设时长产生差别,从而造
成所采集的数据在采样频率上产生偏差。
88.显然,本发明实施例在不需要采集应用发出采集命令的前提下,基于预设的采样频率对协处理芯片在计算任务的整体处理流程中所呈现的性能数据进行数据的采集,能够避免上述问题,进一步实现数据采集方案的优化。
89.在进一步的可选的示例中,本发明实施例还提供一种数据采集方法,所述数据采集方法可以基于包括前述协处理芯片的计算机设备执行,所述计算机设备可以包括处理器、系统内存和本发明实施例提供的协处理器,其中,所述协处理器包括前述协处理芯片构成的协处理芯片阵列。所述数据采集方法的描述可以与前述协处理芯片的描述相互参考。可以理解的是,参考图4示出的本发明实施例提供的一种数据采集方法的可选流程示意图,可以包括:
90.步骤s20:协处理芯片基于预设的配置信息,读取至少一性能计数器记录的性能数据以及对应该性能数据的时间戳;
91.所述协处理芯片包括多个功能模块,所述性能计数器设置于所述功能模块中,所述性能计数器用于记录所述功能模块的性能数据。
92.其中,基于预设的配置信息进行相应数据的读取,可以实现对性能数据的自动采集,而避免接收采集指令过程中产生的延迟。
93.可以理解的是,所述配置信息至少包括所述性能数据采集模块的使能信息和性能数据的采样频率信息;一时间戳及其对应的性能数据作为一批性能数据流。
94.需要说明的是,在具体的执行流程中,可以基于协处理器程序对象(即具体的计算任务)启动运行的节点,启动性能数据的读取流程。
95.步骤s21:协处理芯片将所读取的性能数据和时间戳作为性能数据流输出。
96.在具体的示例中,所述性能数据流输出至系统内存,以使处理器基于所述系统内存读取所述性能数据流。
97.步骤s22:处理器获取协处理芯片输出的性能数据流。
98.在具体的示例中,自系统内存获取协处理芯片输出的性能数据流。其中,处理器可以在计算任务执行完毕后再进行性能数据流的读取。
99.具体的,随着计算任务运行结束,性能数据流采集完成时,驱动程序在得到协处理器通知所有数据写入完毕的信号,即可通过预先设计的性能数据流的内存排布,将指定系统内存地址处存放的性能数据和所配置的功能模块的性能计数器对应,并进行解析。
100.可以理解的是,处理器获取对应的性能数据流后,可以基于对应的性能数据流进行协处理器的性能分析,确定分析协处理器处理计算任务在硬件的处理情况,如计算任务在gpu芯片阵列上的分配情况、计算任务之间的交叉数据访问情况、芯片上的计算资源使用情况等,在进一步的示例中,所述性能数据流还可以在分析后进行可视化展示,例如可以使用二维或者三维的堆叠图进行数据分析结果的展示。参考图5所示的本发明实施例提供的一种性能数据分析结果展示示例,纵坐标为芯片标识,对应于不同的协处理芯片,横坐标为时间轴,不同协处理芯片对应的性能数据为图中的曲线所示,可以看出,基于该分析结果的展示,可以直观的看出不同协处理芯片的性能数据比对结果。
101.在上述数据采集方法的基础上,本发明实施例进一步提供另一种数据采集方法,所述数据采集方法还可以包括对协处理芯片的配置流程。所述数据采集方法的描述可以与
前述协处理芯片的描述相互参考。可以理解的是,参考图6示出的本发明实施例提供的另一种数据采集方法的可选流程示意图,步骤s20之前,还可以包括:
102.步骤s30:处理器基于驱动程序发送配置信息。
103.具体的,所述配置信息除前述性能数据采集模块的使能信息和性能数据的采样频率信息之外,还可以进一步包括所需读取的性能数据对应的功能模块和性能计数器;和/或,所述性能数据流在系统内存的输出地址;和/或,所述性能数据流进行内部延迟校准的校准参数。
104.所述驱动程序可以提供以下接口:使能接口,用于使能性能数据采集模块;数据采集配置接口,用于配置性能数据采集模块所需读取的性能数据对应的功能模块和性能计数器;采样频率配置接口,用于配置性能数据采集模块的采样频率信息;地址配置模块,用于配置性能数据采集模块输出所述性能数据流的系统内存的地址;延迟校准配置接口,用于配置性能数据采集模块中性能数据流进行内部延迟校准的校准参数。
105.在具体的示例中,用户可以运行采集应用,并基于采集应用设置协处理器(例如gpu)程序对象(即具体的计算任务)和对应的性能数据采集计划,形成对应的配置信息,并基于软件栈通过驱动程序配置性能数据采集流程所需要的配置信息。
106.步骤s31:协处理芯片基于所述配置信息进行对应的配置。
107.在协处理芯片获取所述配置信息后,协处理芯片基于所述配置信息进行对应的配置。
108.在协处理芯片阵列中,性能数据采集的配置信息可以由主协处理芯片广播到从协处理芯片。
109.本发明实施例还提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令用于执行本发明实施例提供的应用于协处理器的数据采集方法,和/或,执行本发明实施例提供的应用于处理器的数据采集方法。
110.上文描述了本发明实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本发明实施例披露、公开的实施例方案。
111.虽然本发明实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
技术特征:
1.一种协处理芯片,其特征在于,包括:多个功能模块,所述功能模块中设置有性能计数器,所述性能计数器用于记录所述功能模块的性能数据;与各所述功能模块连接的性能数据采集模块,用于基于预设的配置信息,读取至少一性能计数器记录的性能数据以及对应该性能数据的时间戳,并将所读取的性能数据和时间戳作为性能数据流输出;其中,所述配置信息至少包括所述性能数据采集模块的使能信息和性能数据的采样频率信息;一时间戳及其对应的性能数据作为一批性能数据流。2.根据权利要求1所述的协处理芯片,其特征在于,所述性能数据采集模块将所述性能数据流输出至系统内存,以使处理器基于所述系统内存读取所述性能数据流。3.根据权利要求2所述的协处理芯片,其特征在于,所述性能数据流中,所述功能模块的性能计数器对应的性能数据存储在系统内存的预设地址,不同功能模块的性能计数器对应的性能数据对应系统内存的不同地址。4.根据权利要求1所述的协处理芯片,其特征在于,还包括用于记录时间的时间戳寄存器,所述性能数据采集模块自所述时间戳寄存器读取时间戳。5.根据权利要求1所述的协处理芯片,其特征在于,所述性能计数器记录的性能数据包括指令发射的数量,和/或,指令执行的数量,和/或,缓存访问的命中次数。6.根据权利要求1所述的协处理芯片,其特征在于,所述性能数据采集模块还用于对所述性能数据流进行内部延迟校准。7.根据权利要求1所述的协处理芯片,其特征在于,所述配置信息还包括:所需读取的性能数据对应的功能模块和性能计数器;和/或,所述性能数据流在系统内存的输出地址;和/或,所述性能数据流进行内部延迟校准的校准参数。8.根据权利要求1所述的协处理芯片,其特征在于,所述性能数据流中,数据的位宽为第一值,一批性能数据流中的数据的条目为第二值。9.一种数据采集方法,其特征在于,应用于权利要求1~8任一项所述的协处理芯片,包括:基于预设的配置信息,读取至少一性能计数器记录的性能数据以及对应该性能数据的时间戳;所述协处理芯片包括多个功能模块,所述性能计数器设置于所述功能模块中,所述性能计数器用于记录所述功能模块的性能数据;将所读取的性能数据和时间戳作为性能数据流输出;其中,所述配置信息至少包括所述性能数据采集模块的使能信息和性能数据的采样频率信息;一时间戳及其对应的性能数据作为一批性能数据流。10.根据权利要求9所述的数据采集方法,其特征在于,所述将所读取的性能数据和时间戳作为性能数据流输出,具体为:将所述性能数据流输出至系统内存,以使处理器基于所述系统内存读取所述性能数据流。11.根据权利要求9所述的数据采集方法,其特征在于,所述基于预设的配置信息,读取
至少一性能计数器记录的性能数据以及对应该性能数据的时间戳的步骤之前,还包括:获取处理器的驱动程序发送的配置信息,并基于所述配置信息进行对应的配置;所述配置信息还包括:所需读取的性能数据对应的功能模块和性能计数器;和/或,所述性能数据流在系统内存的输出地址;和/或,所述性能数据流进行内部延迟校准的校准参数。12.一种数据采集方法,其特征在于,应用于与权利要求1~8任一项所述的协处理芯片进行交互的处理器,包括:获取协处理芯片输出的性能数据流,所述性能数据流包括所述协处理芯片读取的至少一性能计数器记录的性能数据以及对应该性能数据的时间戳,所述性能数据和所述时间戳基于预设的配置信息读取,所述配置信息至少包括所述性能数据采集模块的使能信息和性能数据的采样频率信息;其中,一时间戳及其对应的性能数据作为一批性能数据流。13.根据权利要求12所述的数据采集方法,其特征在于,所述获取协处理芯片输出的性能数据流,具体为:自系统内存获取协处理芯片输出的性能数据流。14.根据权利要求12所述的数据采集方法,其特征在于,所述获取协处理芯片输出的性能数据流的步骤之前,还包括:基于驱动程序发送配置信息;所述配置信息还包括:所需读取的性能数据对应的功能模块和性能计数器;和/或,所述性能数据流在系统内存的输出地址;和/或,所述性能数据流进行内部延迟校准的校准参数。15.一种协处理器,其特征在于,包括由权利要求1~8任一项所述的协处理芯片构成的协处理芯片阵列。16.一种计算机设备,其特征在于,包括处理器、系统内存和权利要求15所述的协处理器。17.一种存储介质,其特征在于,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令用于执行如权利要求9-11任一项所述的数据采集方法,和/或,执行如权利要求12-14任一项所述的数据采集方法。
技术总结
本发明实施例提供一种协处理芯片、数据采集方法及相关设备,所述协处理芯片包括:多个功能模块,所述功能模块中设置有性能计数器,所述性能计数器用于记录所述功能模块的性能数据;与各所述功能模块连接的性能数据采集模块,用于基于预设的配置信息,读取至少一性能计数器记录的性能数据以及对应该性能数据的时间戳,并将所读取的性能数据和时间戳作为性能数据流输出;其中,所述配置信息至少包括所述性能数据采集模块的使能信息和性能数据的采样频率信息;一时间戳及其对应的性能数据作为一批性能数据流。所述协处理芯片及其对应的数据采集方法优化了协处理器的性能数据采集方案。方案。方案。
技术研发人员:崔恒冠
受保护的技术使用者:海光信息技术股份有限公司
技术研发日:2023.05.19
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
