GPU芯片渲染任务的调试方法及系统技术方案

技术编号:38003108 阅读:17 留言:0更新日期:2023-06-30 10:17
本申请公开了一种GPU芯片渲染任务的调试方法及系统,该方法包括:根据第一调试指令控制对应的第一目标处理器核定位待调试的第二目标处理器核,以及将对应的执行代码和数据加载至待调试的第二目标处理器核的存储单元中;将待调试的第二目标处理器核切换至调试模式,其中,第二目标处理器核为第二处理器核;获取存储单元中的执行代码和数据对第二目标处理器核进行访问和调试。本申请实现了对调试目标的定位和调试模式切换,且同一时间可并行或串行地调试多个目标处理器核,目标处理器核的执行代码也可以动态生成,不局限于静态的已编译完成的elf文件,实现了对GPU进行多目标调试以及动态调试。及动态调试。及动态调试。

【技术实现步骤摘要】
GPU芯片渲染任务的调试方法及系统


[0001]本申请涉及GPU
,尤其涉及一种GPU芯片渲染任务的调试方法及系统。

技术介绍

[0002]一般调试工具有多种,如Openocd等,调试传输模块也有多种,如Jlink,、STlink等,但都有一个特点:调试目标单一,调试加载的elf文件是静态的、已编译完成的文件。
[0003]GPU核数量众多,甚至有些核要加载的elf文件动态生成。目前的调试工具并不能很好地应对GPU调试的需求。

技术实现思路

