图形处理器管理方法、装置和存储介质与流程

文档序号:31348070发布日期:2022-08-31 12:08阅读:55来源:国知局
图形处理器管理方法、装置和存储介质与流程

1.本公开涉及通信技术领域,尤其涉及一种图形处理器管理方法、装置和存储介质。


背景技术:

2.网络管理可以分为带内管理和带外管理两种管理模式,其中,带外管理是指网络的管理控制信息和业务信息通过不同的逻辑信道传送。由于带外管理模式下管理控制信息独立于被管理设备的业务网络连接,可以用于对被管理设备的紧急救援,因此被广泛应用于数据中心集中管理和分支机构网络远程管理等领域。
3.在已有的技术中,针对于图形处理器(graphics processing unit,gpu)的带外管理,当前主流的厂商通常依赖于厂商各自的硬件设计实现,一种可用于gpu的且能够适用于不同管理模式,特别是带外管理的新的管理方法值得研究。


技术实现要素:

4.有鉴于此,本公开提出了一种图形处理器管理方法,装置和存储介质。
5.根据本公开的一方面,提供了一种图形处理器管理方法。该方法用于管理设备,该方法包括:获取向图形处理器gpu请求读取和/或写入数据的第一消息;将第一消息发送给图形处理器gpu;接收图形处理器gpu返回的第二消息,第二消息为图形处理器gpu响应于第一消息执行相应的读取和/或写入数据操作后生成的,其中,第一消息和第二消息包括用于指示消息中是否包括智能平台管理接口ipmi消息的信息。
6.根据本技术实施例,管理设备可以获取请求向gpu读取和/或写入数据的第一消息,并将该第一消息发送给gpu,gpu在响应于该第一消息,执行了相应操作后,管理设备可以接收gpu生成的相应的答复信息(即第二消息),以完成带外或带内管理通信的过程,特别是在带外管理过程中,该过程不依赖于硬件实现,相对于现有的带外管理方式节约了成本。同时上述第一消息和第二消息中可包括ipmi消息,从而在管理设备针对于gpu的管理过程中,能够实现兼容ipmi协议格式,更加灵活。
7.在一种可能的实现方式中,第一消息和第二消息包括读取和/或写入的数据,以及用于指示读取和/或写入的数据的长度的信息,其中,数据的长度为0-n中的任一值,n为正整数。
8.根据本技术实施例,可以实现通信过程中的消息的长度灵活可变,提高了通信的效率。
9.在一种可能的实现方式中,第一消息和第二消息还包括以下中的一项或多项:用于指示消息对应的带外管理命令类型的信息、用于指示数据传输方向的信息、智能平台管理接口ipmi消息。
10.根据本技术实施例,可以使得gpu和管理设备之间通过上述消息实现带外或带内
管理通信。
11.在一种可能的实现方式中,将第一消息发送给图形处理器gpu,包括:通过以下一种或多种的硬件接口,将第一消息发送给图形处理器gpu:系统管理总线smbus、高速串行总线pcie、通用异步收发传输器uart。
12.根据本技术实施例,可以实现管理设备与gpu之间的带外或带内管理通信,且通信过程无需依赖于私有硬件实现,应用更加广泛。
13.在一种可能的实现方式中,该方法还包括:向图形处理器gpu发送第三消息,第三消息用于确认图形处理器gpu响应于第一消息的执行状态;接收图形处理器gpu针对第三消息返回的第四消息;响应于第四消息,在第四消息指示图形处理器gpu响应于第一消息的操作已执行完毕的情况下,向图形处理器gpu发送第五消息,第五消息用于请求图形处理器gpu返回第二消息。
14.根据本技术实施例,通过管理设备发送第三消息轮询gpu的执行状态,并在gpu返回第四消息指示执行完毕时,管理设备向gpu发送返回第二消息的请求消息,可以实现管理设备和gpu之间主-从通信方式下的带外或带内管理通信。
15.在一种可能的实现方式中,获取向图形处理器gpu请求读取和/或写入数据的第一消息,包括:通过局域网lan接口获取其他设备发送的向图形处理器gpu请求读取和/或写入数据的第一智能平台管理接口ipmi消息;将智能平台管理接口ipmi消息转换为第一消息;该方法还包括:将第二消息转换为第二智能平台管理接口ipmi消息;通过局域网lan接口向其他设备返回第二智能平台管理接口ipmi消息。
16.根据本技术实施例,通过管理设备通过lan接口获取其他设备发送的第一ipmi消息,将其转换为第一消息,并在gpu答复第二消息后向其他设备返回转换后的第二ipmi消息,可以实现其他设备与gpu的远程的带外管理通信。
17.根据本公开的一方面,提供了一种图形处理器管理方法。该方法用于图形处理器gpu,该方法包括:获取管理设备发送的请求读取和/或写入数据的第一消息;响应于第一消息,执行相应的读取和/或写入数据操作,生成第二消息;将所述第二消息发送给管理设备,其中,第一消息和第二消息包括用于指示消息中是否包括智能平台管理接口ipmi消息的信息。
18.根据本技术实施例,gpu可以获取管理设备发送请求读取和/或写入数据的第一消息,并响应于该第一消息,执行了相应操作后,可以生成相应的答复信息(即第二消息),并返回给管理设备,以完成带外或带内管理通信的过程,特别是在带外管理过程中,该过程不依赖于硬件实现,相对于现有的带外管理方式节约了成本。同时上述第一消息和第二消息中可包括ipmi消息,从而在管理设备针对于gpu的管理过程中,能够实现兼容ipmi协议格式,更加灵活。
19.在一种可能的实现方式中,第一消息和第二消息包括读取和/或写入的数据,以及用于指示读取和/或写入的数据的长度的信息,其中,数据的长度为0-n中的任一值,n为正整数。
20.根据本技术实施例,可以实现通信过程中的消息的长度灵活可变,提高了通信的效率。
21.在一种可能的实现方式中,第一消息和第二消息还包括以下中的一项或多项:用于指示消息对应的带外管理命令类型的信息、用于指示数据传输方向的信息、智能平台管理接口ipmi消息。
22.根据本技术实施例,可以使得gpu和管理设备之间通过上述消息实现带外或带内管理通信。
23.在一种可能的实现方式中,获取管理设备发送的请求读取和/或写入数据的第一消息,包括:通过以下一种或多种的硬件接口,获取管理设备发送的第一消息:系统管理总线smbus、高速串行总线pcie、通用异步收发传输器uart。
24.根据本技术实施例,可以实现管理设备与gpu之间的带外或带内管理通信,且通信过程无需依赖于私有硬件实现,应用更加广泛。
25.在一种可能的实现方式中,该方法还包括:获取管理设备发送的第三消息,第三消息用于确认响应于第一消息的执行状态;针对第三消息,向管理设备发送第四消息;将第二消息发送给管理设备,包括:在第四消息指示响应于第一消息的操作已执行完毕的情况下,接收管理设备发送的第五消息,第五消息用于请求图形处理器gpu返回第二消息;响应于第五消息,将第二消息发送给管理设备。
26.根据本技术实施例,通过gpu获取管理设备发送的轮询gpu执行状态的第三消息,并在返回指示执行完毕的第四消息后,响应于管理设备发送的请求返回第二消息的消息,将第二消息发送给管理设备,可以实现管理设备和gpu之间主-从通信方式下的带外或带内管理通信。
27.根据本公开的一方面,提供了一种图形处理器管理装置。该装置用于管理设备,该装置包括:第一获取模块,用于获取向图形处理器gpu请求读取和/或写入数据的第一消息;第一发送模块,用于将第一消息发送给图形处理器gpu;第一接收模块,用于接收图形处理器gpu返回的第二消息,第二消息为所述图形处理器gpu响应于所述第一消息执行相应的读取和/或写入数据操作后生成的,其中,所述第一消息和所述第二消息包括用于指示消息中是否包括智能平台管理接口ipmi消息的信息。
28.在一种可能的实现方式中,第一消息和第二消息包括读取和/或写入的数据,以及用于指示读取和/或写入的数据的长度的信息,其中,数据的长度为0-n中的任一值,n为正整数。
29.在一种可能的实现方式中,第一消息和第二消息还包括以下中的一项或多项:用于指示消息对应的带外管理命令类型的信息、用于指示数据传输方向的信息、
智能平台管理接口ipmi消息。
30.在一种可能的实现方式中,该第一发送模块,用于:通过以下一种或多种的硬件接口,将第一消息发送给图形处理器gpu:系统管理总线smbus、高速串行总线pcie、通用异步收发传输器uart。
31.在一种可能的实现方式中,该装置还包括:第三发送模块,用于向图形处理器gpu发送第三消息,第三消息用于确认图形处理器gpu响应于第一消息的执行状态;第二接收模块,用于接收图形处理器gpu针对第三消息返回的第四消息;第四发送模块,用于响应于第四消息,在第四消息指示图形处理器gpu响应于第一消息的操作已执行完毕的情况下,向图形处理器gpu发送第五消息,第五消息用于请求图形处理器gpu返回第二消息。
32.在一种可能的实现方式中,该第一获取模块,用于:通过局域网lan接口获取其他设备发送的向图形处理器gpu请求读取和/或写入数据的第一智能平台管理接口ipmi消息;将智能平台管理接口ipmi消息转换为第一消息;该装置还包括:转换模块,用于将第二消息转换为第二智能平台管理接口ipmi消息;返回模块,用于通过局域网lan接口向其他设备返回第二智能平台管理接口ipmi消息。
33.根据本公开的另一方面,提供了一种图形处理器管理装置。该装置用于图形处理器gpu,该装置包括:第二获取模块,用于获取管理设备发送的请求读取和/或写入数据的第一消息;生成模块,用于响应于第一消息,执行相应的读取和/或写入数据操作,生成第二消息;第二发送模块,用于将第二消息发送给管理设备,其中,第一消息和第二消息包括用于指示消息中是否包括智能平台管理接口ipmi消息的信息。
34.在一种可能的实现方式中,第一消息和第二消息包括读取和/或写入的数据,以及用于指示读取和/或写入的数据的长度的信息,其中,数据的长度为0-n中的任一值,n为正整数。
35.在一种可能的实现方式中,第一消息和第二消息还包括以下中的一项或多项:用于指示消息对应的带外管理命令类型的信息、用于指示数据传输方向的信息、智能平台管理接口ipmi消息。
36.在一种可能的实现方式中,第二获取模块,用于:通过以下一种或多种的硬件接口,获取管理设备发送的第一消息:系统管理总线smbus、高速串行总线pcie、通用异步收发传输器uart。
37.在一种可能的实现方式中,该装置还包括:第三获取模块,用于获取管理设备发送的第三消息,第三消息用于确认响应于第一消息的执行状态;第五发送模块,用于针对第三消息,向管理设备发送第四消息;
interface,ipmi)协议命令,通用度有限。
53.鉴于此,本技术提出了一种图形处理器管理方法。根据本技术的图形处理器管理方法,管理设备可以获取请求向gpu读取和/或写入数据的消息,并将该消息发送给gpu,gpu在响应于该消息,执行了相应操作后,可以生成相应的答复信息,并返回给管理设备,以完成带外或带内管理通信的过程,特别是在带外管理过程中,该过程不依赖于硬件实现,相对于现有的带外管理方式节约了成本。同时上述消息中可包括ipmi消息,从而在针对于gpu的管理过程中,能够实现兼容ipmi协议格式,更加灵活。
54.图1示出根据本技术一实施例的图形处理器管理系统的结构图。如图1所示,该图形处理器管理系统可包括管理设备和gpu。该管理设备可以是服务器、基板控制管理器(baseboard management controller,bmc)等。由于管理设备和gpu之间可通过相应硬件总线接口进行通信,该服务器可以是支持相应硬件接口(如系统管理总线(system management bus,smbus))的服务器。
55.该管理设备可包括应用层、操作系统(operating system,os)层和硬件接口层。其中,应用层中可包括相应的软件栈,可用于运行相应的边带管理(side-bound)应用软件,如图中可包括ipmi软件栈和其他边带管理软件栈,通过软件栈还可实现消息格式的转换,例如将ipmi消息格式转换为本技术实施例中的消息格式,为便于理解,以下将该种消息格式称为摩尔线程边带管理接口(moore thread gpu side bound management interface,msbmi)或者多协议gpu边带管理接口(multi-protocol gpu side bound management interface,msbmi)消息格式,以下简称为msbmi消息格式。该边带管理接口msbmi在软件上可以支持ipmi协议,也可以支持自定义的协议,详细可参见下述表1的msbmi消息格式的示例;该边带管理接口msbmi在硬件上可支持多种硬件接口协议,如smbus、高速串行总线(peripheral component interconnect express,pcie)、通用异步收发传输器(universal asynchronous receiver/transmitter,uart)等硬件接口协议,详细可参见图中硬件接口层。os层中可包括各种驱动程序,例如包括图中msbmi驱动、smbus主(master)驱动、其他驱动,其中,msbmi驱动可用于提供驱动接口给应用层中的边带管理应用软件,msbmi驱动可基于smbus主驱动或其他驱动实现,通过smbus主驱动或其他驱动对应的硬件接口可实现消息的收发,从而实现对gpu的边带管理。硬件接口层中可包括与驱动对应的各硬件接口,例如可包括与smbus主驱动对应的smbus主硬件接口、以及与其他硬件接口对应的其他硬件接口。
56.该gpu也可相应的包括应用层、os层和硬件接口层。其中,应用层中可包括相应的软件栈,如图中可包括ipmi软件栈和msbmi软件栈,可用于实现对msbmi消息的解析、处理,也可兼容实现对ipmi消息的解析、处理。os层中可包括各种驱动程序,例如包括图中smbus从(slave)驱动、其他驱动,其中,通过smbus从驱动或其他驱动对应的硬件接口可实现消息的收发。硬件接口层中可包括与驱动对应的各硬件接口,例如可包括与smbus从驱动对应的smbus从硬件接口、以及与其他硬件接口对应的其他硬件接口。
57.在管理设备与gpu进行边带管理通信的过程中,例如在管理设备向gpu发送边带管理请求消息时,管理设备可通过smbus主驱动对应的smbus主硬件接口向gpu发送消息,gpu返回答复消息时,可通过smbus从驱动对应的smbus从硬件接口向管理设备返回信息。可选地,也可通过如图中的其他驱动和对应的其他硬件接口实现上述过程。例如通过pcie、uart
等硬件接口和相应的驱动实现。
58.可选地,该图形处理器管理系统还可包括除其他管理设备。其他管理设备可以是服务器等,该其他管理设备可以通过局域网lan(local area network,lan)接口等方式向如图中的管理设备发送例如ipmi消息格式的带外管理请求,并接收返回的管理消息,从而可以通过管理设备实现对gpu的带外管理。
59.应理解,本技术实施例的管理系统可以用于带外管理,也可以用于带内管理,对此不作限制,后文以对gpu进行带外管理为例进行说明。
60.以下在图1所示的图形处理器管理系统的基础上,对本技术实施例的图形处理器管理方法进行详细的介绍。参见图2,示出根据本技术一实施例的图形处理器管理方法的流程图。如图2所示,该方法包括:步骤s201,管理设备获取向gpu请求读取和/或写入数据的第一消息。
61.该第一消息可以是针对gpu进行带外管理的消息,可以由图1中管理设备的应用层生成,例如第一消息为msbmi消息,由msbmi软件栈生成,第一消息也可以由ipmi消息通过软件栈转换而来的msbmi消息,在此情况下,可以直接将ipmi消息的命令数据放入msbmi格式的消息中,以实现消息的转换,后续gpu可以直接从第一消息中得到ipmi消息,从而实现对ipmi消息的兼容,msbmi消息格式的示例会在后续进行详细介绍。
62.其中,该第一消息可以是请求读取gpu状态数据(如gpu温度、电压、风扇转速、功耗等)的消息,或者,可以是请求写入数据的消息,如在进行网际协议(internet protocol,ip)网络设置时请求修改ip地址、子网掩码、默认网关等数据,第一消息中还可包括在修改后请求读取写入后的数据。
63.其中,该第一消息可包括用于指示消息中是否包括ipmi消息的信息,从而能够在第一消息中实现对ipmi消息的兼容。例如,第一消息中可包括用于指示消息中是否包括ipmi消息的标识,从而可以确定第一消息中是否包括ipmi消息,在第一消息中包括ipmi消息的情况下,gpu可以从第一消息中获取其中的ipmi消息,根据ipmi消息执行相应的操作。
64.可选地,该第一消息还可包括读取和/或写入的数据,以及用于指示读取和/或写入的数据的长度的信息。
65.其中,数据的长度可以是0-n中的任一值,n为正整数。例如,n可以是256,从而可以实现0-256字节的弹性缓存空间。
66.根据本技术实施例,可以实现消息长度灵活可变,提高了通信的效率。
67.可选地,该第一消息还可包括以下中的一项或多项:用于指示消息对应的带外管理命令类型的信息、用于指示数据传输方向的信息、智能平台管理接口ipmi消息。
68.根据本技术实施例,可以使得gpu和管理设备之间通过上述消息实现带外管理通信。
69.上述第一消息可以是msbmi消息格式的,以下的一个示例可参见表1,示出一种可能的msbmi消息格式。
70.表1命令类型数据方向输入数据长度输出数据长度数据如表1所示,命令类型可以对应于上述指示消息对应的带外管理命令类型的信息,
可占1字节,例如,值为0-255可以分别对应不同的带外管理命令类型,该带外管理命令类型可以是预先设定的,如包括查看gpu温度、查看gpu功耗、查看gpu温度、查看电压、查看告警信息等;该命令类型还可以对应于上述指示消息中是否包括ipmi消息的信息,例如,值为256可以表示第一消息的数据中包括ipmi命令数据。
71.数据方向可以对应于上述用于指示数据传输方向的信息,可占1字节,例如,值为0可表示数据为管理设备写入gpu的,值为1可表示数据为管理设备从gpu中读取的,值为2可表示管理设备先将数据写入gpu,在从gpu中读取写入后的数据。
72.输入数据长度可以对应于上述用于指示读取的数据的长度的信息,可占1字节,输入数据长度对应的值可以为0-n中的任一值。例如,可以是0-256中的任一值,在数据方向对应的值为0时,该长度可以为0,在数据方向对应的值为1或2时,该长度可以是1-256中的任一值。该输入数据长度可以根据命令类型确定,通过预先指示输入数据长度,相当于在消息的数据中预留出一个对应大小的缓存空间,使得后续gpu可以在对应的长度内返回对应的数据,更加灵活,且可以尽可能的通过一条消息即完成数据的传递,无需多次交换消息,使得通信过程更加高效,也不会造成空间的浪费。
73.输出数据长度可以对应于上述用于指示写入的数据的长度的信息,可占1字节,输出数据长度对应的值可以为0-n中的任一值。例如,可以是0-256中的任一值,在数据方向对应的值为1时,该长度可以为0,在数据方向对应的值为0或2时,该长度可以是1-256中的任一值。
74.数据中可以对应于上述读取和/或写入的数据,在命令类型的值为256的情况下,数据中还可以包括ipmi命令数据,数据的长度可以根据输入数据长度、输出数据长度、ipmi命令数据的总长度确定。
75.应理解,在上述msbmi消息格式中,各项的先后顺序可以改变,msbmi消息格式中还可以包括除上述项外的其他内容,例如包括时间戳等信息。
76.步骤s202,管理设备将第一消息发送给gpu。
77.其中,管理设备可以通过驱动层中的msbmi驱动调用其他驱动将第一消息发送给gpu。例如,可以通过msbmi驱动调用smbus主驱动、pcie驱动、uart驱动中的任一种,以将第一消息通过驱动对应的硬件接口发送给gpu。
78.可选地,该步骤s202,可包括:通过以下一种或多种的硬件接口,将第一消息发送给gpu:系统管理总线smbus、高速串行总线pcie、通用异步收发传输器uart。
79.根据本技术实施例,可以实现管理设备与gpu之间的带外或带内管理通信,且通信过程无需依赖于私有硬件实现,应用更加广泛。
80.例如,可以通过msbmi驱动调用smbus主驱动,从而可以将第一消息通过smbus主硬件接口发送给gpu,或者,可以通过msbmi驱动调用pcie驱动,从而可以将第一消息通过pcie硬件接口发送给gpu,又或者,可以通过msbmi驱动调用uart驱动,从而可以将第一消息通过uart硬件接口发送给gpu。
81.步骤s203,gpu获取管理设备发送的请求读取和/或写入数据的第一消息。
82.可选地,gpu可通过以下一种或多种的硬件接口,获取管理设备发送的第一消息:系统管理总线smbus、高速串行总线pcie、通用异步收发传输器uart。
83.例如,在管理设备将第一消息通过smbus主硬件接口发送给gpu的情况下,gpu可以
通过smbus从硬件接口接收管理设备发送的第一消息。
84.根据本技术实施例,可以实现管理设备与gpu之间的带外或带内管理通信,且通信过程无需依赖于私有硬件实现,应用更加广泛。
85.步骤s204,gpu响应于第一消息,执行相应的读取和/或写入数据操作,生成第二消息。
86.其中,gpu可以在应用层中对第一消息进行解析、分发处理,以分发给应用层中的对应软件栈。软件栈可根据第一消息的内容,执行相应的消息操作。例如,在指示第一消息中包括ipmi消息情况下,可提取出第一消息中ipmi命令数据,并分发给ipmi软件栈进行处理。
87.在执行了第一消息中相应的读取、写入数据操作后,可以生成相应的第二消息,可将第二消息存储在gpu的寄存器中,以待返回给管理设备。例如,在第一消息为请求读取数据的情况下,生成的第二消息可包括请求读取的数据;在第一消息为请求写入数据的情况下,生成的第二消息例如可包括请求写入数据是否成功的相关信息。
88.该第二消息可以是msbmi格式的消息,第二消息的消息格式可参见上述表1。该第二消息可包括用于指示消息中是否包括ipmi消息的信息。例如,第二消息还可由ipmi消息转换而来,即,gpu可通过ipmi软件栈生成相应的ipmi消息,并将该ipmi消息转换为msbmi格式的第二消息。
89.可选地,该第二消息还可包括读取和/或写入的数据,以及用于指示读取和/或写入的数据的长度的信息,其中,数据的长度为0-n中的任一值,n为正整数。
90.步骤s205,gpu将第二消息发送给管理设备。
91.可选地,gpu可调用相应的驱动,通过smbus从硬件接口、pcie硬件接口、uart硬件接口中的任一种,向管理设备发送第一消息。
92.可选地,在管理设备与gpu之间通过pcie硬件接口、uart硬件接口进行通信的情况下,可遵循中断的方式,即管理设备将第一消息发送给gpu时可作为中断请求,触发gpu中断处理机制,从而在gpu生成第二消息后,可以直接将第二消息发送给管理设备。
93.在此过程中,图3示出根据本技术一实施例的图形处理器管理方法的流程图。可选地,由于在通过smbus主-从硬件接口进行通信的过程中,管理设备与gpu之间可依据主-从通信方式进行通信,遵循主机轮询、从机应答的方式。即管理设备作为主机可向作为从机的gpu发送消息,而作为从机的gpu仅能对主机发送的消息进行应答或响应,因此,如图3所示,在步骤s201之后,管理设备将第一消息发送给gpu之后,该方法还可包括:步骤s301,管理设备向gpu发送第三消息。
94.其中,该第三消息可用于确认gpu响应于第一消息的执行状态。该第三消息可以是循环发送的,例如,可以每隔预定时间向gpu发送一次第三消息,以检测gpu响应于第一消息是否执行完毕。该第三消息可以是msbmi消息格式的,可参见表1,在此不再赘述。管理设备可通过smbus主硬件接口、pcie硬件接口、uart硬件接口中的任一种,向gpu发送第三消息。
95.步骤s302,gpu获取管理设备发送的第三消息。
96.其中,gpu可通过smbus从硬件接口、pcie硬件接口、uart硬件接口中的任一种,获取该第三消息。
97.步骤s303,gpu针对第三消息,向管理设备发送第四消息。
98.该第四消息可响应于第三消息生成,第四消息中可以包括gpu响应于第一消息的执行状态,例如gpu是否执行完成。对于循环发送的第三消息,可以响应于各第三消息分别生成对应的第四消息。该第四消息可以是msbmi消息格式的,可参见表1,在此不再赘述。gpu可以通过smbus从硬件接口、pcie硬件接口、uart硬件接口中的任一种,向管理设备发送第四消息。
99.步骤s304,管理设备接收gpu针对第三消息返回的第四消息。
100.管理设备可通过smbus主硬件接口、pcie硬件接口、uart硬件接口中的任一种,接收返回的第四消息。
101.在gpu执行完成后,可以在gpu中更新执行状态为完成,从而在gpu收到查看执行状态的第三消息时,生成对应的指示执行状态为完成的第四消息。
102.步骤s305,管理设备响应第四消息,在第四消息指示gpu响应于第一消息的操作已执行完毕的情况下,向gpu发送第五消息。
103.由于作为从机的gpu仅能对主机发送的消息进行应答或响应,因此,在gpu发送的第四消息中确认响应于第一消息已执行完毕时,管理设备可生成第五消息,用于请求gpu返回第二消息,该第二消息可以是对应于第一消息的答复消息。从而,gpu可响应于该第五消息进行应答,返回第二消息。该第五消息可以是msbmi消息格式的,可参见表1,在此不再赘述。管理设备可以通过smbus主硬件接口、pcie硬件接口、uart硬件接口中的任一种,向gpu发送第五消息。
104.上述步骤s205,可包括:步骤s306,在第四消息指示响应于第一消息的操作已执行完毕的情况下,gpu接收管理设备发送的第五消息。
105.gpu可以通过smbus从硬件接口、pcie硬件接口、uart硬件接口中的任一种,接收管理设备发送的第五消息。
106.步骤s307,gpu响应于第五消息,将第二消息发送给管理设备。
107.例如,gpu可响应第五消息,从gpu的寄存器中读取第二消息,发送给管理设备。
108.根据本技术实施例,通过管理设备发送第三消息轮询gpu的执行状态,并在gpu返回第四消息指示执行完毕时,管理设备向gpu发送返回第二消息的请求消息,可以实现管理设备和gpu之间主-从通信方式下的带外或带内管理通信。
109.返回参见图2,在gpu将第二消息发送给管理设备之后,步骤s206,管理设备接收gpu返回的第二消息。
110.管理设备可以通过smbus主硬件接口、pcie硬件接口、uart硬件接口中的任一种,接收gpu发送的第二消息。
111.根据本技术实施例,管理设备可以获取请求向gpu读取和/或写入数据的第一消息,并将该第一消息发送给gpu,gpu在响应于该第一消息,执行了相应操作后,可以生成相应的答复信息(即第二消息),并返回给管理设备,以完成带外或带内管理通信的过程,特别是在带外管理过程中,该过程不依赖于硬件实现,相对于现有的带外管理方式节约了成本。同时上述第一消息和第二消息中可包括ipmi消息,从而在针对于gpu的管理过程中,能够实现兼容ipmi协议格式,更加灵活。
112.可选地,管理设备还可以接收其他管理设备发送的管理消息,并根据管理消息生
成对应的第一消息,以对gpu进行管理。图4示出根据本技术一实施例的图形处理器管理方法的流程图。如图4所示,上述步骤s201,可包括:步骤s401,管理设备通过lan接口获取其他设备发送的向gpu请求读取和/或写入数据的第一ipmi消息。
113.该第一ipmi消息可以是用于对gpu进行带外管理的消息。
114.步骤s402,管理设备将第一ipmi消息转换为第一消息。
115.其中,可以通过管理设备中的应用层的软件栈,将第一ipmi消息转换为msbmi消息格式的第一消息。例如,可以使得第一消息中命令类型的值为256,并将第一ipmi消息的命令数据加入第一消息的数据中,从而实现对第一ipmi消息的兼容。
116.在执行完步骤s206,管理设备接收到gpu返回的第二消息之后,该方法可包括:步骤s403,管理设备将第二消息转换为第二ipmi消息。
117.由于第二消息为msbmi格式,可以通过管理设备中的应用层的软件栈,将msbmi消息格式的第二消息转换为ipmi消息格式,得到第二ipmi消息,从而可以将第二ipmi消息返回给相应的其他设备。
118.步骤s404,管理设备通过lan接口向其他设备返回第二ipmi消息。
119.根据本技术实施例,可以实现管理设备与gpu之间的带外或带内管理通信,且通信过程无需依赖于私有硬件实现,应用更加广泛。
120.图5示出根据本技术一实施例的图形处理器管理装置的结构图。该装置用于管理设备,如图5所示,该装置包括:第一获取模块501,用于获取向图形处理器gpu请求读取和/或写入数据的第一消息;第一发送模块502,用于将第一消息发送给图形处理器gpu;第一接收模块503,用于接收图形处理器gpu返回的第二消息,第二消息为所述图形处理器gpu响应于所述第一消息执行相应的读取和/或写入数据操作后生成的,其中,所述第一消息和所述第二消息包括用于指示消息中是否包括智能平台管理接口ipmi消息的信息。
121.根据本技术实施例,管理设备可以获取请求向gpu读取和/或写入数据的第一消息,并将该第一消息发送给gpu,gpu在响应于该第一消息,执行了相应操作后,管理设备可以接收gpu生成的相应的答复信息(即第二消息),以完成带外或带内管理通信的过程,特别是在带外管理过程中,该过程不依赖于硬件实现,相对于现有的带外管理方式节约了成本。同时上述第一消息和第二消息中可包括ipmi消息,从而在管理设备针对于gpu的管理过程中,能够实现兼容ipmi协议格式,更加灵活。
122.在一种可能的实现方式中,第一消息和第二消息包括读取和/或写入的数据,以及用于指示读取和/或写入的数据的长度的信息,其中,数据的长度为0-n中的任一值,n为正整数。
123.根据本技术实施例,可以实现通信过程中的消息的长度灵活可变,提高了通信的效率。
124.在一种可能的实现方式中,第一消息和第二消息还包括以下中的一项或多项:用于指示消息对应的带外管理命令类型的信息、用于指示数据传输方向的信息、
智能平台管理接口ipmi消息。
125.根据本技术实施例,可以使得gpu和管理设备之间通过上述消息实现带外或带内管理通信。
126.在一种可能的实现方式中,该第一发送模块502,用于:通过以下一种或多种的硬件接口,将第一消息发送给图形处理器gpu:系统管理总线smbus、高速串行总线pcie、通用异步收发传输器uart。
127.根据本技术实施例,可以实现管理设备与gpu之间的带外或带内管理通信,且通信过程无需依赖于私有硬件实现,应用更加广泛。
128.在一种可能的实现方式中,该装置还包括:第三发送模块,用于向图形处理器gpu发送第三消息,第三消息用于确认图形处理器gpu响应于第一消息的执行状态;第二接收模块,用于接收图形处理器gpu针对第三消息返回的第四消息;第四发送模块,用于响应于第四消息,在第四消息指示图形处理器gpu响应于第一消息的操作已执行完毕的情况下,向图形处理器gpu发送第五消息,第五消息用于请求图形处理器gpu返回第二消息。
129.根据本技术实施例,通过管理设备发送第三消息轮询gpu的执行状态,并在gpu返回第四消息指示执行完毕时,管理设备向gpu发送返回第二消息的请求消息,可以实现管理设备和gpu之间主-从通信方式下的带外或带内管理通信。
130.在一种可能的实现方式中,该第一获取模块501,用于:通过局域网lan接口获取其他设备发送的向图形处理器gpu请求读取和/或写入数据的第一智能平台管理接口ipmi消息;将智能平台管理接口ipmi消息转换为第一消息;该装置还包括:转换模块,用于将第二消息转换为第二智能平台管理接口ipmi消息;返回模块,用于通过局域网lan接口向其他设备返回第二智能平台管理接口ipmi消息。
131.根据本技术实施例,通过管理设备通过lan接口获取其他设备发送的第一ipmi消息,将其转换为第一消息,并在gpu答复第二消息后向其他设备返回转换后的第二ipmi消息,可以实现其他设备与gpu的远程的带外管理通信。
132.图6示出根据本技术一实施例的图形处理器管理装置的结构图。该装置用于图形处理器gpu,如图6所示,该装置包括:第二获取模块601,用于获取管理设备发送的请求读取和/或写入数据的第一消息;生成模块602,用于响应于第一消息,执行相应的读取和/或写入数据操作,生成第二消息;第二发送模块603,用于将第二消息发送给管理设备,其中,第一消息和第二消息包括用于指示消息中是否包括智能平台管理接口ipmi消息的信息。
133.根据本技术实施例,gpu可以获取管理设备发送请求读取和/或写入数据的第一消息,并响应于该第一消息,执行了相应操作后,可以生成相应的答复信息(即第二消息),并
返回给管理设备,以完成带外或带内管理通信的过程,特别是在带外管理过程中,该过程不依赖于硬件实现,相对于现有的带外管理方式节约了成本。同时上述第一消息和第二消息中可包括ipmi消息,从而在管理设备针对于gpu的管理过程中,能够实现兼容ipmi协议格式,更加灵活。
134.在一种可能的实现方式中,第一消息和第二消息包括读取和/或写入的数据,以及用于指示读取和/或写入的数据的长度的信息,其中,数据的长度为0-n中的任一值,n为正整数。
135.根据本技术实施例,可以实现通信过程中的消息的长度灵活可变,提高了通信的效率。
136.在一种可能的实现方式中,第一消息和第二消息还包括以下中的一项或多项:用于指示消息对应的带外管理命令类型的信息、用于指示数据传输方向的信息、智能平台管理接口ipmi消息。
137.根据本技术实施例,可以使得gpu和管理设备之间通过上述消息实现带外或带内管理通信。
138.在一种可能的实现方式中,第二获取模块601,用于:通过以下一种或多种的硬件接口,获取管理设备发送的第一消息:系统管理总线smbus、高速串行总线pcie、通用异步收发传输器uart。
139.根据本技术实施例,可以实现管理设备与gpu之间的带外或带内管理通信,且通信过程无需依赖于私有硬件实现,应用更加广泛。
140.在一种可能的实现方式中,该装置还包括:第三获取模块,用于获取管理设备发送的第三消息,第三消息用于确认响应于第一消息的执行状态;第五发送模块,用于针对第三消息,向管理设备发送第四消息;第二发送模块,用于:在第四消息指示响应于第一消息的操作已执行完毕的情况下,接收管理设备发送的第五消息,第五消息用于请求图形处理器gpu返回第二消息;响应于第五消息,将第二消息发送给管理设备。
141.根据本技术实施例,通过gpu获取管理设备发送的轮询gpu执行状态的第三消息,并在返回指示执行完毕的第四消息后,响应于管理设备发送的请求返回第二消息的消息,将第二消息发送给管理设备,可以实现管理设备和gpu之间主-从通信方式下的带外或带内管理通信。
142.在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
143.本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
144.本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
145.本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
146.本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
147.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
148.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
149.用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
150.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
151.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功
能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
152.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
153.附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
154.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1