Upgrade method, upgrade device and computer readable storage medium of graphics processor
By storing preset upgrade strategies on disk and automatically determining the target strategy based on the initial version number, the problem of manual analysis when upgrading firmware for different GPU versions is solved, realizing automated upgrades of graphics processors and improving efficiency and reliability.
Patent Information
- Application Number
- CN202310081263.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-03
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2043-02-03
AI Technical Summary
In existing technologies, firmware upgrades for different GPU versions require manual analysis of upgrade strategies, resulting in high upgrade difficulty, low efficiency, and a high risk of human error. This is especially problematic in server assembly plants, where the process is cumbersome and impacts production efficiency.
By storing multiple preset upgrade strategies on the disk, each strategy corresponds to a version number range. The target version number range is determined based on the initial version number, thereby automatically determining the target upgrade strategy and using that strategy to upgrade the graphics processor. This includes multiple sets of upgrade sub-strategies and their order, automatically controlling server operations and avoiding manual intervention.
It enables automated firmware upgrades for different GPU versions, improving upgrade efficiency, reducing human error, simplifying the operation process, and enhancing server productivity.
Smart Images

Figure CN116243948B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computers, and more specifically, to a method, apparatus, computer-readable storage medium, and system for upgrading a graphics processor. Background Technology
[0002] With the development of AI (Artificial Intelligence), AI servers are becoming increasingly common. Server assembly plants often need to upgrade the firmware of the high-end GPUs (Graphics Processing Units) that run on these AI servers. GPU firmware mainly includes VBIOS, NVSWITCH, PCI ESWITCH, CEC, FPGA, and other components. Furthermore, the high-end GPUs used in AI servers are becoming increasingly complex, sometimes even comparable to a server in size, making firmware upgrades for these GPUs increasingly complex as well.
[0003] Disadvantages of existing technology:
[0004] 1) Since the purchased GPUs may have multiple versions, the types of firmware to be upgraded and the upgrade versions of the firmware are different for different versions of GPUs. That is, when upgrading different versions of GPUs, it is necessary to manually analyze the corresponding upgrade strategies, which requires a high level of technical ability from the operators and increases the difficulty of the upgrade.
[0005] 2) In server assembly plants, it is often necessary to manually connect a laptop directly to the AI server to upgrade each firmware of the GPU one by one.
[0006] 3) When the graphics processor version is very low, upgrading the same firmware requires manually flashing multiple transitional versions, which is tedious and inefficient, prone to human error, and can cause losses to server manufacturers.
[0007] 4) Upgrading the graphics processor requires multiple manual operations such as rebooting and AC (Alternating Current) power-off, which is tedious, inefficient, and prone to human error, resulting in losses for the server manufacturer. Summary of the Invention
[0008] This application provides a method, apparatus, computer-readable storage medium, and system for upgrading a graphics processor, to at least solve the problem in related technologies where manual analysis of the corresponding upgrade strategy is required when upgrading different versions of GPUs.
[0009] According to one embodiment of this application, a method for upgrading a graphics processing unit (GPU) is provided. The GPU includes multiple types of firmware. The GPU is installed on a server, which includes a central processing unit (CPU) and a disk. The CPU is communicatively connected to the GPU and the disk. The disk stores multiple preset upgrade strategies. The upgrade method is applied to the CPU. The upgrade method includes: obtaining an initial version number, where the initial version number is the version number of a critical firmware before the GPU upgrade, and the critical firmware is one of all the firmware; if the initial version number is within a target version number range, reading a target upgrade strategy from the disk and upgrading the GPU using the target upgrade strategy, where the target version number range is one of multiple version number ranges, and each version number range corresponds one-to-one with a preset upgrade strategy. The target upgrade strategy is the preset upgrade strategy corresponding to the target version number range. The preset upgrade strategy includes at least a firmware type and an upgrade version number, where the firmware type is the type of firmware to be upgraded, and the upgrade version number is the version number of the firmware to be upgraded after the upgrade and is also the version number of the firmware file used for the upgrade of the firmware to be upgraded.
[0010] In an exemplary embodiment, the target upgrade strategy includes multiple sets of upgrade sub-strategies and a first upgrade order. Each set of upgrade sub-strategies includes at least one upgrade sub-strategy, and each upgrade sub-strategy includes a firmware type and an upgrade version number. The upgrade sub-strategies in the same set are used to upgrade the firmware of the same firmware type. The first upgrade order is the order in which the upgrade sub-strategies of different sets are executed. When the initial version number is within the range of the target version number, the target upgrade strategy is read from the disk and the graphics processor is upgraded using the target upgrade strategy, including: an upgrade step of upgrading the firmware of the target firmware type using the upgrade sub-strategy of the target set, wherein the upgrade sub-strategy of the target set is one set of upgrade sub-strategies from all sets, and the target firmware type is the firmware type corresponding to the upgrade sub-strategy of the target set; and repeating the upgrade step at least once according to the first upgrade order until the upgrade sub-strategies of all sets are executed.
[0011] In an exemplary embodiment, the target upgrade strategy further includes a second upgrade order, wherein the second upgrade order consists of the upgrade sub-strategies in the same group arranged in ascending order of the included upgrade version numbers. The upgrade steps include: a read and parsing step, which reads and parses the target upgrade strategy from the disk to obtain all the upgrade sub-strategies and the second upgrade order; and a read step, which reads the record information of a first target upgrade sub-strategy from the disk, wherein the first target upgrade sub-strategy is the upgrade sub-strategy corresponding to the previous upgrade process, and the upgrade process corresponds one-to-one with the upgrade sub-strategy, wherein the upgrade process is to apply the upgrade sub-strategy to the firmware types included in the upgrade sub-strategy. The process of upgrading the firmware to be upgraded includes the following steps: The recorded information indicates that the upgrade sub-strategy has been completed; A determination step involves determining a second target upgrade sub-strategy based on the recorded information of the first target upgrade sub-strategy, all the upgrade sub-strategies, and the second upgrade order, provided that the recorded information of the first target upgrade sub-strategy exists; An upgrade sub-step involves upgrading the firmware to be upgraded using the second target upgrade sub-strategy; The reading and parsing step is repeated sequentially according to the second upgrade order, with the reading step, the determination step, and the upgrade sub-step being repeated at least once, until all the upgrade sub-strategies of the target group have been completed.
[0012] In one exemplary embodiment, the disk is further used to store multiple firmware files, each firmware file corresponding one-to-one with an upgrade version number. An upgrade sub-strategy also includes an operation type, which is the type of action performed by the server after the firmware to be upgraded is upgraded. The upgrade sub-step includes: reading the firmware file corresponding to the target upgrade version number from the disk, and using the firmware file corresponding to the target upgrade version number to upgrade the firmware of the target firmware type, where the target upgrade version number is the upgrade version number included in the second target upgrade sub-strategy; controlling the server to act according to the target operation type, where the target operation type is the operation type included in the second target upgrade sub-strategy; generating the record information of the second target upgrade sub-strategy, and storing the record information of the second target upgrade sub-strategy on the disk.
[0013] In one exemplary embodiment, the operation type includes at least server continue working, server restart, and server power-down and power-on.
[0014] In an exemplary embodiment, the central processing unit is communicatively connected to the display. Following the first upgrade order, the upgrade steps are repeated at least once until all groups of upgrade sub-strategies have been executed. The method further includes: obtaining the version number of each firmware to be upgraded in the graphics processor to obtain multiple current version numbers, each current version number corresponding to a firmware type; determining whether each current version number is the same as its corresponding target version number, each current version number corresponding to a target version number, where the target version number is the highest upgrade version number among the upgrade version numbers corresponding to a group of upgrade sub-strategies corresponding to the firmware type corresponding to the current version number; and determining that the graphics processor has been successfully upgraded if each current version number is the same as its corresponding target version number, and controlling the display to show a successful upgrade message.
[0015] In one exemplary embodiment, the firmware includes at least VB IOS firmware, NVSWI TCH firmware, PC IESWI TCH firmware, CEC firmware, and FPGA firmware, with the key firmware including the FPGA firmware.
[0016] According to another embodiment of this application, a graphics processor (GPU) upgrade device is provided. The GPU includes multiple types of firmware. The GPU is installed on a server, which includes a central processing unit (CPU) and a disk. The CPU is communicatively connected to the GPU and to the disk. The disk stores multiple preset upgrade strategies. The upgrade device is applied to the CPU. The upgrade device includes: an acquisition module for acquiring an initial version number, which is the version number of a critical firmware before the GPU upgrade, and the critical firmware is one of all the firmware; and an upgrade module for reading a target upgrade strategy from the disk and upgrading the GPU using the target upgrade strategy if the initial version number is within a target version number range. The target version number range is one of multiple version number ranges, and each version number range corresponds one-to-one with a preset upgrade strategy. The target upgrade strategy is the preset upgrade strategy corresponding to the target version number range. The preset upgrade strategy includes at least a firmware type and an upgrade version number. The firmware type is the type of firmware to be upgraded, and the upgrade version number is the version number of the firmware to be upgraded after the upgrade and is also the version number of the firmware file used for the upgrade of the firmware to be upgraded.
[0017] According to yet another embodiment of this application, a computer-readable storage medium is also provided, wherein a computer program is stored therein, and the computer program is configured to perform the steps in any of the above method embodiments when it is run.
[0018] According to another embodiment of this application, an upgrade system is also provided, the upgrade system comprising: a graphics processor; a server, the server comprising: a central processing unit and a disk, the disk being used to store firmware files, the firmware files being used to upgrade the firmware of the graphics processor to be upgraded, the central processing unit being communicatively connected to the graphics processor, the central processing unit being communicatively connected to the disk, the central processing unit being configured to execute the steps of any of the above method embodiments during runtime; and a display, the display being communicatively connected to the central processing unit, the display being used to display information indicating a successful upgrade.
[0019] By storing multiple preset upgrade strategies on the disk, each preset upgrade strategy corresponds to a version number range. Before upgrading the graphics processor, the target version number range is determined by identifying the preset version number range in which the initial version number falls. This allows the determination of the upgrade strategy to be used for upgrading the graphics processor, i.e., the target upgrade strategy. Then, the graphics processor is automatically upgraded using the target upgrade strategy. This solves the problem of having to manually analyze the corresponding upgrade strategy when upgrading different versions of GPUs, thereby improving the efficiency of graphics processor upgrades. Attached Figure Description
[0020] Figure 1 This is a structural block diagram of the network architecture according to an embodiment of this application;
[0021] Figure 2 This is a flowchart of a graphics processor upgrade method according to an embodiment of this application;
[0022] Figure 3 This is a structural block diagram of a graphics processor upgrade device according to an embodiment of this application. Detailed Implementation
[0023] The embodiments of this application will be described in detail below with reference to the accompanying drawings and examples.
[0024] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0025] The embodiments of this application can be run in Figure 1 In the network architecture shown, such as Figure 1As shown, the network architecture includes a graphics processor 401, a server 402, and a display 403. The graphics processor 401 includes various types of firmware. The server 402 includes a central processing unit 404 and a disk 405. The graphics processor 401 is installed on the server 402. The central processing unit 404 is communicatively connected to the graphics processor 401 and to the disk 405. The disk 405 is used to store multiple preset upgrade strategies. The display 403 is used to display information indicating a successful upgrade.
[0026] Specifically, the aforementioned preset upgrade strategy is stored on the aforementioned disk as a ".ini" format file.
[0027] This embodiment provides a method running on the aforementioned central processing unit. Figure 2 This is a flowchart according to an embodiment of this application, such as... Figure 2 As shown, the process includes the following steps:
[0028] Step S101: Obtain the initial version number, which is the version number of the critical firmware before the graphics processor upgrade, and the critical firmware is one of all the aforementioned firmware.
[0029] Specifically, the aforementioned firmware includes at least VBI OS firmware, NVSWI TCH firmware, PCI ESWI TCH firmware, CEC firmware, and FPGA firmware, with the aforementioned key firmware including the aforementioned FPGA firmware.
[0030] Step S102: If the initial version number is within the target version number range, read the target upgrade strategy from the disk and upgrade the graphics processor using the target upgrade strategy. The target version number range is one of multiple version number ranges, and the version number range corresponds one-to-one with the preset upgrade strategy. The target upgrade strategy is the preset upgrade strategy corresponding to the target version number range. The preset upgrade strategy includes at least firmware type and upgrade version number. The firmware type is the type of firmware to be upgraded, and the upgrade version number is the version number of the firmware to be upgraded after the upgrade and is also the version number of the firmware file used for the upgrade of the firmware to be upgraded.
[0031] Specifically, multiple preset upgrade strategies are stored on the disk, each corresponding to a version number range. Before upgrading the graphics processor, the target version number range is determined by identifying the preset version number range in which the initial version number falls. This allows us to determine the upgrade strategy to be used for the graphics processor, i.e., the target upgrade strategy. Then, the graphics processor is automatically upgraded using the target upgrade strategy, thus solving the problem of having to manually analyze the corresponding upgrade strategy when upgrading different versions of GPUs.
[0032] It should be noted that the upgrade version number is the version number of the firmware to be upgraded after the upgrade, and it is also the version number of the firmware file used to upgrade the firmware to be upgraded. For example, if the firmware to be upgraded is VBIOS firmware, the upgrade version number is "92.00.45.00.05". The upgrade version number "92.00.45.00.05" represents the version number of the VB IOS firmware after the upgrade, and it also represents the version number of the firmware file used when upgrading the VB IOS firmware. The firmware file is a ".bin" format file.
[0033] It should also be noted that the above-mentioned target upgrade strategy includes multiple sets of upgrade sub-strategies and a first upgrade order. Each set of the above-mentioned upgrade sub-strategies includes at least one of the above-mentioned upgrade sub-strategies. Each of the above-mentioned upgrade sub-strategies includes a firmware type and an upgrade version number. The above-mentioned upgrade sub-strategies in the same set are used to upgrade the firmware to be upgraded of the same firmware type. The above-mentioned first upgrade order is the order in which the above-mentioned upgrade sub-strategies in different sets are executed.
[0034] Step S102 can be implemented as follows:
[0035] Step S1021, upgrade step, using the above-mentioned upgrade sub-strategy of the target group to upgrade the above-mentioned firmware belonging to the target firmware type, the above-mentioned upgrade sub-strategy of the target group is one of the above-mentioned upgrade sub-strategies of all groups, the above-mentioned target firmware type is the firmware type corresponding to the above-mentioned upgrade sub-strategy of the target group.
[0036] Step S1022: Repeat the above upgrade steps at least once according to the first upgrade order, until the above upgrade sub-strategies of all groups have been executed.
[0037] In this embodiment, a set of upgrade sub-strategies is used to upgrade a type of firmware to be upgraded. According to the first upgrade order, each set of upgrade sub-strategies is used to upgrade the corresponding type of firmware to be upgraded, thereby realizing automatic upgrade of various types of firmware to be upgraded for the graphics processor, improving the upgrade efficiency of the graphics processor, and avoiding human error.
[0038] It should be noted that the above target upgrade strategy also includes a second upgrade order, which is the order of the above upgrade sub-strategies in the same group from low to high according to the included upgrade version numbers.
[0039] Step S1021 can be implemented as follows:
[0040] Step S10211: Read and parse the target upgrade strategy from the disk to obtain all the upgrade sub-strategies and the second upgrade order.
[0041] Step S10212, reading step, read the record information of the first target upgrade sub-strategy from the disk, the first target upgrade sub-strategy is the upgrade sub-strategy corresponding to the previous upgrade process, the upgrade process corresponds one-to-one with the upgrade sub-strategy, the upgrade process is the process of upgrading the firmware to be upgraded of the firmware type included in the upgrade sub-strategy using the upgrade sub-strategy, and the record information is information indicating that the upgrade sub-strategy has been executed.
[0042] Step S10213, Determine step: If the above-mentioned record information of the first target upgrade sub-strategy exists, determine the second target upgrade sub-strategy based on the above-mentioned record information of the first target upgrade sub-strategy, all the above-mentioned upgrade sub-strategies and the second upgrade order.
[0043] Step S10214, upgrade sub-step, using the above-mentioned second target upgrade sub-strategy to upgrade the above-mentioned firmware of the above-mentioned target firmware type;
[0044] Step S10215: Following the second upgrade sequence described above, repeat the above reading and parsing steps in sequence, with the above reading step, the above determining step, and the above upgrade sub-step being repeated at least once, until all the above upgrade sub-strategies of the above target group have been executed.
[0045] In this embodiment, a set of upgrade sub-strategies is used to upgrade a type of firmware to be upgraded. According to the second upgrade order, each upgrade sub-strategy in the set is used to upgrade the corresponding type of firmware to be upgraded, thereby realizing automatic multiple upgrades of the firmware to be upgraded of the graphics processor, improving the upgrade efficiency of the graphics processor, and avoiding human error. In addition, during the upgrade process of the firmware to be upgraded using upgrade sub-strategies, the server may experience power-on and power-off or server restart. At this time, the target upgrade strategy read by the central processing unit will be lost. Therefore, before starting the current upgrade process, it is necessary to read the record information of the upgrade sub-strategy (first target upgrade sub-strategy) used in the previous upgrade process from the disk, so as to determine the upgrade sub-strategy (second target upgrade sub-strategy) used in the current upgrade process according to the second upgrade order and the record information of the upgrade sub-strategy used in the previous upgrade process, ensuring that the upgrade process is carried out in the second upgrade order.
[0046] It should be noted that when the version number of the critical firmware is very low, multiple transitional versions need to be manually flashed during the upgrade process of the graphics processor firmware to be upgraded. For example, if the version number of the critical firmware FPGA firmware is <= 2.94 and the firmware to be upgraded is CEC firmware, then the CEC firmware needs to be upgraded to version 3.9 first, and then the CEC firmware needs to be upgraded to version 4.0.
[0047] It should be noted that the disk is also used to store multiple firmware files, each of which corresponds to a specific upgrade version number. Each upgrade sub-strategy also includes an operation type, which is the type of action performed by the server after the firmware to be upgraded is upgraded.
[0048] Step S10214 can be implemented as follows:
[0049] Step S102141: Read the firmware file corresponding to the target upgrade version number from the disk, and use the firmware file corresponding to the target upgrade version number to upgrade the firmware of the target firmware type. The target upgrade version number is the upgrade version number included in the second target upgrade sub-strategy.
[0050] Step S102142: Control the server to act according to the target operation type, where the target operation type is the operation type included in the second target upgrade sub-strategy.
[0051] Specifically, the above operation types include at least server continue working, server reboot, and server power-on / off.
[0052] Step S102143: Generate the above-mentioned record information of the second target upgrade sub-strategy, and store the above-mentioned record information of the second target upgrade sub-strategy to the disk.
[0053] In this embodiment, taking the second target upgrade sub-strategy as "VBIOS|92.00.45.00.05|cont i nue" as an example, where "VBIOS" is the target firmware type, "92.00.45.00.05" is the target upgrade version number, and "cont i nue" is the target operation type, firstly, based on the target upgrade version number "92.00.45.00.05", the corresponding firmware file "vbios_92.00.45.00.05.bin" is read from the disk, and the VBIOS firmware is upgraded using this firmware file "vbios_92.00.45.00.05.bin". Then, the control server acts according to the target operation type "cont i nue", thereby upgrading the VBIOS firmware to version 92.00.45.00.05. This realizes automatic control of the server to act according to the target operation type during the graphics processor upgrade process, improving the upgrade efficiency of the graphics processor and avoiding human error.
[0054] To visually display the upgrade results, the aforementioned central processing unit is communicatively connected to the display. In one optional embodiment, after step S1022, the method further includes:
[0055] Step S201: Obtain the version number of each of the above-mentioned firmware to be upgraded for the above-mentioned graphics processor, and obtain multiple current version numbers, each of which corresponds to one of the above-mentioned firmware types.
[0056] Step S202: Determine whether each of the above current version numbers is the same as the corresponding target version number. The above current version number and the above target version number correspond one-to-one. The above target version number is the highest of the above upgrade version numbers in a set of the above upgrade sub-strategies corresponding to the above firmware type corresponding to the above current version number.
[0057] Step S203: If the current version number and the corresponding target version number are the same, determine that the graphics processor has been successfully upgraded, and control the display to show the information that the upgrade was successful.
[0058] In this embodiment, the target upgrade strategy is used as...
[0059] Step 1 -> CEC | 3.9 | reboot
[0060] Step 2 -> CEC | 4.0 | reboot
[0061] Step 3->FPGA|2.a5|acCyc le
[0062] Taking the case of "Step4->FPGA|3.14|acCyc le" as an example, where Step1 and Step3 represent the first upgrade sequence mentioned above, and Step2 and Step4 represent the second upgrade sequence mentioned above, after the graphics processor is upgraded using the target upgrade strategy, it is determined whether the CEC firmware version number (current version number) is 4.0 (target version number). Similarly, it is determined whether the FPGA firmware version number (current version number) is 3.14. If the CEC firmware version number is 4.0 and the FPGA firmware version number is 3.14, the graphics processor upgrade is determined to be successful, and the display is controlled to show the upgrade success information to intuitively display the upgrade result.
[0063] In addition, to further visualize the upgrade results, in another optional scheme, after step S203, the above method further includes:
[0064] Step S301: Control the display to show the current version number.
[0065] Through the above steps, multiple preset upgrade strategies are stored on the disk. Each preset upgrade strategy corresponds to a version number range. Before upgrading the graphics processor, the target version number range is determined by determining the preset version number range in which the initial version number is located. This allows us to determine the upgrade strategy to be used for upgrading the graphics processor, i.e., the target upgrade strategy. Then, the graphics processor is automatically upgraded using the target upgrade strategy, thus solving the problem of having to manually analyze the corresponding upgrade strategy when upgrading different versions of GPUs.
[0066] To enable those skilled in the art to better understand the technical solution of this application, the implementation process of the graphics processor upgrade method of this application will be described in detail below with reference to specific embodiments.
[0067] Taking the case where the FPGA firmware version number (initial version number) is less than or equal to 2.94 as an example, the target upgrade strategy is as follows:
[0068] "Step1->VBIOS|92.00.45.00.05|cont i nue
[0069] Step2->NVSWI TCH|92.10.18.00.01|cont i nue
[0070] Step3->PCI ESWITCH|3.1.0|cont i nue
[0071] Step 4 -> CEC | 3.9 | reboot
[0072] Step 5 -> CEC | 4.0 | reboot
[0073] Step 6->FPGA|2.a5|acCyc le
[0074] Step7->FPGA|3.14|acCyc le”, This embodiment relates to a specific method for upgrading a graphics processor, including the following steps:
[0075] Step S1: Obtain the FPGA firmware version number;
[0076] Step S2: If the FPGA firmware version number (initial version number) is less than or equal to 2.94, read the target upgrade strategy from the disk and use the target upgrade strategy to upgrade the graphics processor.
[0077] Step S21: Read the firmware file "vbios_92.00.45.00.05.bin" from the disk according to the upgrade version number "92.00.45.00.05", control the nvflash tool to flash the VBIOS firmware using the firmware file "vbios_92.00.45.00.05.bin", control the server to continue working, and generate log information;
[0078] Step S22: Read the firmware file "nvswitch_92.10.18.00.01.bin" from the disk according to the upgrade version number "92.10.18.00.01", control the nvflash tool to use the firmware file "nvswi tch_92.10.18.00.01.bin" to refresh the NVSWI TCH firmware, control the server to continue working, and generate log information;
[0079] Step S23: Read the firmware file "pcieswitch_3.1.0.bin" from the disk according to the upgrade version number "3.1.0", control the nvflash tool to refresh the PCIESWITCH firmware using the firmware file "pcieswitch_3.1.0.bin", control the server to continue working, and generate log information;
[0080] Step S24: Read the firmware file "cec_3.9.bin" from the disk according to the upgrade version number "3.9". The baseboard management controller of the control server refreshes the CEC firmware using the firmware file "cec_3.9.bin". The control server restarts and generates record information (the baseboard management controller is connected to the central processing unit mentioned above).
[0081] Step S25: Read the firmware file "cec_4.0.bin" from the disk according to the upgrade version number "4.0". Control the baseboard management controller of the server to refresh the CEC firmware with the firmware file "cec_4.0.bin", restart the server, and generate record information;
[0082] Step S26: Read the firmware file "fpga_2.a5.bin" from the disk according to the upgrade version number "2.a5". Control the baseboard management controller of the server to refresh the FPGA firmware with the firmware file "fpga_2.a5.bin", and control the ipmitool tool to send power-off and power-on action instructions to the PSU power supply of the server in sequence, and generate record information;
[0083] Step S27: Read the firmware file "fpga_3.14.bin" from the disk according to the upgrade version number "3.14". Control the baseboard management controller of the server to refresh the FPGA firmware with the firmware file "fpga_3.14.bin", and control the ipmitool tool to send power-off and power-on action instructions to the PSU power supply of the server in sequence, and generate record information;
[0084] Step S3: Control the nvflash tool to obtain the version numbers of the VBIOS firmware, NVSWITCH, and PCIESWITCH, control the ipmitool tool to obtain the version numbers of the CEC firmware and FPGA, and when the version number of the VBIOS firmware is "92.00.45.00.05", the version number of the NVSWITCH is "92.10.18.00.01", the version number of the PCIESWITCH is "3.1.0", the version number of the CEC is "4.0", and the version number of the FPGA is "3.14", control the display to output the information of successful upgrade.
[0085] It should be noted that before performing Step S22, it is necessary to obtain the record information and the target upgrade policy generated in Step S21 from the disk to determine the upgrade sub-policy adopted in Step S22. The same applies to Steps S23 to S27.
[0086] It should also be noted that when 2.94 < the version number of the FPGA firmware (initial version number) <= 2.a5, the target upgrade policy is as follows:
[0087] "Step1->PCI ESWITCH|3.1.0|continue
[0088] Step2->CEC|4.0|reboot
[0089] Step3->FPGA|3.14|acCycle”.
[0090] When the FPGA firmware version number (initial version number) is greater than 2.a5, the target upgrade strategy is as follows:
[0091] Step 1 -> CEC | 4.0 | reboot
[0092] Step2->FPGA|3.14|acCycle”.
[0093] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0094] This embodiment also provides a graphics processor upgrade device for implementing the above embodiments and preferred embodiments, and details already described will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0095] Figure 3 This is a structural block diagram of a graphics processor upgrade device according to an embodiment of this application, such as... Figure 3 As shown, the device includes:
[0096] The first acquisition module 10 is used to acquire the initial version number, which is the version number of the key firmware before the graphics processor upgrade, and the key firmware is one of all the aforementioned firmware.
[0097] Specifically, the aforementioned firmware includes at least VBI OS firmware, NVSWI TCH firmware, PCI ESWI TCH firmware, CEC firmware, and FPGA firmware, with the aforementioned key firmware including the aforementioned FPGA firmware.
[0098] Upgrade module 20 is used to read the target upgrade strategy from the disk and upgrade the graphics processor using the target upgrade strategy when the initial version number is within the target version number range. The target version number range is one of multiple version number ranges, and the version number range corresponds one-to-one with the preset upgrade strategy. The target upgrade strategy is the preset upgrade strategy corresponding to the target version number range. The preset upgrade strategy includes at least firmware type and upgrade version number. The firmware type is the type of firmware to be upgraded, and the upgrade version number is the version number of the firmware to be upgraded after the upgrade and is also the version number of the firmware file used for the upgrade of the firmware to be upgraded.
[0099] Specifically, multiple preset upgrade strategies are stored on the disk, each corresponding to a version number range. Before upgrading the graphics processor, the target version number range is determined by identifying the preset version number range in which the initial version number falls. This allows us to determine the upgrade strategy to be used for the graphics processor, i.e., the target upgrade strategy. Then, the graphics processor is automatically upgraded using the target upgrade strategy, thus solving the problem of having to manually analyze the corresponding upgrade strategy when upgrading different versions of GPUs.
[0100] It should be noted that the upgrade version number is the version number of the firmware to be upgraded after the upgrade, and it is also the version number of the firmware file used to upgrade the firmware to be upgraded. For example, if the firmware to be upgraded is VBIOS firmware, the upgrade version number is "92.00.45.00.05". The upgrade version number "92.00.45.00.05" represents the version number of the VB IOS firmware after the upgrade, and it also represents the version number of the firmware file used when upgrading the VB IOS firmware. The firmware file is a ".bin" format file.
[0101] It should also be noted that the above-mentioned target upgrade strategy includes multiple sets of upgrade sub-strategies and a first upgrade order. Each set of the above-mentioned upgrade sub-strategies includes at least one of the above-mentioned upgrade sub-strategies. Each of the above-mentioned upgrade sub-strategies includes a firmware type and an upgrade version number. The above-mentioned upgrade sub-strategies in the same set are used to upgrade the firmware to be upgraded of the same firmware type. The above-mentioned first upgrade order is the order in which the above-mentioned upgrade sub-strategies in different sets are executed.
[0102] The upgrade module can be implemented as follows:
[0103] The upgrade submodule is used to upgrade the firmware to be upgraded that belongs to the target firmware type using the upgrade sub-strategy of the target group. The upgrade sub-strategy of the target group is one of the upgrade sub-strategies of all groups. The target firmware type is the firmware type corresponding to the upgrade sub-strategy of the target group.
[0104] The repeat submodule is used to repeat the above upgrade steps at least once according to the first upgrade order, until the above upgrade sub-strategies of all groups have been executed.
[0105] In this embodiment, a set of upgrade sub-strategies is used to upgrade a type of firmware to be upgraded. According to the first upgrade order, each set of upgrade sub-strategies is used to upgrade the corresponding type of firmware to be upgraded, thereby realizing automatic upgrade of various types of firmware to be upgraded for the graphics processor, improving the upgrade efficiency of the graphics processor, and avoiding human error.
[0106] It should be noted that the above target upgrade strategy also includes a second upgrade order, which is the order of the above upgrade sub-strategies in the same group from low to high according to the included upgrade version numbers.
[0107] The upgrade submodule can be implemented as follows:
[0108] The read parsing unit is used to read and parse the target upgrade strategy from the disk to obtain all the upgrade sub-strategies and the second upgrade order.
[0109] The reading unit is used to read the record information of the first target upgrade sub-strategy from the disk. The first target upgrade sub-strategy is the upgrade sub-strategy corresponding to the previous upgrade process. The upgrade process corresponds one-to-one with the upgrade sub-strategy. The upgrade process is the process of upgrading the firmware to be upgraded of the firmware type included in the upgrade sub-strategy using the upgrade sub-strategy. The record information is information indicating that the upgrade sub-strategy has been completed.
[0110] The determining unit is configured to determine the second target upgrade sub-strategy based on the record information of the first target upgrade sub-strategy, all the upgrade sub-strategies, and the second upgrade order, when the record information of the first target upgrade sub-strategy exists.
[0111] The upgrade unit is used to upgrade the firmware to be upgraded of the target firmware type using the second target upgrade sub-strategy described above.
[0112] The repeating unit is used to repeat the above-mentioned reading and parsing steps in the second upgrade order, with the above-mentioned reading step, the above-mentioned determining step, and the above-mentioned upgrade sub-step being repeated at least once, until all the above-mentioned upgrade sub-strategies of the above-mentioned target group have been executed.
[0113] In this embodiment, a set of upgrade sub-strategies is used to upgrade a type of firmware to be upgraded. According to the second upgrade order, each upgrade sub-strategy in the set is used to upgrade the corresponding type of firmware to be upgraded, thereby realizing automatic multiple upgrades of the firmware to be upgraded of the graphics processor, improving the upgrade efficiency of the graphics processor, and avoiding human error. In addition, during the upgrade process of the firmware to be upgraded using upgrade sub-strategies, the server may experience power-on and power-off or server restart. At this time, the target upgrade strategy read by the central processing unit will be lost. Therefore, before starting the current upgrade process, it is necessary to read the record information of the upgrade sub-strategy (first target upgrade sub-strategy) used in the previous upgrade process from the disk, so as to determine the upgrade sub-strategy (second target upgrade sub-strategy) used in the current upgrade process according to the second upgrade order and the record information of the upgrade sub-strategy used in the previous upgrade process, ensuring that the upgrade process is carried out in the second upgrade order.
[0114] It should be noted that when the version number of the critical firmware is very low, multiple transitional versions need to be manually flashed during the upgrade process of the graphics processor firmware to be upgraded. For example, if the version number of the critical firmware FPGA firmware is <= 2.94 and the firmware to be upgraded is CEC firmware, then the CEC firmware needs to be upgraded to version 3.9 first, and then the CEC firmware needs to be upgraded to version 4.0.
[0115] It should be noted that the disk is also used to store multiple firmware files, each of which corresponds to a specific upgrade version number. Each upgrade sub-strategy also includes an operation type, which is the type of action performed by the server after the firmware to be upgraded is upgraded.
[0116] The upgrade unit can be implemented as follows:
[0117] The reading subunit is used to read the firmware file corresponding to the target upgrade version number from the disk and use the firmware file corresponding to the target upgrade version number to upgrade the firmware of the target firmware type. The target upgrade version number is the upgrade version number included in the second target upgrade sub-strategy.
[0118] The control subunit is used to control the server to act according to the target operation type, wherein the target operation type is the operation type included in the second target upgrade sub-strategy.
[0119] Specifically, the above operation types include at least server continue working, server reboot, and server power-on / off.
[0120] A generation subunit is used to generate the aforementioned record information of the second target upgrade sub-strategy and store the aforementioned record information of the second target upgrade sub-strategy to the aforementioned disk.
[0121] In this embodiment, taking the second target upgrade sub-strategy as "VBIOS|92.00.45.00.05|cont i nue" as an example, where "VBIOS" is the target firmware type, "92.00.45.00.05" is the target upgrade version number, and "cont i nue" is the target operation type, firstly, based on the target upgrade version number "92.00.45.00.05", the corresponding firmware file "vbios_92.00.45.00.05.bin" is read from the disk, and the VBIOS firmware is upgraded using this firmware file "vbios_92.00.45.00.05.bin". Then, the control server acts according to the target operation type "cont i nue", thereby upgrading the VBIOS firmware to version 92.00.45.00.05. This realizes automatic control of the server to act according to the target operation type during the graphics processor upgrade process, improving the upgrade efficiency of the graphics processor and avoiding human error.
[0122] To visually display the upgrade results, the aforementioned central processing unit is communicatively connected to the display. In one optional embodiment, the device further includes:
[0123] The second acquisition module is used to acquire the version number of each of the above-mentioned firmware to be upgraded of the above-mentioned graphics processor, and obtain multiple current version numbers, wherein each current version number corresponds to one of the above-mentioned firmware types.
[0124] The determination module is used to determine whether each of the above current version numbers is the same as the corresponding target version number. The above current version number and the above target version number correspond one-to-one. The above target version number is the highest of the above upgrade version numbers in a set of above upgrade sub-strategies corresponding to the above firmware type corresponding to the above current version number.
[0125] The first display module is used to determine that the graphics processor has been successfully upgraded when the current version number and the corresponding target version number are the same, and to control the display to show the information that the upgrade was successful.
[0126] In this embodiment, the target upgrade strategy is used as...
[0127] Step 1 -> CEC | 3.9 | reboot
[0128] Step 2 -> CEC | 4.0 | reboot
[0129] Step 3->FPGA|2.a5|acCyc le
[0130] Taking the case of "Step4->FPGA|3.14|acCyc le" as an example, where Step1 and Step3 represent the first upgrade sequence mentioned above, and Step2 and Step4 represent the second upgrade sequence mentioned above, after the graphics processor is upgraded using the target upgrade strategy, it is determined whether the CEC firmware version number (current version number) is 4.0 (target version number). Similarly, it is determined whether the FPGA firmware version number (current version number) is 3.14. If the CEC firmware version number is 4.0 and the FPGA firmware version number is 3.14, the graphics processor upgrade is determined to be successful, and the display is controlled to show the upgrade success information to intuitively display the upgrade result.
[0131] In addition, to further visualize the upgrade results, in another alternative embodiment, the aforementioned device also includes:
[0132] The second display module is used to control the display to show the current version number of each of the above displays.
[0133] Through the above steps, multiple preset upgrade strategies are stored on the disk. Each preset upgrade strategy corresponds to a version number range. Before upgrading the graphics processor, the target version number range is determined by determining the preset version number range in which the initial version number is located. This allows us to determine the upgrade strategy to be used for upgrading the graphics processor, i.e., the target upgrade strategy. Then, the graphics processor is automatically upgraded using the target upgrade strategy, thus solving the problem of having to manually analyze the corresponding upgrade strategy when upgrading different versions of GPUs.
[0134] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.
[0135] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above method embodiments when run.
[0136] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.
[0137] Embodiments of this application also provide an upgrade system, which includes: a graphics processor; a server, the server including: a central processing unit and a disk, the disk being used to store firmware files, the firmware files being used to upgrade the firmware of the graphics processor to be upgraded, the central processing unit being communicatively connected to the graphics processor, the central processing unit being communicatively connected to the disk, the central processing unit being configured to execute the steps in any of the above method embodiments during runtime; and a display, the display being communicatively connected to the central processing unit, the display being used to display information indicating a successful upgrade.
[0138] Specific examples in this embodiment can be found in the examples described in the above embodiments and exemplary implementations, and will not be repeated here.
[0139] Obviously, those skilled in the art should understand that the modules or steps of this application described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented here, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, this application is not limited to any particular combination of hardware and software.
[0140] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.
Claims
1. A method for upgrading a graphics processor, characterized in that, The graphics processing unit (GPU) includes various types of firmware. The GPU is installed on a server, which includes a central processing unit (CPU) and a disk. The CPU is communicatively connected to the GPU and to the disk. The disk stores multiple preset upgrade strategies. The upgrade method is applied to the CPU and includes: Obtain the initial version number, which is the version number of the critical firmware before the graphics processor upgrade, and the critical firmware is one of all the firmware; If the initial version number is within the target version number range, the target upgrade strategy is read from the disk and the graphics processor is upgraded using the target upgrade strategy. The target version number range is one of multiple version number ranges, and the version number range corresponds one-to-one with the preset upgrade strategy. The target upgrade strategy is the preset upgrade strategy corresponding to the target version number range. The preset upgrade strategy includes at least firmware type and upgrade version number. The firmware type is the type of firmware to be upgraded, and the upgrade version number is the version number of the firmware to be upgraded after the upgrade and is the version number of the firmware file used for the upgrade of the firmware to be upgraded. The target upgrade strategy includes multiple sets of upgrade sub-strategies and a first upgrade order. Each set of upgrade sub-strategies includes at least one upgrade sub-strategy, and each upgrade sub-strategy includes a firmware type and an upgrade version number. The upgrade sub-strategies in the same set are used to upgrade the firmware of the same firmware type. The first upgrade order is the order in which the upgrade sub-strategies of different sets are executed. When the initial version number is within the target version number range, the target upgrade strategy is read from the disk and the graphics processor is upgraded using the target upgrade strategy, including: an upgrade step, upgrading the firmware of the target firmware type using the upgrade sub-strategy of the target set, wherein the upgrade sub-strategy of the target set is one set of upgrade sub-strategies from all sets, and the target firmware type is the firmware type corresponding to the upgrade sub-strategy of the target set; repeating the upgrade step at least once according to the first upgrade order until the upgrade sub-strategies of all sets are executed. The target upgrade strategy further includes a second upgrade order, where the upgrade sub-strategies within the same group are ordered from low to high according to the included upgrade version numbers. The upgrade steps include: a read and parsing step, where the target upgrade strategy is read and parsed from the disk to obtain all the upgrade sub-strategies and the second upgrade order; and a read step, where the record information of the first target upgrade sub-strategy is read from the disk, where the first target upgrade sub-strategy is the upgrade sub-strategy corresponding to the previous upgrade process. Each upgrade process corresponds one-to-one with each upgrade sub-strategy, and the upgrade process involves using the upgrade sub-strategy to upgrade the firmware of the firmware type included in the upgrade sub-strategy. The process of upgrading the firmware involves the following steps: First, if the record information for the first target upgrade sub-strategy exists, a second target upgrade sub-strategy is determined based on the record information of the first target upgrade sub-strategy, all the upgrade sub-strategies, and the second upgrade order. Second, an upgrade sub-step involves upgrading the firmware of the target firmware type using the second target upgrade sub-strategy. Third, the reading and parsing steps are repeated sequentially according to the second upgrade order, with each reading step, determination step, and upgrade sub-step occurring at least once, until all the upgrade sub-strategies of the target group have been executed.
2. The method according to claim 1, characterized in that, The disk is also used to store multiple firmware files, each corresponding one-to-one with an upgrade version number. Each upgrade sub-strategy further includes an operation type, which is the type of action performed by the server after the firmware to be upgraded is upgraded. The upgrade sub-steps include: Read the firmware file corresponding to the target upgrade version number from the disk, and use the firmware file corresponding to the target upgrade version number to upgrade the firmware of the target firmware type, wherein the target upgrade version number is the upgrade version number included in the second target upgrade sub-strategy; Control the server to act according to the target operation type, where the target operation type is the operation type included in the second target upgrade sub-strategy; Generate the record information of the second target upgrade sub-strategy, and store the record information of the second target upgrade sub-strategy to the disk.
3. The method according to claim 2, characterized in that, The operation types include at least server continue working, server restart, and server power-down and power-on.
4. The method according to any one of claims 1 to 3, characterized in that, The central processing unit is communicatively connected to the display. Following the first upgrade order, the upgrade steps are repeated at least once until the upgrade sub-strategies for all groups have been executed. The method further includes: The version number of each firmware to be upgraded in the graphics processor is obtained to obtain multiple current version numbers, and the current version number corresponds one-to-one with the firmware type; Determine whether each current version number is the same as the corresponding target version number. The current version number and the target version number are in one-to-one correspondence. The target version number is the highest upgrade version number among the upgrade version numbers corresponding to a group of upgrade sub-strategies corresponding to the firmware type corresponding to the current version number. If each current version number and the corresponding target version number are the same, the graphics processor is determined to have been successfully upgraded, and the display is controlled to show the information indicating that the upgrade was successful.
5. The method according to any one of claims 1 to 3, characterized in that, The firmware includes at least VBIOS firmware, NVSWITCH firmware, PCIESWITCH firmware, CEC firmware, and FPGA firmware, with the key firmware including the FPGA firmware.
6. A graphics processor upgrade device, characterized in that, The graphics processor includes various types of firmware. The graphics processor is installed on a server, which includes a central processing unit (CPU) and a disk. The CPU is communicatively connected to the graphics processor and to the disk. The disk stores multiple preset upgrade strategies. An upgrade device is applied to the CPU and includes: The first acquisition module is used to acquire an initial version number, wherein the initial version number is the version number of the critical firmware before the graphics processor is upgraded, and the critical firmware is one of all the firmware; An upgrade module is configured to read a target upgrade strategy from the disk and upgrade the graphics processor using the target upgrade strategy when the initial version number is within the target version number range. The target version number range is one of multiple version number ranges, and each version number range corresponds one-to-one with a preset upgrade strategy. The target upgrade strategy is the preset upgrade strategy corresponding to the target version number range. The preset upgrade strategy includes at least a firmware type and an upgrade version number. The firmware type is the type of firmware to be upgraded, and the upgrade version number is the version number of the firmware to be upgraded after the upgrade and is also the version number of the firmware file used for the upgrade of the firmware to be upgraded. The target upgrade strategy includes multiple sets of upgrade sub-strategies and a first upgrade order. Each set of upgrade sub-strategies includes at least one upgrade sub-strategy, and each upgrade sub-strategy includes a firmware type and an upgrade version number. The upgrade sub-strategies in the same set are used to upgrade the firmware to be upgraded of the same firmware type. The first upgrade order is the order in which the upgrade sub-strategies in different sets are executed. The upgrade module is implemented as follows: an upgrade submodule, used to upgrade the firmware to be upgraded that belongs to the target firmware type using the upgrade sub-strategy of the target group, wherein the upgrade sub-strategy of the target group is one of the upgrade sub-strategies of all groups, and the target firmware type is the firmware type corresponding to the upgrade sub-strategy of the target group; and a repeat submodule, used to repeat the upgrade submodule at least once according to the first upgrade order, until the upgrade sub-strategy of all groups has been executed. The target upgrade strategy also includes a second upgrade order, where the upgrade sub-strategies in the same group are ordered from low to high according to the included upgrade version numbers. The upgrade sub-module is implemented as follows: a read parsing unit, used to read and parse the target upgrade strategy from the disk to obtain all the upgrade sub-strategies and the second upgrade order; and a read unit, used to read the record information of the first target upgrade sub-strategy from the disk, where the first target upgrade sub-strategy is the upgrade sub-strategy corresponding to the previous upgrade process, and the upgrade process corresponds one-to-one with the upgrade sub-strategy. The upgrade process involves using the upgrade sub-strategy to upgrade the firmware of the firmware type included in the upgrade sub-strategy. The upgrade process includes: a recording information indicating the completion of the upgrade sub-strategy; a determining unit, configured to determine a second target upgrade sub-strategy based on the recording information of the first target upgrade sub-strategy, all the upgrade sub-strategies, and the second upgrade order, when the recording information of the first target upgrade sub-strategy exists; an upgrade unit, configured to upgrade the firmware to be upgraded of the target firmware type using the second target upgrade sub-strategy; and a repeating unit, configured to repeat the reading and parsing unit, the determining unit, and the upgrade unit at least once, according to the second upgrade order, until all the upgrade sub-strategies of the target group have been executed.
7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the method described in any one of claims 1 to 5.
8. An upgrade system, characterized in that, The upgrade system includes: Graphics processor; The server includes a central processing unit (CPU) and a disk, the disk being used to store firmware files for upgrading the firmware of the graphics processor, the CPU being communicatively connected to the graphics processor, the CPU being communicatively connected to the disk, and the CPU implementing the steps of the method described in any one of claims 1 to 5. A display, which is communicatively connected to the central processing unit, is used to display information indicating a successful upgrade.
Citation Information
Patent Citations
Server firmware upgrading method, storage device and terminal
CN114115984A
Software upgrading method and system, terminal equipment and computer readable storage medium
CN115408019A