[0004]本申请的主要目的在于提供一种GPU芯片渲染任务的调试方法及系统,可以解决现有技术中调试目标单一,且调试加载的elf文件具有一定局限性的技术问题。
[0005]为实现上述目的,本申请第一方面提供一种GPU芯片渲染任务的调试方法,应用于调试模块,调试模块同时挂载于被调试的GPU的GPU系统总线和第二总线上,GPU的第一处理器核挂载于GPU的第一总线上,GPU的第二处理器核挂载于GPU的第二总线上,该方法包括:根据第一调试指令控制对应的第一目标处理器核定位待调试的第二目标处理器核,以及将对应的执行代码和数据加载至待调试的第二目标处理器核的存储单元中,第一目标处理器核为第一处理器核;将待调试的第二目标处理器核切换至调试模式,其中,第二目标处理器核为第二处理器核;获取存储单元中的执行代码和数据对第二目标处理器核进行访问和调试。
[0006]为实现上述目的,本申请第二方面提供一种GPU芯片渲染任务的调试系统,该调试系统包括:安装于Debug HOST上的调试工具、同时挂载于被调试的GPU的GPU系统总线和第二总线上的调试模块、供调试模块和调试工具通信的调试传输模块;GPU的第一处理器核挂载于GPU的第一总线上,GPU的第二处理器核挂载于GPU的第二总线上;调试工具,用于根据用户指令通过调试传输模块向调试模块发送第一调试指令;调试模块,用于根据第一调试指令控制对应的第一目标处理器核定位待调试的第二目标处理器核,以及将对应的执行代码和数据加载至待调试的第二目标处理器核的存储单元中,第一目标处理器核为第一处理器核;将第二目标处理器核切换至调试模式,其中,第二目标处理器核为第二处理器核;获取存储单元中的执行代码和数据对第二目标处理器核进行访问和调试。
[0007]为实现上述目的,本申请第三方面提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:根据第一调试指令控制对应的第一目标处理器核定位待调试的第二目标处理器核,以及将对应的执行代码和数据加载至待调试的第二目标处理器核的存储单元中,第一目标处理器核为第一处理器核;
将待调试的第二目标处理器核切换至调试模式,其中,第二目标处理器核为第二处理器核;获取存储单元中的执行代码和数据对第二目标处理器核进行访问和调试。
[0008]为实现上述目的,本申请第四方面提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:根据第一调试指令控制对应的第一目标处理器核定位待调试的第二目标处理器核,以及将对应的执行代码和数据加载至待调试的第二目标处理器核的存储单元中,第一目标处理器核为第一处理器核;将待调试的第二目标处理器核切换至调试模式,其中,第二目标处理器核为第二处理器核;获取存储单元中的执行代码和数据对第二目标处理器核进行访问和调试。
[0009]采用本申请实施例,具有如下有益效果:本申请在调试核数量众多的GPU时,通过调试模块定位GPU中待调试的一个或多个第二目标处理器核,通过第一目标处理器核将需要的或动态生成的执行代码和数据加载至指定的存储单元,并将待调试的第二目标处理器核切换至调试模式,由调试模块获取执行代码和数据对第二目标处理器模块进行访问和调试,且同一时间可并行或串行地调试多个第二目标处理器核,第二目标处理器核的执行代码也可以动态生成,不局限于静态的已编译完成的elf文件,实现了对GPU进行多目标调试以及动态调试。
附图说明
[0010]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0011]其中:图1为本申请实施例中GPU芯片渲染任务的调试方法的流程图;图2为本申请实施例中调试模块与第二处理器核的连接示意图;图3为本申请另一实施例中调试模块与第二处理器核的连接示意图;图4为本申请另一实施例中调试模块与第二处理器核的连接示意图;图5为本申请实施例中GPU芯片渲染任务的调试系统的结构框图;图6为本申请一具体实施例中GPU芯片渲染任务的调试系统的结构框图。
具体实施方式
[0012]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0013]如图1所示,在一个实施例中,提供了一种GPU芯片渲染任务的调试方法。该GPU芯片渲染任务的调试方法具体包括如下步骤:
S100:根据第一调试指令控制对应的第一目标处理器核定位待调试的第二目标处理器核,以及将对应的执行代码和数据加载至待调试的第二目标处理器核的存储单元中,第一目标处理器核为第一处理器核;具体地,该GPU芯片渲染任务的调试方法应用于调试模块(Debug Module即,DM模块),调试模块同时挂载于被调试的GPU的GPU系统总线和第二总线上,GPU的第一处理器核挂载于GPU的第一总线上,GPU的第二处理器核挂载于GPU的第二总线上,第二总线相当于Debug调试总线。
[0014]调试模块和第二处理器核均挂载于第二总线上,因此,调试模块可以通过第二总线对第二处理器核进行调试和访问。
[0015]第一处理器核包括分配渲染等任务的一类处理器核,用于调度第二处理器核执行相应的渲染等任务。第二处理器核是执行渲染等任务的一类处理器核,一般GPU包含数以千计的此类核。
[0016]第一调试指令是Debug HOST(Debug主机)上安装的调试工具根据用户指令通过调试传输模块传输给调试模块的。该调试工具包括程序调试工具和片上调试工具。
[0017]第一调试指令可以用于指示待调试渲染任务或待调试绘图任务,第一目标处理器核根据第一调试指令读取并执行目标绘图命令,以对第二处理器核进行任务分发,被分发任务的第二处理器核为第二目标处理器核。
[0018]第一调试指令所指示的待调试渲染任务或待调试绘图任务可以是第一目标处理器核控制第二处理器核执行渲染任务的时候产生渲染出错的出错任务。
[0019]加载的执行代码和数据可以是由CPU HOST侧动态生成并传输至本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种GPU芯片渲染任务的调试方法,应用于调试模块,所述调试模块同时挂载于被调试的GPU的GPU系统总线和第二总线上,所述GPU的第一处理器核挂载于所述GPU的第一总线上,所述GPU的第二处理器核挂载于所述GPU的第二总线上,其特征在于,所述方法包括:根据第一调试指令控制对应的第一目标处理器核定位待调试的第二目标处理器核,以及将对应的执行代码和数据加载至待调试的第二目标处理器核的存储单元中,所述第一目标处理器核为第一处理器核;将所述待调试的第二目标处理器核切换至调试模式,其中,所述第二目标处理器核为第二处理器核;获取存储单元中的执行代码和数据对所述第二目标处理器核进行访问和调试。2.根据权利要求1所述的方法,其特征在于,所述调试模块包含1个,且所述调试模块与被调试的GPU的第二处理器核均挂载于所述GPU的第二总线上;所述将所述待调试的第二目标处理器核切换至调试模式,包括:根据所述第二目标处理器核的核ID生成模式切换命令,其中,所述模式切换命令携带所指示的第二目标处理器核的核ID及核状态控制位;通过所述第二总线和广播模块向所述第二处理器核广播所述模式切换命令,使每个所述第二目标处理器核根据相应的核状态控制位切换至调试模式。3.根据权利要求1所述的方法,其特征在于,所述调试模块包含多个,所有调试模块与被调试的GPU的第二处理器核均挂载于所述GPU的第二总线上,一个调试模块对应一个第二处理器核;所述将所述待调试的第二目标处理器核切换至调试模式,包括:根据所对应的第二目标处理器核的核ID生成对应的模式切换命令,其中,所述模式切换命令携带所指示的一个第二目标处理器核的核ID及核状态控制位;通过所述第二总线向所述第二目标处理器核发送所述模式切换命令,使所述第二目标处理器核根据相应的核状态控制位切换至调试模式。4.根据权利要求1所述的方法,其特征在于,所述调试模块包含多个,所有调试模块与被调试的GPU的第二处理器核均挂载于所述GPU的第二总线上,一个调试模块对应至少一个第二处理器核;若调试模块对应至少两个第二处理器核,则所述将所述待调试的第二目标处理器核切换至调试模式,包括:根据对应的第二目标处理器核的核ID生成对应的模式切换命令,其中,所述模式切换命令携带所指示的每个第二目标处理器核的核ID及核状态控制位,通过所述第二总线及对应的广播模块向对应的第二处理器核广播所述模式切换命令,使所指示的每个所述第二目标处理器核根据相应的核状态控制位切换至调试模式;若调试模块对应一个第二处理器核,则所述将所述待调试的第二目标处理器核切换至调试模式,包括:根据所对应的第二目标处理器核的核ID生成对应的模式切换命令,其中,所述模式切换命令携带所指示的一个第二目标处理器核的核ID及核状态控制位,通过所述第二总线向所述第二目标处理器核发送所述模式切换命令,使所述第二目标处理器核根据相应的核状态控制位切换至调试模式。
5.根据权利要求1所述的方法,其特征在于,所述调试模块包括第一调试模块和第二调试模块,所述根据第一调试指令控制对应的第一目标处理器核定位待调试的第二目标处理器核,以及将对应的执行代码和数据加载至待调试的第二目标处理器核的存储单元中,包括:利用第一调试模块根据调试工具的第一调试指令控制第一处理器核定位第二目标处理器核,调用对应的调试接口通过调试传输模块将所述第二目标处理器核的核ID反馈给所述调试工具;利用被调用的第二调试模块根据对应的第二目标处理器核的核ID通过所述GPU的数据传递模块通知所述第一处理器核,使所述第一处理器核通过所述数据传递模块将所述第二目标处理器核所对应的执行代码和数据从GPU侧内存加载至存储单元中。6.一种GPU芯片渲染任务的调试系统,其特征在于,所述调试系统包括:安装于Debug HOST上的调...

【专利技术属性】
技术研发人员:江宇飞张庆利张坚
申请(专利权)人:深流微智能科技深圳有限公司
类型:发明
国别省市:

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

1