图形处理器的管理方法、管理装置和管理系统与流程

文档序号:32620297发布日期:2022-12-20 22:27阅读:25来源:国知局
1.本公开涉及数据通信
技术领域
:,尤其涉及一种图形处理器的管理方法、管理装置和管理系统。
背景技术
::2.随着图形处理器(graphicsprocessingunit,简称“gpu”)的应用越来越广泛,对gpu管理需求越来越多,管理复杂度较高。例如,对gpu测试的需求越来越多,相关技术在对gpu进行测试时,通常采用自定义的命令协议,将设计的命令注册到shell中,通过串口调用实现对gpu的测试。3.本部分旨在为权利要求书中陈述的本公开实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是相关技术。技术实现要素:4.为了解决上述问题中的至少一个,本公开实施例提出一种图形处理器的管理方法、管理装置和管理系统。5.根据本公开实施例的第一方面,提供一种图形处理器的管理方法,所述管理方法包括:接收标准参数格式命令;校验所述命令中的参数是否在预定的阈值范围;在所述命令包括多个参数的情况下检测多个参数之间是否存在冲突;以及根据校验结果和冲突检测结果,输出提示错误的信息。6.根据本公开实施例的第二方面,提供一种图形处理器的管理装置,所述管理装置包括:输入模块,其接收标准参数格式命令;校验模块,其校验所述命令中的参数是否在预定的阈值范围;冲突检测模块,其在所述命令包括多个参数的情况下检测多个参数之间是否存在冲突;以及提示模块,其根据所述校验模块校验结果和所述冲突检测模块的检测结果,输出提示错误的信息。7.根据本公开实施例的第三方面,提供一种图形处理器的管理系统,所述管理系统包括:第一接口模块,其从外部装置接收针对图形处理器的管理命令;上述第二方面的实施例所述的管理装置,其从所述第一接口模块接收所述管理命令。8.根据本公开实施例的第四方面,提供一种图形处理器的管理系统,所述管理系统包括:上述第二方面的实施例所述的管理装置;第二接口模块,其从所述管理装置接收针对图形处理器的管理命令。9.根据本公开实施例的第五方面,提供一种图形处理器的管理系统,所述管理系统包括:第一接口模块,其从外部装置接收针对图形处理器的管理命令;上述第二方面的实施例所述的管理装置,其接收来自所述第一接口模块接收的所述管理命令;第二接口模块,其连接所述管理装置;以及透传模块,其将针对图形处理器的管理命令对应的管理命令信息通过所述第一接口模块或所述第二接口模块透传给所述管理装置。10.本公开实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的实施例所述的管理方法。11.本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的实施例所述的管理方法。12.本公开实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述第一方面的实施例所述的管理方法。13.本公开实施例中,通过接收标准参数格式命令,并进行参数校验和冲突检测,并根据校验结果和冲突检测结果输出提示错误的信息,由此实现命令设计归一化并对用户友好的图形处理器管理过程。附图说明14.为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1是本公开第一方面的实施例的图形处理器的管理方法的一个示意图。15.图2是本公开第一方面的实施例的图形处理器的管理方法的另一个示意图。16.图3是本公开第一方面的实施例的图形处理器的管理方法的另一个示意图。17.图4是本公开第二方面的实施例的图形处理器的管理装置的一个示意图。18.图5是本公开第二方面的实施例的图形处理器的管理装置的实际应用的一个示意图。19.图6是本公开第三方面的实施例的图形处理器的管理系统的一个示意图。20.图7是本公开第四方面的实施例的图形处理器的管理系统的一个示意图。21.图8是本公开第五方面的实施例的图形处理器的管理系统的一个示意图。22.图9是本公开第五方面的实施例的图形处理器的管理系统的实际应用的一个示意图。具体实施方式23.为使本公开实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本公开实施例做进一步详细说明。在此,本公开的示意性实施例及其说明用于解释本公开,但并不作为对本公开的限定。24.相关技术中的图形处理器管理复杂度较高,以测试为例,相关技术中的测试方法存在下列问题:命令设计不归一,如果需要新增命令,需要重新注册到命令行,或者注册到函数集,同时需要重新设计命令,导致后期维护成本较高,且不易于扩展;测试过程比较复杂,使用不方便,对新用户不友好;仅支持uart方式进行测试,如果需要支持其他方式,需要修改大量代码,导致测试接口可扩展性不高。25.为解决上述办法,本公开实施例提供一种图形处理器的管理方法、管理装置和管理系统,能够实现命令设计归一化并对用户友好的图形处理器管理过程。例如,可以解决上述示例的测试方法的问题。本公开对管理内容不作限制,例如,可以为测试、升级、异常处理等。26.第一方面的实施例本公开第一方面的实施例提供一种图形处理器的管理方法,图1是本公开第一方面的实施例的图形处理器的管理方法的一个示意图。27.如图1所示,方法100包括:步骤101:接收标准参数格式命令;步骤103:校验所述命令中的参数是否在预定的阈值范围;步骤105:在所述命令包括多个参数的情况下检测多个参数之间是否存在冲突;步骤107:根据校验结果和冲突检测结果,输出提示错误的信息。28.由此,通过接收标准参数格式命令,并进行参数校验和冲突检测,并根据校验结果和冲突检测结果输出提示错误的信息,实现命令设计归一化并对用户友好的图形处理器管理过程。29.在步骤101中,标准参数格式命令例如为预定义的归一化格式的命令。例如,方法100还可以包括,在用户输入的命令不是标准参数格式命令的情况下,提示用户输入的命令不是标准参数格式命令,还可以提示用户正确的命令格式,以便用户按照标准参数格式输入命令。由此实现命令归一化。30.此外,本公开实施例对该标准参数格式不作限定,其可以是任意格式,只要是能够归一化的格式的即可。31.在步骤103中,可以根据参数阈值校验表进行所述校验,所述参数阈值校验表存储各参数的阈值范围信息。由此,能够方便快捷地实现参数的校验。其中,阈值范围信息还可以包括除阈值范围之外的其他信息,例如,与校验结果相关的处理流程信息、帮助信息等,本公开对此不作限制。32.在一个或多个实施例中,阈值范围信息可以包括:阈值区间的最大阈值和/或最小阈值;阈值区间的类型;帮助信息,其表示所述标准参数格式命令中的参数不在阈值范围内的提示信息;处理流程信息,其表示与参数的校验结果对应的处理信息。33.例如,参数阈值校验表可以包括阈值范围,如最大阈值、最小阈值;还可以包括帮助信息,如,超出阈值范围的打印,即超出阈值范围情况下的帮助信息输出;还可以包括描述参数的区间类型的信息,如开区间、闭区间、开闭区间等;还可以包括与各参数对应的处理流程,以确保校验效果。34.例如,参数阈值校验表可以进行如下定义:“{pmuc_opt_max,pmuc_opt_min,closedinterval,'o',ꢀ“超出范围”},{pmuc_ss_max,pmuc_ss_min,openinterval,'s',ꢀ“超出范围”},{pmuc_ctrl_max,pmuc_ctrl_min,openandcloseinterval,'c',ꢀ“超出范围”},”。35.例如,参数阈值校验表还可以进行如下定义:“staticmtc_cli_range_table_tmtc_wdt_rangetable[]={{wdt_opt_max,wdt_opt_min,'o'},{wdt_time_max,wdt_time_min,'t'},};”。[0036]此外,参数阈值校验表还可以包含与阈值检测参数、错误阈值的参数以及对应的输出信息。以参数“‑o”为例,参数阈值校验表例如可以包括:最大值max,最小值min,参数信息“o”,输出信息“checkerror”,例如,当通过参数阈值校验表检查出错误时,可以直接输出表中的错误信息“checkerror”,即输出表中定义的信息作为输出信息,例如,当表中定义输出信息为“超出范围”时,可以输出所定义的“超出范围”作为输出信息,换言之,当对应参数超出表中阈值时,根据已经定义好的错误信息进行输出;此外,如果查表发现超出阈值,还可以输出“‑ocheckerror,输入参数值为xx”等信息,并返回错误。[0037]此外,还可以根据实际需要或相关技术设置参数阈值校验表中包含的内容,本公开实施例对此不作限制。此外,本公开实施例对如何获得参数阈值校验表不作限制,参数阈值校验表可以预先存储在图形处理器中,也可以通过接口下发而配置在图形处理器中。[0038]在步骤105中,可以根据参数冲突检测表进行所述检测,所述参数冲突检测表存储不可共存的参数和/或可以共存的参数的信息。由此,能够方便快捷地实现参数的冲突检测。[0039]在一个或多个实施例中,参数冲突检测表包括与命令的不同操作类型分别对应的参数冲突信息,参数冲突信息包括:操作码,其表示操作类型;参数表格,其存储不可共存的参数和/或可以共存的参数;帮助信息,其表示所述标准参数格式命令中的参数存在冲突的提示信息;以及处理流程信息,其表示与参数的冲突检测结果对应的处理信息。[0040]例如,参数冲突检测表可以包括操作码,该操作码例如为不同参数组合确认的功能码,以指示需要的功能;还可以包括参数表地址和参数表大小,存储对应的冲突参数或者正确的参数;还可以包括冲突参数,如,当正确参数或者冲突参数只有一个的情况下,可以使用一个冲突参数来表示;还可以包括帮助信息,该帮助信息例如是在检测到冲突后输出用于为用户提供帮助的信息,可以为正确参数示例或者错误参数提示信息等;还可以包括与发生冲突的参数对应的处理流程,以确保校验效果。[0041]例如,参数冲突检测表可以进行如下定义:“staticmtc_cli_cmd_table_tmtc_wdt_cmd_tbl[]={{mtc_wdt_start,&mtc_wdt_arg_tbl,0,mtc_wdt_start,"mtcwdtꢀ‑o0ꢀ‑t10ormtcwdtꢀ‑o0"},{mtc_wdt_stop,null,mtc_wdt_match,mtc_wdt_stop,"mtcwdtꢀ‑o1"},{mtc_wdt_feed,null,mtc_wdt_match,mtc_wdt_feed,"mtcwdtꢀ‑o2"},{mtc_wdt_show,null,mtc_wdt_match,mtc_wdt_show,"mtcwdtꢀ‑o3"},};staticrt_int32_tmtc_wdt_arg[]={mtc_wdt_start_match,mtc_wdt_start_time_match,};”。[0042]如上述实施例所示,参数冲突检测表为多层表,多层表包括主表格以及至少一个子表格,如主表格为mtc_wdt_cmd_tbl[],子表格为mtc_wdt_arg[],其中子表格对应主表格中的操作码mtc_wdt_start,主表格中对应操作码mtc_wdt_start存储子表格的地址&mtc_wdt_arg_tbl,还可存储子表格的大小。由此,能够通过多层次查表方式,解决多种冲突,多种使用问题。[0043]以上仅为示例性说明,但本技术不限于此,例如,多层表可以包括多个子表格,例如上述参数冲突检测表的主表格中也可以存储对应操作码mtc_wdt_stop的子表格的地址,这样,参数冲突检测表包括一个主表格和两个子表格,以此类推,不再一一说明。[0044]此外,参数冲突检测表也可以仅包括一个表格,即只具有主表格mtc_wdt_cmd_tbl[],对应主表格中的各个操作码的参数均直接存储在主表格中,例如,对应mtc_wdt_start的参数直接存储在主表格中,而并非存储在一个子表格中。[0045]例如,当冲突参数有多种时,使用mtc测试命令参数冲突子表扩展,确保全面的冲突检测,检测到冲突后,根据冲突表输出预定义的冲突信息,提示用户按照正确的输入格式重新输入。还例如,参数冲突检测表可以包括操作类型、冲突子表、冲突类型、冲突帮助和非冲突命令中的至少一个,其中,冲突帮忙例如包括提示用户输入的参数存在冲突,或者提示正确的输入格式,以用于在检测到发生冲突时,将与该冲突对应的“冲突帮忙”输出给用户,以帮助用户重新输入。[0046]在步骤107中,提示错误的信息可以包括表示输入的参数不在阈值范围内的信息,还可以包括表示检测到多个参数之间存在冲突的信息,还可以包括提示用户重新输入的信息,还可以包括正确的命令的格式等。但本公开实施例不限于此,提示错误的信息还可以包括其他提示信息以帮助用户输入正确的命令,可以根据实际需要或相关技术进行设定。通过步骤107,使得本公开的管理方法可以对无基础的用户提供友好服务,方便用户使用。[0047]此外,还可以根据实际需要或相关技术设置参数冲突检测表中包含的内容,本公开实施例对此不作限制。此外,本公开实施例对如何获得参数冲突检测表不作限制,参数冲突检测表可以预先存储在图形处理器中,也可以通过接口下发而配置在图形处理器中。[0048]图2是本公开第一方面的实施例的图形处理器的管理方法的另一个示意图。[0049]在至少一个实施例中,如图2所示,方法200可以包括:步骤201:解析所述命令以获得有效参数信息,所述解析包括长参数解析和短参数解析;步骤203:利用命令匹配表根据所述有效参数信息确定有效命令以进行所述校验。[0050]在一个或多个实施例中,所述命令匹配表包括与所述命令的不同操作类型分别对应的命令匹配信息,所述命令匹配信息包括:操作码,其表示操作类型;命令表格,其存储与所述操作码匹配的命令;帮助信息,其表示所述标准参数格式命令中的参数存在冲突的提示信息;以及处理流程信息,其表示与参数的冲突检测结果对应的处理信息。[0051]在一个或多个实施例中,所述命令匹配信息还包括用户权限等级信息,所述命令表格中存储与所述用户权限等级信息对应的命令。由此,不同用户可以拥有不同的命令使用权限,能够提高安全保密性。[0052]例如,在步骤201中,可以根据长参数表对长命令参数进行解析,根据短参数表对短命令参数进行解析,该长参数表和短参数表可以归一化,长命令参数例如为“‑‑help”,短命令参数例如“‑h”。但本公开实施例对此不作限制,还可以根据实际需要或相关技术设置其他形式的长命令参数和短命令参数。[0053]在步骤203中,命令匹配表可以包括操作码,该操作码例如为不同参数组合确认的功能码,以指示需要的功能;还可以包括匹配命令功能,即,匹配操作码对应的命令;还可以包括命令操作码冲突参数表,例如,参数表地址和参数表大小,存储对应的操作码,可以是解析为同一命令的操作码,即有多个命令字对应同一个匹配命令功能;还可以包括帮助信息,例如,当输入的参数没有正确匹配到有效命令时,输出帮助信息,帮助信息可以为正确参数示例,也可以是错误参数提示信息等;还可以包括与匹配到的有效命令对应的处理流程,以确保校验效果。[0054]在一个或多个实施例总,与匹配到的有效命令对应的处理流程可以包括但不限于以下操作中的任意一者或组合:判断是否匹配到有效命令,如果匹配到则执行,否则,输出已经提前放入表中的提示;判断是否存在冲突问题,如果存在,则进行冲突检测处理流程,看看是否是有效的操作码,如果有效,则处理流程进入匹配有效命令流程,否则提示错误信息;在判断参数使用错误的情况下,输出提示信息等一系列处理流程。[0055]此外,步骤105中的参数冲突检测表和步骤203中的命令匹配表可以是两个独立的表,也可以合并为一个表。[0056]例如,参数冲突检测表和命令匹配表合并为一个表可以进行如下定义:“{pmuc_timer_ctrl,&mtc_pmuc_timer_arg_tbl,0,mtc_pmuc_timer_ctrl,"mtcpmucꢀ‑o0ꢀ‑s0ꢀ‑p1"}{pmuc_sig_read,null,pmuc_sig_read_match,mtc_pmuc_signal_read,"mtcpmucꢀ‑o1ꢀ‑s0ꢀ‑c1"}staticrt_int32_tmtc_pmuc_timer_arg[]={pmuc_timer_ctrl_match1,pmuc_timer_ctrl_match2,pmuc_timer_ctrl_match3,pmuc_timer_ctrl_match4,pmuc_timer_ctrl_match5,};”。[0057]此外,还可以根据实际需要或相关技术设置命令匹配表中包含的内容,本公开实施例对此不作限制。此外,本公开实施例对如何获得命令匹配表不作限制,命令匹配表可以预先存储在图形处理器中,也可以通过接口下发而配置在图形处理器中。[0058]图3是本公开第一方面的实施例的图形处理器的管理方法的另一个示意图。[0059]在至少一个实施例中,如图3所示,方法300可以包括:步骤301:根据鉴权数据库确定所述有效命令是否为合法用户的输入。[0060]由此,能够确保管理环境的安全性。[0061]在一个或多个实施例中,鉴权数据库中可以为不同权限等级的用户存储相应的命令,如以表格的形式进行存储,但本技术不限于此,该表格也可以存储在其它位置,例如合并在命令匹配表等中,本技术对此不作限制,由此,能够确保不同用户拥有不同的命令使用权限,提高安全保密性能。[0062]在一个或多个实施例中,不同权限等级的用户对应的命令可以存储为一个表格中,表格中对应各用户分别存储其权限等级或权限所对应的命令,但本技术不限于此,也可以利用多个表格进行存储,例如将具有同样的权限或等级的用户存储在一个表格中,也即以不同的表格分别存储具有不同权限等级或权限的用户,不同等级或权限对应不同的命令。[0063]如图3所示,方法300还可以包括:步骤303:根据所述鉴权数据库鉴别所述合法用户的权限级别,具有不同权限级别的用户对应所述gpu的不同的管理权限。[0064]由此,按照权限等级区别不同管理权限,能够进一步确保管理环境的安全性。[0065]本公开实施例对鉴权数据库中包含的内容不作限定,可以根据实际需要或相关技术进行设置。[0066]以下进行示例性说明:在一个或多个实施例中,参数阈值检测表如下所示:staticmtc_cli_range_table_tpmuc_range_table[]={ꢀꢀꢀꢀ{pmuc_opt_max,pmuc_opt_min,'o',1,ꢀ“err,beyondthethreshold”},ꢀꢀꢀꢀ{pmuc_ss_max,pmuc_ss_min,'s',ꢀ“err,beyondthethreshold”},ꢀꢀꢀꢀ{pmuc_ctrl_max,pmuc_ctrl_min,'c',1,ꢀ“err,beyondthethreshold”},ꢀꢀꢀꢀ{pmuc_p1_max,pmuc_p1_min,'p',1,ꢀ“err,beyondthethreshold”},ꢀꢀꢀꢀ{pmuc_p2_max,pmuc_p2_min,'q',1,ꢀ“err,beyondthethreshold”},ꢀꢀꢀꢀ{pmuc_p3_max,pmuc_p3_min,ꢀꢀ'r',1,ꢀ“err,beyondthethreshold”},ꢀꢀꢀꢀ{pmuc_p4_max,pmuc_p4_min,ꢀꢀ'z',1,ꢀ“err,beyondthethreshold”},ꢀꢀꢀꢀ{pmuc_idle_ctrl_max,pmuc_idle_ctrl_min,'i',1,ꢀ“err,beyondthethreshold”},ꢀꢀꢀꢀ{pmuc_t_max,pmuc_t_min,'t',1,ꢀ“err,beyondthethreshold”},ꢀꢀꢀꢀ{pmuc_pwr_cmd_max,pmuc_pwr_cmd_min,ꢀꢀ'm',1,ꢀ“err,beyondthethreshold”},ꢀꢀꢀꢀ{pmuc_format_max,pmuc_format_min,ꢀꢀꢀ'f',1,ꢀ“err,beyondthethreshold”},};在上述参数阈值检测表中,存储了所有参数的阈值范围信息,其中包括用于表示区间类型的信息“1”,另外还包括错误信息“err,beyondthethreshold”,但本技术不限于此,参数阈值检测表还可以为其它情况。[0067]在一个或多个实施例中,参数冲突检测表和命令匹配表存储于同一表格中,并且该表中还存储了用户权限等级信息,如下表所示:staticmtc_cli_cmd_table_tpmuc_cmd_tbl[]={ꢀꢀꢀꢀ{pmuc_timer_ctrl,&mtc_pmuc_timer_arg_tbl,0,mtc_pmuc_timer_ctrl,"mtcpmucꢀ‑o0ꢀ‑s0ꢀ‑p1(read/2write)ꢀ‑f6",user_right_level0},ꢀꢀꢀꢀ{pmuc_sig_read,null,pmuc_sig_read_match,mtc_pmuc_signal_read,"mtcpmucꢀ‑o1ꢀ‑s0ꢀ‑c1",user_right_level0},ꢀꢀꢀꢀ{pmuc_idle_cmd,&mtc_pmuc_idle_arg_tbl,0,mtc_pmuc_domain_idle,"mtcpmucꢀ‑o2ꢀ‑s0ꢀ‑c1ꢀ‑i0ꢀ‑p11ꢀ‑p21ꢀ‑p31",user_right_level1},ꢀꢀꢀꢀ{pmuc_isoen_cmd,&mtc_pmuc_isoena_arg_tbl,0,mtc_pmuc_isoena,"mtcpmucꢀ‑o3ꢀ‑c1ꢀ‑p11ꢀ‑p21ꢀ‑p31ꢀ‑p41ꢀ‑t0",user_right_level2},ꢀꢀꢀꢀ{pmuc_pwr_switch_cmd,null,cmd1,mtc_pmuc_power_switch,"mtcpmucꢀ‑o4ꢀ‑c1ꢀ‑c10ꢀ‑p11ꢀ‑p21ꢀ‑p31ꢀ‑p41",user_right_level3},};在上述示例的表格中,用于命令匹配的信息、用户权限匹配的信息以及参数冲突检测的信息合成为了一个表格,但本技术不限于此,可以通过不同的表格分别存储用于命令匹配的信息、用户权限匹配的信息以及参数冲突检测的信息。例如,上述表格中,用户权限(如user_right_level0)也与命令匹配表合一,但本技术不限于此,用户权限也可以单独成表,即用户权限等级和命令对应表;如{mtc_pmuc_signal_read,user_right_level0},即是最简表,用于确定用户是否可以使用相应的命令。[0068]此外,在一个或多个实施例中,冲突检测表和命令检测表可以合成为一个版本&mtc_pmuc_timer_arg_tbl,即操作码一致情况下,还可能有很多个不同参数组成的多种情况,因此需要进一步确定是否合法,需要在子表检查情况;此外,也可以没有子表,例如,可能只有一个参数值,如上述表格中对应操作码pmuc_pwr_switch_cmd的参数,参数的子表为空null,cmd1可以理解为子表或者不需要子表的情况,也就是说,是否有子表通过检查子表的指针是否为空null判断,如果为空,则没有子表,则检查是否是cmd1即可,此情况表示没有子表只有一个主表,例如,上述表格中对于是否有子表设计了一个表格地址来说明,另外使用一个cmd1来说明没有子表时,检查cmd1是否命中;但本技术不限于此,也可以将这两个合成一个表项,即无论有多种情况还是一种情况,都只使用子表。[0069]在本技术实施例中,一个操作码表示一种功能,该功能可能由多种不同参数组合作为其功能的参数进行输入,在此情况下不同参数组合可能存在冲突的检测,由此,可以通过参数冲突检测,或者说参数冲突检测的场景包括该情况。[0070]也就是说,参数冲突检测的是不同参数组合是否构成多种有效组合中的一种,如是否符合参数冲突检测子表的任何一个组合中的一个。如果检测到,则表示参数冲突检测通过,即参数组合符合有效组合中的一个,命中;否则,参数属于冲突的参数,即这一组参数组合无效,不是任何一种有效功能,将会输出错误信息提示用户;同时给出正确用例;如命令匹配和冲突检测归一表中的最后一项字符串,作为提示信息输出。[0071]例如,以开启看门狗命令为例,输入命令的参数可以只指定看门狗定时器id,定时时间使用默认值,或者也可以在指定看门狗定时器id的同时,指定一个用户希望的时间,也就是说,对于开启看门狗这样的同一个功能存在2种参数场景,即输入-o开启看门狗定时器这个功能时,可能跟一个参数或者2个参数,在此情况下需要检测参数是否正常,是否存在冲突。[0072]此外,对应于上述表格中的操作码pmuc_isoen_cmd,还存储有如下所示的冲突检测子表:staticrt_int32_tmtc_pmuc_isoena_arg[]={ꢀꢀꢀꢀpmuc_isoen_cmd_match1,ꢀꢀꢀꢀpmuc_isoen_cmd_match2,ꢀꢀꢀꢀpmuc_isoen_cmd_match3,ꢀꢀꢀꢀpmuc_isoen_cmd_match4,ꢀꢀꢀꢀpmuc_isoen_cmd_match5,ꢀꢀꢀꢀpmuc_isoen_cmd_match6,ꢀꢀꢀꢀpmuc_isoen_cmd_match7,ꢀꢀꢀꢀpmuc_isoen_cmd_match8,ꢀꢀꢀꢀpmuc_isoen_cmd_match9,ꢀꢀꢀꢀpmuc_isoen_cmd_match10,ꢀꢀꢀꢀpmuc_isoen_cmd_match11,ꢀꢀꢀꢀpmuc_isoen_cmd_match12,ꢀꢀꢀꢀpmuc_isoen_cmd_match13,ꢀꢀꢀꢀpmuc_isoen_cmd_match14,ꢀꢀꢀꢀpmuc_isoen_cmd_match15,};staticmtc_cli_cmd_arg_table_tmtc_pmuc_isoena_arg_tbl={ꢀꢀꢀꢀ.arg_tbl=mtc_pmuc_isoena_arg,ꢀꢀꢀꢀ.arg_num=sizeof(mtc_pmuc_isoena_arg),};其中,冲突检测字表的内容还可以为扩展为其它情况,例如可以与用户权限进行组合,本技术对此不作限制。[0073]在本技术实施例中,基于上述表格,可以对输入的命令进行相应处理,例如,用户登录并输入命令mtcpmucꢀ‑o3ꢀ‑c1ꢀ‑p11ꢀ‑p21ꢀ‑p31ꢀ‑p41ꢀ‑t0,利用上述表格可以对该命令进行处理。[0074]在一个或多个实施例中,可以将用户权限“‑ruser_right_level0”默认加在输入命令的最后,例如可以利用命令检测模块添加上述用户权限信息,则用户命令成为mtcpmucꢀ‑o3ꢀ‑c1ꢀ‑p11ꢀ‑p21ꢀ‑p31ꢀ‑p41ꢀ‑t0ꢀ‑ruser_right_level0。[0075]接下来对上述命令可进行如下处理:对用户命令参数进行检查,判断是否输入了错误的参数,例如对用户命令中的参数逐一进行判断,当判断用户命令中包含无法识别的参数,则可以返回帮助信息。[0076]利用参数阈值检测表检测用户命令中的各个参数是否均在阈值范围内,例如,逐一判断用户命令mtcpmucꢀ‑o3ꢀ‑c1ꢀ‑p11ꢀ‑p21ꢀ‑p31ꢀ‑p41ꢀ‑t0ꢀ‑ruser_right_level0中的参数o、c、p1、p2、p3、p4、t、r是否均在阈值范围内,如果不在,则输出错误信息以提示用户。[0077]利用表格pmuc_cmd_tbl进行冲突检测,权限检测,命令匹配等相关流程,例如,判断是否匹配到有效命令,如果匹配到有效命令则,则执行,例如,通过和表格pmuc_cmd_tbl进行匹配,可以确定匹配到了有效命令mtc_pmuc_isoena,否则,若未匹配到有效命令,则输出已经提前放入表中的提示信息;此外,还可以判断是否存在冲突问题,如果存在,则进行冲突检测处理流程,看看是否是有效的操作码,如果有效,则处理流程进入匹配有效命令流程,否则提示错误信息。[0078]在本技术实施例中,对于输入命令的各种操作的顺序不作限制,例如,在命令行解析完成后,可以先进行参数冲突检测,然后进行命令匹配操作,或者,也可以先进行命令匹配操作,然后进行参数冲突检测。本技术对此不作限制。例如,在一个或多个实施例中,参数冲突检测表和命令匹配表为一个合一的表格,在此情况下,参数冲突检测和名匹配操作的先后顺序不作限制,总之任何一项不满足要求都是匹配失败。在一个或多个实施例中,如图3所示,方法300还可以包括:步骤305:使所述图形处理器执行所述命令并接收所述图形处理器返回的执行结果。例如,使gpu执行具体注册的mtc测试命令,并返回执行结果。[0079]此外,本公开实施例的管理方法还可以包括管理命令注册步骤,即,可以接收输入的自定义的管理命令(例如,测试命令)并对该自定义的管理命令进行注册,注册成功的自定义的管理命令也可以用于对gpu的管理。该自定义的管理命令的格式需要遵照标准参数格式进行归一化,以便于各阶段的用户扩展。由此,给用户提供灵活的注册机制,便于扩展。[0080]此外,本公开以测试命令为例对管理gpu的命令进行了说明,但本领域技术人员应知晓,本公开的命令还可以是其他管理命令,本公开对管理命令不作限定,其可以是任何与gpu的管理相关的命令。[0081]此外,本公开实施例的管理方法实现了对gpu卡的统一管理,解决了gpu卡的管理问题,可以为商用、开发、测试等环节提供高质量服务;在内部集成测试需求方面增加了产品可靠性、可测试性;在产品工具方面,为量产管理,研发,用户使用提供高可用性支持;在驱动自带的管理显示需求方面,为驱动软件界面化显示提供数据支持。[0082]根据第一方面的实施例,通过接收标准参数格式命令,并进行参数校验和冲突检测,并根据校验结果和冲突检测结果输出提示错误的信息,由此实现命令设计归一化并对用户友好的图形处理器管理过程。[0083]第二方面的实施例本公开第二方面的实施例提供一种图形处理器的管理装置,该管理装置的原理与第一方面的实施例所述的管理方法相同,相同内容被合并于此。[0084]图4是本公开第二方面的实施例的图形处理器的管理装置的一个示意图。[0085]如图4所示,管理装置400可以包括输入模块401、校验模块402、冲突检测模块403和提示模块404。输入模块401接收标准参数格式命令;校验模块402校验所述命令中的参数是否在预定的阈值范围;冲突检测模块403在所述命令包括多个参数的情况下检测多个参数之间是否存在冲突;提示模块404根据所述校验模块校验结果和所述冲突检测模块的检测结果,输出提示错误的信息。此外,提示模块404还可以输出正确的命令,以为用户提示正确指导。[0086]在至少一个实施例中,校验模块402包括参数阈值校验表,所述参数阈值校验表存储各参数的预定的阈值范围。[0087]在至少一个实施例中,冲突检测模块403包括参数冲突检测表,所述参数冲突检测表存储不可共存的参数和/或可以共存的参数。[0088]在至少一个实施例中,所述参数冲突检测表包括多层表,所述多层表包括主表格以及至少一个子表格。[0089]在至少一个实施例中,如图4所示,管理装置400还可以包括帮助模块405,帮助模块405存储有所述提示错误的信息。由此,可以为用户提供全方位的帮助指导。此外,还可以使用长短命令对外提供帮助,本公开实施例对此不作限制,具体实施方式可以参考相关技术。[0090]在至少一个实施例中,如图4所示,管理装置400还可以包括版本信息模块406,版本信息模块406存储管理装置的版本信息。例如,在测试上位机查询测试框架版本时,可以反馈版本信息模块406存储的管理装置的版本信息。[0091]在至少一个实施例中,如图4所示,管理装置400还可以包括解析模块407和匹配模块408。解析模块407包括长参数解析子模块和短参数解析子模块,所述解析模块解析所述命令以获得有效参数信息;匹配模块408利用命令匹配表根据所述解析模块所获得的有效参数信息确定有效命令,将所述有效命令输入所述校验模块。[0092]在至少一个实施例中,如图4所示,管理装置400还可以包括鉴权模块409。鉴权模块409根据鉴权数据库确定所述有效命令是否为合法用户的输入。[0093]在至少一个实施例中,鉴权模块409还可以鉴别所述合法用户的权限级别,具有不同权限级别的用户对应所述gpu的不同的管理权限。[0094]在至少一个实施例中,如图4所示,管理装置400还可以包括执行模块410。执行模块410使所述图形处理器执行所述命令并接收所述图形处理器返回的执行结果。[0095]此外,本公开的管理装置400还可以包括管理命令注册模块,管理命令注册模块接收输入的自定义的管理命令(例如,测试命令)并对该自定义的管理命令进行注册,注册成功的自定义的管理命令也可以用于对gpu的管理,由此,给用户提供灵活的注册机制,便于扩展。[0096]此外,在本实施例中,管理装置400可以作为mtc核心框架进行应用以实现上述功能。[0097]图5是本公开第二方面的实施例的图形处理器的管理装置的实际应用的一个示意图。[0098]如图5所示,mtc核心框架500可以包括mtc测试工具框架501和mt测试框架帮助模块502,mtc测试工具框架501通过uart、ipc等接口从上位测试机5接收命令,此外,mtc测试工具框架501还可以通过系统总线smbus等带外管理的接口接收命令,mtc测试框架帮助模块502向mtc测试工具框架501提供帮助信息。[0099]如图5所示,mtc核心框架500还可以包括mtc测试命令解析模块503和mtc测试命令子帮助模块504,mtc测试命令子帮助模块504向mtc测试命令解析模块503提供帮助信息。[0100]此外,管理装置400的帮助模块405可以对应于mt测试框架帮助模块502和mtc测试命令子帮助模块504。[0101]如图5所示,mtc核心框架500还可以包括mtc测试命令长参数匹配模块505、mtc测试命令长参数检测表506、mtc测试命令短参数匹配模块507和mtc测试命令短参数检测表508,mtc测试命令长参数检测表506向mtc测试命令长参数匹配模块505提供参数信息,mtc测试命令短参数检测表508向mtc测试命令短参数匹配模块507提供参数信息。[0102]此外,管理装置400的解析模块407可以对应于mtc核心框架500的mtc测试命令长参数匹配模块505、mtc测试命令长参数检测表506、mtc测试命令短参数匹配模块507和mtc测试命令短参数检测表508。[0103]如图5所示,mtc核心框架500还可以包括mtc测试命令匹配模块509和mtc测试命令注册表510,mtc测试命令注册表510向mtc测试命令匹配模块509提供可用命令。[0104]此外,管理装置400的匹配模块408可以对应于mtc核心框架500的mtc测试命令匹配模块509和mtc测试命令注册表510。[0105]如图5所示,mtc核心框架500还可以包括mtc测试命令参数阈值校验模块511和mtc测试命令参数阈值校验表512,mtc测试命令参数阈值校验模块511参照mtc测试命令参数阈值校验表512对命令中的参数进行校验。[0106]此外,管理装置400的校验模块402可以对应于mtc核心框架500的mtc测试命令参数阈值校验模块511和mtc测试命令参数阈值校验表512。[0107]如图5所示,mtc核心框架500还可以包括mtc测试命令参数冲突检测模块513、mtc测试命令参数冲突检测表514和mtc测试命令参数冲突子表515,mtc测试命令参数冲突检测模块513参照mtc测试命令参数冲突检测表514和mtc测试命令参数冲突子表515对命令中的参数是否存在冲突以及是否存在多重冲突进行校验。[0108]此外,管理装置400的冲突检测模块403可以对应于mtc核心框架500的mtc测试命令参数冲突检测模块513、mtc测试命令参数冲突检测表514和mtc测试命令参数冲突子表515。[0109]如图5所示,mtc核心框架500还可以包括异常处理模块516,在检测出异常时,异常处理模块516向mtc测试工具框架501返回异常信息,例如,针对输入错误,给出错误原因,以及输出正确指导,以方便用户,且为无测试基础的用户提供友好的用户体验。[0110]此外,管理装置400的提示模块404可以对应于mtc核心框架500的异常处理模块516。[0111]如图5所示,mtc核心框架500还可以包括测试命令执行模块517,在命令被确定为是有效命令或可用命令的情况下,测试命令执行模块517执行该命令并向mtc测试工具框架501返回执行结果。[0112]此外,管理装置400的执行模块410可以对应于mtc核心框架500的测试命令执行模块517。[0113]如图5所示,mtc核心框架500还可以包括mtc测试框架版本模块518,在上位测试机5查询测试框架版本时,mtc测试框架版本模块518向mtc测试工具框架501提供版本信息。[0114]此外,管理装置400的版本信息模块406可以对应于mtc核心框架500的mtc测试框架版本模块518。[0115]本公开实施例以图5为例对管理装置400的一个实际应用进行了说明,但本公开不限于此,还可以根据实际需求和相关技术增加其他模块或者减少图5中的一些构成部分。[0116]此外,本公开实施例以mtc核心框架中的与测试相关的各模块为例进行了说明,但本公开实施例不限于此,本公开实施例的管理装置400中的各模块还可以对应mtc核心框架中的其他管理模块。[0117]此外,管理装置400还可以包括日志管理模块,该日志管理模块对管理装置400内的各种操作的相关信息进行记录并以日志形式存储。例如,日志管理模块可以对管理装置400通过接口模块(例如uart/smbus/ipc接口等)执行的操作的相关信息进行记录,或者日志管理模块可以对管理装置400对flash的操作的相关信息进行记录,或者日志管理模块可以对管理装置400对驱动的操作的相关信息进行记录等。由此,进一步方便用户对gpu进行管理。[0118]根据第二方面的实施例,通过接收标准参数格式命令,并进行参数校验和冲突检测,并根据校验结果和冲突检测结果输出提示错误的信息,由此实现命令设计归一化并对用户友好的图形处理器管理过程。[0119]第三方面的实施例本公开第三方面的实施例提供一种图形处理器的管理系统,图6是本公开第三方面的实施例的图形处理器的管理系统的一个示意图。[0120]如图6所示,管理系统600包括第一接口模块601和管理装置602。第一接口模块601从外部装置1接收针对图形处理器2的管理命令,管理装置602从第一接口模块601接收所述管理命令。[0121]管理装置602的实施方式可以参照第二方面的实施例所述的管理装置400,第二方面的实施例的内容被合并于此,此处不再赘述。[0122]此外,管理装置602通过该管理命令对图形处理器2进行管理。[0123]在至少一个实施例中,第一接口模块601可以包括uart接口模块和/或smbus接口模块。例如,可以将mtc核心框架(例如,管理装置602)放在芯片侧,使用finsh注册命令,通过uart或者smbus形式使用。[0124]此外,外部装置1例如可以是上位测试机。但本技术不限于此,例如还可以是实际使用的pc机或者服务器,也可以是基板管理控制器(baseboardmanagementcontroller,bmc)bmc,换言之,可以为对应的带外管理的任意装置或设备。[0125]根据第三方面的实施例,能够实现在芯片侧对gpu卡进行统一管理的管理系统。[0126]第四方面的实施例本公开第四方面的实施例提供一种图形处理器的管理系统,图7是本公开第四方面的实施例的图形处理器的管理系统的一个示意图。[0127]如图7所示,管理系统700包括管理装置701和第二接口模块702。第二接口模块702从管理装置701接收针对图形处理器2的管理命令。[0128]管理装置701的实施方式可以参照第二方面的实施例所述的管理装置400,第二方面的实施例的内容被合并于此,此处不再赘述。[0129]在至少一个实施例中,第二接口模块702可以为ipc接口模块。例如,可以将mtc核心框架(例如,管理装置701)放在驱动侧,调用ipc命令进行gpu的管理和监控。[0130]在至少一个实施例中,如图7所示,管理系统700还可以包括图形处理器核心管理命令模块703和驱动管理模块704。[0131]图形处理器核心管理命令模块703从第二接口模块702接收针对图形处理器2的所述管理命令,并将所述管理命令的执行结果经由所述第二接口模块702返回给所述管理装置701;驱动管理模块704通过第二接口模块702调用图形处理器核心管理命令模块703中的核心管理命令。核心管理命令例如包括gpupvt模块管理命令、gpupm模块管理命令、gpuefuse模块管理命令等。[0132]此外,管理系统700还可以包括图形处理器核心管理监控模块,图形处理器核心管理监控模块可以提供所有gpu核心的管理以及监控的功能,例如,可以提供和监控风扇控制功能、gpu电压调节功能、gpu频率调整功能、寄存器读写功能等;将各种gpu核心管理监控功能注册到gpu核心管理监控模块,以待mtc核心框架和ipc接口模块调用。[0133]此外,ipc接口或者mtc核心框架(例如管理装置701)接口使用同一套gpu核心管理监控模块,实现归一化接口。[0134]根据第四方面的实施例,能够实现在驱动侧对gpu卡进行统一管理的管理系统。[0135]第五方面的实施例本公开第五方面的实施例提供一种图形处理器的管理系统,图8是本公开第五方面的实施例的图形处理器的管理系统的一个示意图。[0136]如图8所示,管理系统800包括第一接口模块801、管理装置802、第二接口模块803和透传模块804。[0137]第一接口模块801从外部装置1接收针对图形处理器2的管理命令;管理装置802接收来自第一接口模块801接收的所述管理命令;第二接口模块803连接管理装置802;透传模块804将针对图形处理器2的管理命令对应的管理命令信息通过第一接口模块801或第二接口模块803透传给所述管理装置。此外,管理命令信息可以是管理命令本身,也可以是管理命令参数行,或者命令行字符串等,本公开实施例对此不作限制,管理命令信息可以是任何与管理命令相关的信息。[0138]此外,外部装置1例如可以是上位测试机。但本技术不限于此,例如还可以是实际使用的pc机或者服务器,也可以是基板管理控制器(baseboardmanagementcontroller,bmc)bmc,换言之,可以为对应的带外管理的任意装置或设备。[0139]在至少一个实施例中,第一接口模块801可以包括uart接口模块和/或smbus接口模块;第二接口模块803可以为ipc接口模块。[0140]此外,管理系统800还可以使用管理api接口管理监控gpu,在驱动中实现非界面形式的使用。或者以单独的gpu管理监控程序通过调用工具(即gpu的管理装置)命令行获取gpu的相关信息,或者使用ipc的管理api接口管理监控gpu。[0141]此外,还可以以驱动层仅传递命令参数,通过ipc使用芯片侧的mtc核心框架(例如管理装置802)实现gpu管理监控功能。[0142]在至少一个实施例中,如图8所示,管理系统800还可以包括图形处理器核心管理命令模块805和驱动管理模块806。[0143]图形处理器核心管理命令模块805从第二接口模块803接收针对图形处理器2的所述管理命令,并将所述管理命令的执行结果经由第二接口模块803返回给管理装置802;驱动管理模块806通过第二接口模块803调用图形处理器核心管理命令模块805中的核心管理命令。核心管理命令例如包括gpupvt模块管理命令、gpupm模块管理命令、gpuefuse模块管理命令等。[0144]图9是本公开第五方面的实施例的图形处理器的管理系统的实际应用的一个示意图。[0145]例如,如图9所示,管理系统900可以包括smcmtctool901、驱动mtctool902、驱动ipc接口模块903和smcipc接口904,其中,驱动mtctool902包括mtc透传框架,驱动mtctool902向驱动ipc接口模块903输出管理命令。例如,如果该管理命令定义了传送类型为“mtc透传”,那么smcipc接口904通过例如mtc透传将接收到的管理命令的管理命令信息透传给smcmtctool901。[0146]此外,管理系统800的管理装置802可以对应于管理系统900的smcmtctool901,管理系统800的透传模块804可以对应于管理系统900的驱动mtctool902,管理系统800的第二接口模块803可以对应于管理系统900的驱动ipc接口模块903和smcipc接口904。[0147]如图9所示,管理系统900还可以包括驱动监控功能模块905,驱动监控功能模块905向驱动ipc接口模块903输出管理命令,例如,该管理命令没有定义传送类型为“mtc透传”,那么smcipc接口可以将接收到的管理命令发送给gpu核心管理命令模块907。[0148]此外,管理系统800的图形处理器核心管理命令模块805可以对应于管理系统900的gpu核心管理命令模块907。[0149]如图9所示,管理系统900还可以包括uart/smbus接口模块906,uart/smbus接口模块906可以将接收到的命令发送给smcmtctool901,再由smcmtctool901将收到的管理命令发送给gpu核心管理命令模块907。[0150]此外,也可以通过uart/smbus接口模块906将命令信息透传给smcmtctool901。[0151]此外,管理系统800的第一接口模块801可以对应于管理系统900的uart/smbus接口模块906。[0152]此外,管理系统800还可以包括图形处理器核心管理监控模块,图形处理器核心管理监控模块可以提供所有gpu核心的管理以及监控的功能,例如,可以提供和监控风扇控制功能、gpu电压调节功能、gpu频率调整功能、寄存器读写功能等;将各种gpu核心管理监控功能注册到gpu核心管理监控模块,以待mtc核心框架和ipc接口模块调用。[0153]此外,ipc接口或者mtc核心框架(例如管理装置802)接口使用同一套gpu核心管理监控模块,实现归一化接口。[0154]根据第五方面的实施例,能够实现通过透传方式对gpu卡进行统一管理的管理系统。[0155]本公开实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的实施例的图形处理器的管理方法。[0156]本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的实施例的图形处理器的管理方法。[0157]本公开实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述第一方面的实施例的图形处理器的管理方法。[0158]本公开实施例中,通过接收标准参数格式命令,并进行参数校验和冲突检测,并根据校验结果和冲突检测结果输出提示错误的信息,由此实现命令设计归一化并对用户友好的图形处理器管理过程。[0159]本公开实施例在管理方法的各步骤中标注了各步骤的编号,但编号的顺序并不代表各步骤的执行顺序,各步骤的执行顺序可以根据实际情况任意组合,本公开实施例不以此为限制。[0160]本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0161]本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0162]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0163]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0164]以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限定本公开的保护范围,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1