A method and apparatus for managing a server GPU device
By writing GPU device information into H2B PCIE shared memory during the BIOS boot phase and using BMC callback functions to directly obtain monitoring information from shared memory, the problem of low GPU management efficiency in existing technologies is solved, and a faster information acquisition and monitoring process is achieved.
Patent Information
- Application Number
- CN202511557005.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-29
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2045-10-29
AI Technical Summary
In existing technologies, the management of graphics processing units (GPUs) suffers from problems such as scattered monitoring information, long monitoring processes, difficulty in unifying information acquisition interface functions, and processing speed being limited by the management bus links.
During the boot phase, the Basic Input/Output System (BIOS) directly writes GPU device information to the H2B PCIe shared memory. The Baseboard Management Controller (BMC) obtains static and extended asset information through the H2B PCIe shared memory and uses callback functions to directly obtain and feedback monitoring information from the shared memory, reducing physical bus link dependencies.
It improves the speed of acquiring monitoring information from GPU devices, shortens the time for acquiring basic information, and enables a more efficient monitoring and management process.
Smart Images

Figure CN121029259B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of servers, and particularly relates to a management method and device for a server GPU device. BACKGROUND
[0002] With the rapid development of artificial intelligence, high-performance computing and large model training, the management efficiency of a graphics processing unit (GPU) as a core computing resource directly affects the competitiveness of an enterprise. However, in the actual application of a server, the management of the GPU still has great challenges. Currently, the definition of an out-of-band management interface protocol of the GPU by GPU manufacturers is different, which leads to the difficulty of unified GPU device information monitoring and management for a server manufacturer when monitoring and managing the GPU. In addition, the method for cooperating and interacting between a basic input / output system (BIOS) and a baseboard management controller (BMC) to manage the GPU has a low efficiency, which directly affects the monitoring and management efficiency of the GPU.
[0003] The existing GPU device information management scheme first collects all device asset information by the BIOS, and then transfers the information to the BMC through an IPMI command or a redfish transmission mode. The BMC stores the information in its own database after receiving the information. Then, the GPU monitoring and management module of the BMC queries the location information of the externally connected GPU device by using a database interface API. Finally, the monitoring and management module starts polling and monitoring according to the queried information. For a general remote client, if the monitoring information of the GPU is needed, a request is first initiated through the interface of the BMC. Then, the BMC background module captures information from the database of the BMC or the GPU management module according to different requirements, and finally returns the information.
[0004] The existing GPU device information management scheme has the problems of scattered GPU monitoring information, long monitoring process, difficult unified information acquisition interface function, and limited processing speed due to the management bus link of the management module to the GPU. SUMMARY
[0005] The application provides a management method and device for a server GPU device, and aims to at least solve one of the technical problems in the prior art.
[0006] The technical scheme of the application relates to a management method for a server GPU device, which includes the following steps:
[0007] After the S100 server is powered on, the Basic Input / Output System BIOS writes the GPU static asset information through H2B PCIE shared memory.
[0008] The S200 and Baseboard Management Controller (BMC) obtain GPU static asset information and extended static asset information of GPU devices through H2B PCIE shared memory, and poll each GPU device.
[0009] S300. If a remote client initiates a request to obtain information about the GPU device, the server's NorthboundInterface obtains and returns the GPU device information through a callback function.
[0010] Furthermore, step S100 includes:
[0011] S110. After the server is powered on, the Basic Input / Output System BIOS starts and automatically performs initialization operations.
[0012] S120, the Basic Input / Output System BIOS polls and initializes all PCIe devices connected to the motherboard;
[0013] S130. If the PCIe device being polled is a GPU device, the Basic Input / Output System BIOS reads and collects the GPU static asset information.
[0014] S140. Based on the interactive information protocol, the BIOS of the basic input / output system writes the GPU static asset information into the H2B PCIE shared memory.
[0015] Furthermore, in step S130, the number of GPU devices is at least one.
[0016] Furthermore, in step S130, the GPU static asset information includes at least the device ID (DID), vendor ID (VID), sub-device ID (SDID), sub-vendor ID (SVID), and device bandwidth.
[0017] Furthermore, step S200 includes:
[0018] S210, The Baseboard Management Controller (BMC) starts and performs H2B PCIE shared memory initialization.
[0019] S220. If the server is powered on and the Basic Input / Output System BIOS has written the GPU static asset information to the H2B PCIE shared memory, the Card Management Module of the Baseboard Management Controller (BMC) reads the GPU static asset information and location information from the H2B PCIE shared memory.
[0020] S230. Based on the GPU static asset information and location information, the card management module of the Baseboard Management Controller (BMC) calls the corresponding GPU device's manufacturer interface library to read the extended static asset information and write it to the H2B PCIE shared memory.
[0021] S240. Based on the GPU static asset information, extended static asset information and location information, the card management module of the Baseboard Management Controller (BMC) calls the corresponding GPU device's manufacturer interface library to perform polling and dynamic information monitoring operations on the GPU device.
[0022] S250, based on the interactive information protocol, the card management module of the Baseboard Management Controller (BMC) writes the acquired extended static asset information into the H2B PCIE shared memory, which together with the static asset information written by the Basic Input / Output System (BIOS) forms a GPU device information pool.
[0023] S260. If the server is powered on, proceed to step S240 and continue executing steps S240 to S260; if the server is powered off or not in service, proceed to step S220 and continue executing steps S220 to S260.
[0024] Furthermore, step S300 includes:
[0025] S310. If a request for information about the GPU device is received from a remote client, the server's Northbound Interface calls a callback function to analyze the information type and fields of the request.
[0026] S320: The callback function converts the address of the H2B PCIE shared memory corresponding to the GPU device according to the address table of the H2B PCIE shared memory.
[0027] S330: Read the target GPU device information and respond to the information acquisition request;
[0028] S340: Remote client obtains GPU device information and monitors it.
[0029] Furthermore, in step S310,
[0030] The information retrieval request may be obtained through a combination of one or more of the following: a web network communication interface using the HTTP / HTTPS protocol, a Simple Network Management Protocol (SNMP) interface, a standard protocol Redfish interface using RESTful API, and an IPMI (Intelligent Platform Management Interface) interface.
[0031] Furthermore, the present invention also proposes a management device for a server GPU device, comprising:
[0032] The number of GPU devices is at least one, and the GPU device is mounted on the motherboard of the server and electrically connected to the motherboard of the server through a PCIe interface;
[0033] The baseboard management controller (BMC) is provided with H2B PCIe shared memory for communicating with the server's basic input / output system (BIOS) and a card management module for communicating with the GPU device.
[0034] A remote client, which is electrically connected to the baseboard management controller (BMC).
[0035] Furthermore, the present invention also proposes a computer-readable storage medium storing program instructions thereon, which, when executed by a processor, implement the server GPU device management method described above.
[0036] Compared with existing technologies, the present invention has the following characteristics:
[0037] This invention provides a management method for server GPU devices. Leveraging the interaction between the Base Input / Output System (BMC) and the Basic Input / Output System (BIOS) via H2B PCIe shared memory, the BIOS prioritizes transferring GPU device information to a predefined GPU device information area shared with the BMC during startup, shortening the time from BIOS startup to the BMC obtaining the basic GPU device information. Furthermore, the BMC's GPU management module obtains initial GPU device information via direct memory access and initiates out-of-band monitoring polling, directly updating the monitoring information to the corresponding shared memory information table according to the required update frequency. For client requests for GPU device monitoring information, the BMC directly retrieves and returns the information from shared memory via a callback function, without needing to go through the actual physical bus link of the GPU monitoring module, significantly improving the speed of monitoring information acquisition. Attached Figure Description
[0038] Figure 1 This is a flowchart of the server GPU device management method.
[0039] Figure 2 This is a flowchart illustrating the process of writing GPU device information into the BIOS during the management of server GPU devices.
[0040] Figure 3 This is a schematic diagram illustrating the process of BMC monitoring and collecting GPU device information in the management method of server GPU devices.
[0041] Figure 4 This is a flowchart illustrating the process of remotely acquiring and monitoring GPU device information from out-of-band sources in the management of server GPU devices.
[0042] Figure 5 This is an example of single-GPU monitoring in the management methods for server GPU devices.
[0043] Figure 6 This section presents three instances of GPU monitoring in the management methods for server GPU devices.
[0044] Figure 7 This is a schematic diagram illustrating the management method for server GPU devices. Detailed Implementation
[0045] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0046] The following will provide a clear and complete description of the concept, specific structure, and technical effects of the present invention in conjunction with the embodiments and accompanying drawings, so as to fully understand the purpose, solution, and effects of the present invention.
[0047] It should be noted that, unless otherwise specified, when a feature is referred to as "fixed" or "connected" to another feature, it can be directly fixed or connected to the other feature, or indirectly fixed or connected to the other feature. The singular forms "a," "described," and "the" used herein are also intended to include the plural forms, unless the context clearly indicates otherwise. Furthermore, unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in this specification is for the purpose of describing particular embodiments only and not for limiting the invention. The term "and / or" as used herein includes any combination of one or more of the associated listed items.
[0048] It should be understood that although the terms first, second, third, etc., may be used in this disclosure to describe various elements, these elements should not be limited to these terms. These terms are only used to distinguish elements of the same type from one another. For example, a first element may also be referred to as a second element without departing from the scope of this disclosure, and similarly, a second element may also be referred to as a first element. Any and all instances or exemplary language (“e.g.,” “such as,” etc.) provided herein are intended only to better illustrate embodiments of the invention and, unless otherwise required, do not impose a limitation on the scope of the invention.
[0049] Reference Figures 1 to 7 This invention provides a method and apparatus for managing server GPU devices, as described in the embodiments below. Figure 1 The management method for the server GPU device includes the following steps:
[0050] After the S100 server is powered on, the Basic Input / Output System BIOS writes the GPU static asset information through H2B PCIE shared memory.
[0051] The S200 and Baseboard Management Controller (BMC) obtain GPU static asset information and extended static asset information of GPU devices through H2B PCIE shared memory, and poll each GPU device.
[0052] S300. If a remote client initiates a request to obtain information about the GPU device, the server's NorthboundInterface obtains and returns the GPU device information through a callback function.
[0053] Specifically, the server GPU device management method includes three parts: writing GPU device information into the Basic Input / Output System (BIOS), monitoring and collecting GPU device information by the Baseboard Management Controller (BMC), and remotely acquiring GPU device information from out-of-band monitoring.
[0054] Compared with existing technologies, the present invention has the following characteristics:
[0055] This invention provides a management method for server GPU devices. Leveraging the interaction between the Base Input / Output System (BMC) and the Basic Input / Output System (BIOS) via H2B PCIe shared memory, the BIOS prioritizes transferring GPU device information to a predefined GPU device information area shared with the BMC during startup, shortening the time from BIOS startup to the BMC obtaining the basic GPU device information. Furthermore, the BMC's GPU management module obtains initial GPU device information via direct memory access and initiates out-of-band monitoring polling, directly updating the monitoring information to the corresponding shared memory information table according to the required update frequency. For client requests for GPU device monitoring information, the BMC directly retrieves and returns the information from shared memory via a callback function, without needing to go through the actual physical bus link of the GPU monitoring module, significantly improving the speed of monitoring information acquisition.
[0056] The Chinese meanings of the English abbreviations of this invention are as follows:
[0057] GPU: Graphics Processing Unit.
[0058] H2B: Host to BMC. The host interacts with the Baseboard Management Controller (BMC). The BMC shares memory with the host via PCIe.
[0059] BMC: Baseboard Management Controller.
[0060] BIOS: Basic Input / Output System.
[0061] SNMP: Simple Network Management Protocol.
[0062] DID: Device ID.
[0063] VID: Vendor ID.
[0064] SVID: Sub device ID.
[0065] SVID: Sub vendor ID.
[0066] Furthermore, refer to Figures 1 to 2 Step S100 includes:
[0067] S110. After the server is powered on, the Basic Input / Output System BIOS starts and automatically performs initialization operations.
[0068] S120, the Basic Input / Output System BIOS polls and initializes all PCIe devices connected to the motherboard;
[0069] S130. If the PCIe device being polled is a GPU device, the Basic Input / Output System BIOS reads and collects the GPU static asset information.
[0070] S140. Based on the interactive information protocol, the BIOS of the basic input / output system writes the GPU static asset information into the H2B PCIE shared memory.
[0071] In a specific embodiment, step S100, which involves writing GPU device information into the Basic Input / Output System BIOS, mainly includes the following sub-steps: the Basic Input / Output System BIOS starts and initializes; the Basic Input / Output System BIOS polls and initializes PCIe devices; if the polled PCIe device is a GPU device, the Basic Input / Output System BIOS reads and collects GPU device information (Device ID, DID, Vendor ID, VID, Sub-device ID, SDID, Sub-vendor ID, SVID, device bandwidth, etc.); the Basic Input / Output System BIOS writes the GPU device information into the H2B PCIe shared memory according to the interactive information protocol definition.
[0072] Furthermore, refer to Figures 1 to 2 In step S130, the number of GPU devices is at least one.
[0073] Furthermore, in step S130, the GPU static asset information includes at least the device ID (DID), vendor ID (VID), sub-device ID (SDID), sub-vendor ID (SVID), and device bandwidth.
[0074] Furthermore, refer to Figure 1 and Figure 3 Step S200 includes:
[0075] S210, The Baseboard Management Controller (BMC) starts and performs H2B PCIE shared memory initialization.
[0076] S220. If the server is powered on and the Basic Input / Output System BIOS has written the GPU static asset information to the H2B PCIE shared memory, the Card Management Module of the Baseboard Management Controller (BMC) reads the GPU static asset information and location information from the H2B PCIE shared memory.
[0077] S230. Based on the GPU static asset information and location information, the card management module of the Baseboard Management Controller (BMC) calls the corresponding GPU device's manufacturer interface library to read the extended static asset information and write it to the H2B PCIE shared memory.
[0078] S240. Based on the GPU static asset information, extended static asset information and location information, the card management module of the Baseboard Management Controller (BMC) calls the corresponding GPU device's manufacturer interface library to perform polling and dynamic information monitoring operations on the GPU device.
[0079] S250, based on the interactive information protocol, the card management module of the Baseboard Management Controller (BMC) writes the acquired extended static asset information into the H2B PCIE shared memory, which together with the static asset information written by the Basic Input / Output System (BIOS) forms a GPU device information pool.
[0080] S260. If the server is powered on, proceed to step S240 and continue executing steps S240 to S260; if the server is powered off or not in service, proceed to step S220 and continue executing steps S220 to S260.
[0081] In a specific embodiment, step S200 involves the Baseboard Management Controller (BMC) monitoring and collecting GPU device information, which mainly includes the following sub-steps: The BMC starts up and initializes the H2B PCIe shared memory device; if the server is powered on and the Basic Input / Output System (BIOS) has written the GPU static asset information to the H2B PCIe shared memory, the BMC card management module obtains the card device's four-tuple information (Device ID, DID, Vendor ID, VID, Sub-device ID, SDID, Sub-vendor ID, SVID) and location information from the shared memory. The card management module calls the corresponding card vendor's interface library to read extended static asset information based on the four-tuple information and location information, and writes it to the H2B shared memory according to the GPU information definition table. The BMC card management module then calls the corresponding card vendor's interface library to begin polling the GPU card's dynamic information monitoring based on the four-tuple information and location information. The acquired GPU information is written to H2B PCIe shared memory defined according to the interactive information protocol, forming a GPU device information pool together with the static asset information written by the basic input / output system BIOS. Depending on whether the server host is powered on, the process jumps to step S220 or S260, repeating the sub-steps under step S200 to achieve persistent updates of the GPU device information.
[0082] Furthermore, refer to Figure 1 andFigure 4 Step S300 includes:
[0083] S310. If a request for information about the GPU device is received from a remote client, the server's Northbound Interface calls a callback function to analyze the information type and fields of the request.
[0084] S320: The callback function converts the address of the H2B PCIE shared memory corresponding to the GPU device according to the address table of the H2B PCIE shared memory.
[0085] S330: Read the target GPU device information and respond to the information acquisition request;
[0086] S340: Remote client obtains GPU device information and monitors it.
[0087] In a specific embodiment, step S300 is to remotely acquire GPU device information for monitoring, which mainly includes the following sub-steps: the remote client initiates a GPU device information acquisition request (web, SNMP, Redfish, IPMI, etc. protocol interfaces); the northbound interface calls a callback function to process and analyze the request information type and fields; the callback function processes and analyzes the request information type and fields, and converts the corresponding shared memory address of the GPU information according to the GPU information shared memory address table.
[0088] S304: Reads the destination GPU device information from shared memory and returns the request response information.
[0089] Furthermore, refer to Figure 1 and Figure 4 In step S310,
[0090] The information retrieval request may be obtained through a combination of one or more of the following: a web network communication interface using the HTTP / HTTPS protocol, a Simple Network Management Protocol (SNMP) interface, a standard protocol Redfish interface using RESTful API, and an IPMI (Intelligent Platform Management Interface) interface.
[0091] Reference Figure 5 In one specific embodiment, the present invention also proposes an example for managing and monitoring single-GPU device instances.
[0092] 1) The BIOS determines whether a device is a GPU device by checking whether the device type code Config->ClassCode[2] == 0x03 in the PCIe configuration space is satisfied.
[0093] 2) BIOS collects GPU information and returns data structure definitions:
[0094] typedef struct {
[0095] UINT8 Flag;
[0096] UINT16 Did;
[0097] UINT16 Vid;
[0098] UINT16 Sdid;
[0099] UINT16 Svid;
[0100] CHAR8 Mfg
[16] ;
[0101] CHAR8 Chip
[16] ;
[0102] UINT8 Slot;
[0103] CHAR8 Desc
[64] ;
[0104] CHAR8 Model
[24] ;
[0105] UINT8 LanesUse;
[0106] UINT8 LanesMax;
[0107] UINT8 SpeedUse;
[0108] UINT8 SpeedMax;
[0109] UINT32 Bdf;
[0110] UINT8 Reserved
[374] ;
[0111] GPU_INFO_ENTRY;
[0112] 3) The BIOS reads the base address from the H2B device BAR, which is 0x95000000 in this example. It writes the data to the shared memory by offset via MMIO and updates the BiosSetStatus field to 1.
[0113] 4) When the BMC detects that the data at address 0x95000000 (BiosSetStatus) is 1, it means that the BIOS has completed the data writing and the BMC starts the GPU monitoring process.
[0114] 5) The BMC detects that address 0x95000002 (GpuNum) contains 1, indicating that one GPU is currently in place. It then initiates a GPU data collection polling thread, reading Vid=0x10de, Did=0x25b6, Svid=0x10de, and Svid=0x157e. By comparing this with the manufacturer's device datasheet, it identifies the GPU as an NVIDIA A2 card. It then calls the manufacturer's out-of-band management interface library to read data. The structure of the data collection return information is defined as follows (out-of-band reading updates part of the BMC data; BIOS data is directly read from shared memory):
[0115] typedef struct {
[0116] INT8U Flag;
[0117] INT16U Did;
[0118] INT16U Vid;
[0119] INT16U Sdid;
[0120] INT16U Svid;
[0121] char Mfg
[16] ;
[0122] char Chip
[16] ;
[0123] char Slot;
[0124] char Desc
[64] ;
[0125] char Model
[24] ;
[0126] INT8U LanesUse;
[0127] INT8U LanesMax;
[0128] INT8U SpeedUse;
[0129] INT8U SpeedMax;
[0130] INT32U Bdf;
[0131] char version
[16] ;
[0132] char sn
[64] ;
[0133] char pn
[64] ;
[0134] INT16U temp;
[0135] INT16U tempMax;
[0136] INT16U tempHBM;
[0137] INT16U power;
[0138] INT16U TDP;
[0139] INT16U healthStatus;
[0140] INT16U HBMstatus;
[0141] INT8U Reserved
[216] ;
[0142] GPU_INFO_ENTRY;
[0143] 6) Remotely read GPU information via IPMI command. In this example, the IPMI command is `ipmitool raw 0x3c0x55 0x0`, where 0x3c is the network function code, 0x55 is the command code, and 0x0 is the GPU number. After receiving this command, the BMC executes the command processing and directly accesses the H2B shared memory using the `mmap_read8((H2B_ADDR_BASE + offset), &value)` function. In this example, `H2B_ADDR_BASE` is 0x95000000. It checks that the data read from address 0x95000001 is 1, indicating that the BMC has completed the write operation. Then, it starts reading the returned GPU data table data based on the number of GPUs and the requested GPU number. If the GPU number is greater than the actual number of GPUs, it returns a read parameter error.
[0144] Reference Figure 6 In one specific embodiment, the present invention also proposes a method for managing and monitoring instances with three GPUs. The main differences in the processing flow between three or more GPUs are as follows:
[0145] 1) When the BIOS processes PCIe polling, it writes data to the GPU according to the GPU shared information table defined data storage address based on the order of GPU identification.
[0146] 2) When the BMC reads and recognizes multiple GPUs, it reads out-of-band management information in sequence according to the GPU information.
[0147] Furthermore, refer to Figure 7 The present invention also proposes a management device for a server GPU device, comprising:
[0148] The number of GPU devices is at least one, and the GPU device is mounted on the motherboard of the server and electrically connected to the motherboard of the server through a PCIe interface;
[0149] The baseboard management controller (BMC) is provided with H2B PCIe shared memory for communicating with the server's basic input / output system (BIOS) and a card management module for communicating with the GPU device.
[0150] A remote client, which is electrically connected to the baseboard management controller (BMC).
[0151] Furthermore, the present invention also proposes a computer-readable storage medium storing program instructions thereon, which, when executed by a processor, implement the server GPU device management method described above.
[0152] It should be understood that the method steps in the embodiments of the present invention can be implemented or carried out by computer hardware, a combination of hardware and software, or by computer instructions stored in a non-transitory computer-readable storage medium. The method can use standard programming techniques. Each program can be implemented in a high-level procedural or object-oriented programming language to communicate with the computer system. However, if necessary, the program can be implemented in assembly or machine language. In any case, the language can be a compiled or interpreted language. Furthermore, for this purpose, the program can run on a programmed application-specific integrated circuit (ASIC).
[0153] Furthermore, the procedures described herein may be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by the context. The procedures described herein (or variations and / or combinations thereof) may be executed under the control of one or more computer systems configured with executable instructions, and may be implemented by hardware or a combination thereof as code (e.g., executable instructions, one or more computer programs, or one or more applications) that commonly executes on one or more processors. The computer program comprises a plurality of instructions executable by one or more processors.
[0154] Furthermore, the method can be implemented in any suitable type of computing platform, including but not limited to personal computers, minicomputers, mainframes, workstations, networked or distributed computing environments, standalone or integrated computer platforms, or in communication with charged particle tools or other imaging devices, etc. Aspects of the invention can be implemented as machine-readable code stored on a non-transitory storage medium or device, whether removable or integrated into a computing platform, such as a hard disk, optical read and / or write storage medium, RAM, ROM, etc., such that it is readable by a programmable computer, and when the storage medium or device is read by the computer, it can be used to configure and operate the computer to perform the processes described herein. Furthermore, the machine-readable code, or portions thereof, can be transmitted via wired or wireless networks. The invention described herein includes these and other different types of non-transitory computer-readable storage media when such media comprises instructions or programs that implement the steps described above in conjunction with a microprocessor or other data processor. When programmed according to the methods and techniques described in the invention, the invention may also include the computer itself.
[0155] A computer program can be applied to input data to perform the functions described herein, thereby transforming the input data to generate output data stored in non-volatile memory. The output information can also be applied to one or more output devices, such as a display. In a preferred embodiment of the invention, the transformed data represents physical and tangible objects, including specific visual depictions of physical and tangible objects generated on the display.
[0156] The above description is merely a preferred embodiment of the present invention. The present invention is not limited to the above-described embodiments. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention, as long as they achieve the technical effects of the present invention by the same means, should be included within the scope of protection of the present invention. Within the scope of protection of the present invention, the technical solutions and / or implementation methods can have various modifications and variations.
Claims
1. A method for managing server GPU devices, characterized in that, The method for managing server GPU devices includes the following steps: After the S100 server is powered on, the Basic Input / Output System BIOS writes the GPU static asset information through H2B PCIE shared memory. The S200 and Baseboard Management Controller (BMC) obtain GPU static asset information and extended static asset information of GPU devices through H2B PCIE shared memory, and poll each GPU device. Step S200 includes: S210, The Baseboard Management Controller (BMC) starts and performs H2B PCIE shared memory initialization. S220. If the server is powered on and the Basic Input / Output System BIOS has written the GPU static asset information to the H2B PCIE shared memory, the Card Management Module of the Baseboard Management Controller (BMC) reads the GPU static asset information and location information from the H2B PCIE shared memory. S230. Based on the GPU static asset information and location information, the card management module of the Baseboard Management Controller (BMC) calls the corresponding GPU device's manufacturer interface library to read the extended static asset information and write it to the H2B PCIE shared memory. S240. Based on the GPU static asset information, extended static asset information and location information, the card management module of the Baseboard Management Controller (BMC) calls the corresponding GPU device's manufacturer interface library to perform polling and dynamic information monitoring operations on the GPU device. S250, based on the interactive information protocol, the card management module of the Baseboard Management Controller (BMC) writes the acquired extended static asset information into the H2B PCIE shared memory, which together with the static asset information written by the Basic Input / Output System (BIOS) forms a GPU device information pool. S260. If the server is powered on, proceed to step S240 and continue executing steps S240 to S260; if the server is powered off or not in service, proceed to step S220 and continue executing steps S220 to S260. S300. If a remote client initiates a request to obtain information about the GPU device, the server's northbound interface obtains and returns the GPU device information through a callback function.
2. The server GPU device management method according to claim 1, characterized in that, Step S100 includes: S110. After the server is powered on, the Basic Input / Output System BIOS starts and automatically performs initialization operations. S120, the Basic Input / Output System BIOS polls and initializes all PCIe devices connected to the motherboard; S130. If the PCIe device being polled is a GPU device, the Basic Input / Output System BIOS reads and collects the GPU static asset information. S140. Based on the interactive information protocol, the BIOS of the basic input / output system writes the GPU static asset information into the H2BPCIE shared memory.
3. The server GPU device management method according to claim 2, characterized in that, In step S130, the number of GPU devices is at least one.
4. The server GPU device management method according to claim 2, characterized in that, In step S130, the GPU static asset information includes at least the device ID, vendor ID, sub-device ID, sub-vendor ID, and device bandwidth.
5. The server GPU device management method according to claim 1, characterized in that, Step S300 includes: S310. If a request to obtain information about the GPU device is received from a remote client, the server's northbound interface calls a callback function to analyze the information type and fields of the request. S320: The callback function converts the address of the H2B PCIE shared memory corresponding to the GPU device according to the address table of the H2B PCIE shared memory. S330: Read the target GPU device information and respond to the information acquisition request; S340: Remote client obtains GPU device information and monitors it.
6. The method for managing server GPU devices according to claim 5, characterized in that, In step S310, The information retrieval request may be obtained through a combination of one or more of the following: a web network communication interface using the HTTP / HTTPS protocol, a Simple Network Management Protocol (SNMP) interface, a standard protocol Redfish interface using RESTful API, and an IPMI interface.
7. A management device for a server GPU device, used to implement the management method for a server GPU device as described in any one of claims 1 to 6, characterized in that, include: The number of GPU devices is at least one, and the GPU device is mounted on the motherboard of the server and electrically connected to the motherboard of the server through a PCIe interface; The baseboard management controller (BMC) is provided with H2B PCIe shared memory for communicating with the server's basic input / output system (BIOS) and a card management module for communicating with the GPU device. A remote client, which is electrically connected to the baseboard management controller (BMC).
8. A computer-readable storage medium having program instructions stored thereon, characterized in that, When the program instructions are executed by the processor, the server GPU device management method as described in any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Firmware interaction method and device, server and storage medium
CN115543466A
Information processing method and device, electronic equipment and storage medium
CN117687695A