An automated testing method, device, host and storage medium

By configuring transmission service scripts and communication test scripts on the host machine, and combining NCCL, OpenMPI and RDMA protocols, automated testing of multi-machine GPU communication transmission performance was achieved. This solved the problem of excessive manual intervention in existing technologies and improved testing efficiency and verification capabilities.

CN115048255BActive Publication Date: 2025-10-24SUGON INFORMATION IND
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210894617.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-28
Publication Date
2025-10-24
Estimated Expiration
2042-07-28

AI Technical Summary

Technical Problem

Existing technologies require manual IP configuration, test case import, and test result export when conducting multi-machine GPU communication transmission performance tests, resulting in low testing efficiency and a large amount of manpower consumption.

Method used

By using pre-configured transmission service scripts and communication test scripts, the host can automatically test the communication transmission performance of its graphics processor with other computer devices, reducing manual intervention. It uses shell scripts written in NCCL and OpenMPI for data transmission and combines the RDMA protocol for efficient communication.

Benefits of technology

It improves the automation level of multi-machine GPU communication transmission performance testing, reduces manual intervention, improves testing efficiency, and can verify communication performance in multiple aspects under different transmission conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115048255B_ABST
    Figure CN115048255B_ABST
Patent Text Reader

Abstract

The application provides an automatic testing method and device, a host computer and a storage medium. The method comprises the following steps: after receiving a test instruction initiated by a user, a controller of the host computer executes a transmission service script and distributes a service task to a target graphic processor of the host computer; after receiving the service task, the target graphic processor executes a communication test script, transmits processing data corresponding to the service to a graphic processor in a computer device based on a configured transmission mode, and the processing data is transmitted through a RDMA transmission protocol configured by a network card of the host computer; and after receiving a processing result of the computer device, the controller outputs a test result of a whole communication test loop. In this way, the host computer can automatically test the communication transmission performance of the graphic processor between the host computer and other computer devices in a communication system, manual intervention is reduced, and the test efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of automatic testing, in particular to an automatic testing method and device, a host and a storage medium. BACKGROUND

[0002] GPU (graphics processing unit) is a kind of processor specially used for image operation on computers, workstations, game devices and servers. At present, GPU has been applied to various fields, and how to use a large number of GPUs to quickly process massive data has become a problem that researchers pay more and more attention to. GPU Direct RDMA (Remote Direct Memory Access) is a new technology for multi-GPU communication, however, under this technology, when the staff tests the transmission performance of the GPU, they need to manually configure IP, import test cases, export test results and other tedious processes. This method needs to consume a lot of manpower, and the test efficiency is low. SUMMARY

[0003] The purpose of the embodiments of the present application is to provide an automatic testing method and device, a host and a storage medium, so as to reduce the manual intervention of multi-GPU communication transmission performance test and improve the test efficiency.

[0004] The present application is implemented as follows:

[0005] In a first aspect, the embodiments of the present application provide an automatic testing method applied to a host in a communication system, wherein the communication system comprises at least one computer device in communication connection with the host, and the method comprises: a controller of the host executes a transmission service script after receiving a test instruction initiated by a user, and distributes a service task to a target graphics processor of the host; the target graphics processor executes a communication test script after receiving the service task, and transmits processing data corresponding to the service task to a graphics processor in the computer device based on a configured transmission mode, wherein the processing data is transmitted through an RDMA transmission protocol configured by a network card of the host; and the controller outputs a test result of the whole communication test loop after receiving a processing result of the computer device.

[0006] In the embodiment of the present application, the transmission service script and the communication test script are pre-configured, so that the host can automatically test the communication transmission performance of the graphic processor between the host and other computer devices, thereby reducing manual intervention and improving test efficiency. Moreover, the transmission service script can configure different service tasks, and the communication test script can configure different transmission modes, so that subsequent staff can verify the communication transmission performance of the graphic processor under cross-machine communication in multiple aspects.

[0007] In some possible implementation manners, in combination with the technical solution provided by the above first aspect, after receiving the service task, the target graphic processor executes the communication test script, and transmits the processing data corresponding to the service task to the graphic processor in the computer device based on the configured transmission mode, including: after receiving the service task, the target graphic processor executes the communication test script, and transmits the processing data corresponding to the service task to the other graphic processor of the host, so that the other graphic processor of the host transmits the processed processing data to the graphic processor in the computer device after processing the service.

[0008] In the embodiment of the present application, the transmission object configured by the communication test script also includes other graphic processors of the host itself, so as to realize automatic testing of the communication transmission performance in the application scenario in which the host itself includes multiple graphic processors.

[0009] In some possible implementation manners, in combination with the technical solution provided by the above first aspect, the communication test script is configured with a specified multiple graphic processors participating in cooperation and a transmission capability level; wherein the transmission capability level represents the speed of data transmission rate.

[0010] In the embodiment of the present application, the communication test script is configured with a specified multiple graphic processors participating in cooperation and a transmission capability level, so as to test the communication transmission performance under different transmission conditions through the configured parameters, thereby realizing the verification of the communication transmission performance of the graphic processor under cross-machine communication in multiple aspects.

[0011] In some possible implementation manners, in combination with the technical solution provided by the above first aspect, before the target graphic processor executes the communication test script, the method further includes: the target graphic processor executes a detection script to detect whether the state performance of the target graphic processor meets the standard; when the state performance does not meet the standard, the target graphic processor is tuned based on the tuning mode configured by the detection script until the state performance meets the standard.

[0012] Since the state performance of the graphics processor has a great influence on the test result, in the embodiment of the present application, the target graphics processor will first execute the detection script to detect whether the state performance meets the standard; and when the state performance does not meet the standard, the optimization mode configured by the detection script is used for optimization. In this way, on the one hand, the graphics processor tested can be improved in performance to meet the test standard, on the other hand, the automatic detection and optimization mode can reduce manual intervention and improve test efficiency, and on the third hand, the test result can correspond to the state performance of the graphics processor to verify the communication transmission performance of the graphics processor under cross-machine communication from the perspective of the state performance of the graphics processor itself.

[0013] In some possible implementation manners, the optimization mode configured by the detection script includes modifying BIOS options and / or setting an enable mode.

[0014] In the embodiment of the present application, the BIOS options are automatically modified and / or the enable mode is automatically set to stably improve the performance of the graphics processor.

[0015] In some possible implementation manners, modifying the BIOS options includes enabling the hyper-threading option and / or disabling the ECC automatic correction option.

[0016] In the embodiment of the present application, by enabling the hyper-threading option, more virtual cores can be released, and by disabling the ECC automatic correction option, the data flow between the graphics processors can be faster.

[0017] In some possible implementation manners, the communication test script is a Shell script written based on NCCL and OpenMPI.

[0018] NCCL is a multi-machine communication library based on CUDA, and OpenMPI is used to implement multi-machine communication, so that the Shell script written based on NCCL and OpenMPI can make the data processing in the test based on the script achieve lossless transmission, and the use of CUDA can also significantly improve the computing power.

[0019] In a second aspect, the embodiments of the present application provide an automatic testing device applied to a host in a communication system, the communication system comprising at least one computer device in communication connection with the host, the device comprising: a transmission service module configured to execute a transmission service script and distribute a service task to a target graphic processor of the host after receiving a test instruction initiated by a user; a communication testing module configured to execute a communication testing script and transmit processing data corresponding to the service task to a graphic processor in the computer device based on a configured transmission mode after receiving the service task, the processing data being transmitted through a RDMA transmission protocol configured by a network card of the host; and an output module configured to output a test result of an entire communication testing loop after receiving a processing result of the computer device.

[0020] In a third aspect, the embodiments of the present application provide a host comprising: a controller and a target graphic processor, the controller and the target graphic processor being connected; the controller is configured to execute a transmission service script and distribute a service task to a target graphic processor of the host after receiving a test instruction initiated by a user; the target graphic processor is configured to execute a communication testing script and transmit processing data corresponding to the service task to a graphic processor in a computer device based on a configured transmission mode after receiving the service task, the processing data being transmitted through a RDMA transmission protocol configured by a network card of the host; and the controller is further configured to output a test result of an entire communication testing loop after receiving a processing result of the computer device.

[0021] In a fourth aspect, the embodiments of the present application provide a computer readable storage medium having a computer program stored thereon, the computer program being configured to execute the method provided in the first aspect and / or some possible implementation manners of the first aspect when executed by a processor. BRIEF DESCRIPTION OF DRAWINGS

[0022] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments of the present application. It should be understood that the following drawings only show some of the embodiments of the present application, and therefore should not be regarded as a limitation on the scope, and for those skilled in the art, other related drawings can also be obtained without creative labor.

[0023] Figure 1 A module block diagram of a communication system provided by the embodiments of the present application.

[0024] Figure 2 A step flowchart of an automatic testing method provided by the embodiments of the present application.

[0025] Figure 3A module block diagram of another communication system provided by the embodiment of the present application.

[0026] Figure 4 A step flow chart of another automatic testing method provided by the embodiment of the present application.

[0027] Figure 5 A module block diagram of an automatic testing device provided by the embodiment of the present application. DETAILED DESCRIPTION

[0028] The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.

[0029] The embodiment of the present application provides a communication system, which comprises a host and a computer device. The host and the computer device are in communication connection.

[0030] It should be noted that the host can be the same device as the computer device, or can be different devices. Specifically, the host and the computer device can be personal computers or servers, and the present application is not limited in this regard. For example, the host is a computer, and the computer device is a server. Of course, the host and the computer device can both be computers. Correspondingly, the computer device in the system can also be multiple, and the present application is not limited in this regard.

[0031] As shown in FIG. 1, the communication system can comprise a host Server1 and a computer device Server2, and the host Server1 and the computer device Server2 are in communication connection. Of course, the communication system can also comprise three, four computer devices, and the present application is not limited in this regard. Figure 1

[0032] The host Server1 and the computer device Server2 each comprise at least one controller, at least one graphics processor, and a network card. The controller, the graphics processor, and the network card are directly or indirectly electrically connected to realize data transmission or interaction. For example, these elements can be electrically connected to each other through one or more communication buses or signal lines. The communication bus can be, but is not limited to, PCIE (Peripheral Component Interconnect Express, high-speed serial computer expansion bus standard).

[0033] In the embodiment of the present application, the controller can be a CPU (Central Processing Unit, central processor), and the graphics processor can be a GPU. The host Server1 and the computer device Server2 can be connected through the network card to realize communication connection.

[0034] ​In the host Server1 and the computer device Server2, the CPU is configured with the corresponding system memory, and the GPU is configured with the corresponding GPU memory.

[0035] Of course, in other embodiments, the processor can also be other general-purpose processors, for example, can be a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a discrete gate or transistor logic device, a discrete hardware component, can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the application. In addition, the general-purpose processor can be a microprocessor or any conventional processor.

[0036] In the embodiments of the application, the GPU of the host Server1 and the computer device Server2 can realize GPU cross-machine communication through GPUDirect RDMA.

[0037] It should be noted that Figure 1 The structure of the communication system shown is only schematic, and the communication system provided by the embodiments of the application can also have fewer or more components than Figure 1 or have a different configuration from Figure 1 The structure shown.

[0038] Please refer to Figure 2 , Figure 2 The step flow chart of the automatic test method provided by the embodiments of the application, the method is applied to the host in the communication system shown. It should be noted that the automatic test method provided by the embodiments of the application is not limited in the order shown below, and the method comprises steps S101-S103. Figure 1 Figure 2 The automatic test method provided by the embodiments of the application is not limited in the order shown below, and the method comprises steps S101-S103.

[0039] Step S101: After the controller of the host receives the test instruction initiated by the user, the transmission service script is executed, and the service task is issued to the target graphic processor of the host.

[0040] It should be noted that the user needs to build a system environment before initiating the test instruction.

[0041] ​In an embodiment, the method is implemented in combination with CUDA (Compute Unified Device Architecture), and after CUDA is downloaded and installed on the host, an environment variable is added to the system of the host. For example, in an embodiment of the present application, the transmission mode in NCCL (Nvidia Collective multi-GPU Communication Library) can be used to implement communication between cross-machine graphics processors. NCCL is a multi-machine communication library implemented based on CUDA. For example, in subsequent tests, if the All Reduce mode in NCCL is used to implement communication between cross-machine graphics processors, the environment variable is the address of the All Reduce interface; if the Broadcast mode in NCCL is used to implement communication between cross-machine graphics processors, the environment variable is the address of the Broadcast interface. Of course, other computer devices in the communication system can also complete the construction of the above system environment.

[0042] In an embodiment, the communication system in the communication system is connected by configuring OpenMPI (Message Passing Interface) to realize multi-machine (different computer devices) and multi-thread (multiple graphics processors transmitting at the same time).

[0043] In an embodiment, in order to realize GPU Direct RDMA acceleration multi-machine communication, the network card uses an Infiniband (Ib) network card as a communication bridge between cross-machine graphics processors.

[0044] Of course, the user also needs to pre-write a test script and import it into the host. In an embodiment of the present application, the test script includes a transmission business script and a communication test script. The transmission business script is used to implement the issuance of business tasks. The communication test script is used to implement cross-machine transmission of processing data through the graphics processor.

[0045] In an embodiment, the communication test script is a Shell script written based on NCCL and OpenMPI. Since NCCL is a multi-machine communication library implemented based on CUDA, OpenMPI can be used to implement multi-machine communication. Through the Shell script written based on NCCL and OpenMPI, the processing data in the test based on the script can achieve lossless transmission, and the use of CUDA can also significantly improve the computing power.

[0046] Of course, in other embodiments, the communication test script can also be an expect script, which is not limited in the present application.

[0047] After completing the above system environment setup, users can issue test commands to the host. After receiving the test commands, the host controller executes the transfer script and sends the task to the host's target GPU.

[0048] The transmission service script is configured with the main program for the service task to be executed. The service task can be an image processing task, such as image parsing, image rendering, image segmentation, etc. This application does not limit the service task. It should be noted that the transmission service script can be pre-configured with a designated graphics processor as the aforementioned target graphics processor. In other words, the transmission service script enables the controller to dispatch the service task to the designated graphics processor in the host.

[0049] Step S102: After receiving the business task, the target GPU executes the communication test script and transmits the processing data corresponding to the business to the GPU in the computer device based on the configured transmission method, wherein the processing data is transmitted through the RDMA transmission protocol configured by the host's network card.

[0050] That is, after receiving the business task, the target GPU executes the communication test script, such as initiating data communication by calling the All Reduce interface of NCCL, and then sending the processed data to the GPU in other computer devices through the RDMA protocol configured by the network card and the MPI protocol of openMPI.

[0051] by Figure 1 For example, the GPU of host Server1 sends the processed data directly from the GPU memory to the network card of host Server1 by calling the communication method of NCCL's All Reduce interface. The network card of host Server1 sends the processed data to the GPU of computer device Server2 through the RDMA protocol and the MPI protocol of openMPI.

[0052] Optionally, the above-mentioned step S102 may further specifically include: after receiving the business task, the target graphics processor executes the communication test script, and transmits the processing data corresponding to the business task to other graphics processors of the host, so that after the other graphics processors of the host perform business processing, they transmit the processed data to the graphics processor in the computer device.

[0053] That is, the target graphics processor is used to execute the communication test script after receiving the business task, and transmit the processing data corresponding to the business to other graphics processors in its own device based on the transmission method configured by the communication test script, and then the last graphics processor of itself to which the data is transmitted transmits the processed data to the graphics processor in the computer device.

[0054] It should be noted that when the transmission mode is All Reduce, the target GPU first transmits the processed data to other GPUs in its own device in sequence. Specifically, the target GPU first transmits the processed data to other GPUs in its own device. These GPUs then send the processed data to GPUs in other computing devices via the RDMA protocol configured on the network card and the OpenMPI MPI protocol. In other words, the processed data passes through the computing device's own GPU in sequence before the last GPU transmits it to the network card, which then sends it to GPUs in other computing devices.

[0055] by Figure 3 For example, when the transmission mode is All Reduce mode, the target graphics processor GPU1 first transfers the processed data to GPU2, and then GPU2 executes the communication test script to send the processed data to network card 1, and network card 1 sends the processed data to GPU3 in other computer device Server2.

[0056] It can be seen that in the embodiment of the present application, the transmission objects configured by the communication test script also include other graphics processors of the host itself, so as to realize automatic testing of the communication transmission performance in the application scenario including multiple graphics processors.

[0057] Optionally, the communication test script is configured with a plurality of designated graphics processors to participate in the collaboration and a transmission capability level, wherein the transmission capability level represents the speed of the data transmission rate.

[0058] That is, the communication test script can be configured with the specified graphics processor that needs to participate in the business task, for example, the communication test script can be configured with GPU2, GPU3 and GPU4 (such as Figure 3 ) is the GPU participating in the collaboration, thereby enabling GPU2, GPU3, and GPU4 to participate in the business task. Specifically, the GPU participating in the communication can be specified by configuring CUDA_VISIABLE_DEVICE.

[0059] The above transmission levels are used to fine-tune the actual performance of the device during communication and to verify subsequent communication transmission performance. For example, a higher transmission level indicates a higher data rate is required. Subsequent test results can be used to determine whether the configured transmission level is met.

[0060] In the embodiment of the present application, the communication test script is configured with specified multiple graphic processors participating in cooperation and transmission levels, so as to test the communication transmission performance under different transmission conditions through the configured parameters, and to verify the communication transmission performance of the graphic processors under cross-machine communication in multiple aspects.

[0061] Step S103: The controller outputs the test result of the whole communication test loop after receiving the processing result of the computer device.

[0062] The test result includes but is not limited to communication bandwidth and communication delay.

[0063] In an embodiment, the controller can also output the test result of the whole communication test loop after receiving the interrupt request.

[0064] In summary, in the embodiment of the present application, the transmission service script and the communication test script are pre-configured, so that the host can automatically test the communication transmission performance of the graphic processors between the host and other computer devices, thereby reducing manual intervention and improving test efficiency. Moreover, the transmission service script can be configured with different service tasks, and the communication test script can be configured with different transmission modes, so that subsequent staff can verify the communication transmission performance of the graphic processors under cross-machine communication in multiple aspects.

[0065] Optionally, before the target graphic processor executes the communication test script in step S102, the method further includes: the target graphic processor executes a detection script to detect whether the state performance of the target graphic processor meets the standard; and when the state performance does not meet the standard, the target graphic processor is tuned based on a tuning mode configured in the detection script until the state performance meets the standard.

[0066] That is, the target graphic processor executes the detection script to first detect whether the state performance of the target graphic processor meets the standard. If the standard is met, the target graphic processor directly executes the action in step S102. If the standard is not met, the target graphic processor is tuned based on a tuning mode configured in the detection script, and after the tuning, the state performance of the target graphic processor is determined again. It should be noted that the action in step S102 is executed only when the state performance of the target graphic processor meets the standard.

[0067] Optionally, the tuning mode configured in the detection script includes modifying BIOS (Basic Input Output System) options and / or setting an enable mode.

[0068] In the embodiment of the present application, the BIOS options are automatically modified and / or the enable mode is automatically set, so that the performance of the graphic processor is stably improved.

[0069] Specifically, the modification BIOS option can include: starting the hyper-threading option and / or closing the ECC (Error Correcting Code, error detection and correction) automatic error correction option.

[0070] It should be noted that by starting the hyper-threading option, more virtual cores can be released, and by closing the ECC automatic error correction option, the data flow between the graphics processors can be faster.

[0071] It should be noted that the detection script can configure multiple tuning methods at the same time, and multiple tuning methods can be used for tuning at the same time. Of course, the detection script can also configure multiple tuning methods at the same time, but only one of them can be used for tuning at the same time.

[0072] For example, when the target graphics processor is executing the detection script and detecting that its state performance does not meet the standard, it can use any of the multiple tuning methods configured by the detection script to tune, and then detect again whether its state performance meets the standard. If the state performance still does not meet the standard, select one of the remaining tuning methods from the multiple tuning methods configured by the detection script to tune. The above selection method can be random selection or sequential selection according to the configured order, which is not limited by the present application.

[0073] Among them, the detection script is also configured to determine whether the tuning method is effective.

[0074] For the operation of modifying the BIOS option, whether it takes effect can be directly determined by the management interface whether the BIOS option takes effect. For the hyper-threading option, whether the tuning takes effect can be determined by the number of CPU cores being twice the number of physical cores through the HTOP instruction under Linux (an operating system).

[0075] For the enable mode, whether it takes effect can be determined by monitoring tools, such as inputting the instruction nvidia-smi under Linux, and confirming whether the tuning takes effect by whether Persistence Mode in the returned pop-up window is Enable.

[0076] In summary, since the state performance of the graphics processor has a great influence on the test result, in the embodiment of the present application, the target graphics processor will first execute the detection script to detect whether the state performance meets the standard, and when the state performance does not meet the standard, the optimization is performed based on the optimization mode configured by the detection script. In this way, the graphics processor to be tested can be improved in performance, so that it meets the test standard, the manual intervention is reduced and the test efficiency is improved through the automatic detection and optimization mode, and the test result can correspond to the state performance of the graphics processor, so as to verify the communication transmission performance of the graphics processor under cross-machine communication from the perspective of the state performance of the graphics processor itself.

[0077] Please refer to Figure 4 , Figure 4 The complete process of the automatic test method provided in the embodiment of the present application specifically includes that after the user initiates a test instruction, the target graphics processor in the host first executes a detection script to detect whether the state performance meets the standard, and when the state performance does not meet the standard, the optimization is performed based on the optimization mode configured by the detection script until the state performance meets the standard. For example, the target graphics processor executes the options of starting the hyper-threading, setting the enable mode and closing the ECC automatic correction in turn. When the state performance meets the standard, the controller of the host executes a transmission business script to distribute a business task to the target graphics processor of the host. After receiving the business task, the target graphics processor executes a communication test script to transmit the processing data corresponding to the business task to the other graphics processors in the host, so that the other graphics processors in the host transmit the processed processing data to the graphics processors in the computer device after processing the business. Finally, the controller of the host outputs the test result of the entire communication test loop after receiving the processing result of the computer device.

[0078] Please refer to Figure 5 Based on the same inventive concept, the embodiment of the present application further provides an automatic test device 200, which comprises:

[0079] The transmission business module 210 is configured to execute a transmission business script to distribute a business task to the target graphics processor of the host after receiving a test instruction initiated by the user.

[0080] The communication test module 220 is configured to execute a communication test script to transmit the processing data corresponding to the business task to the graphics processors in the computer device based on the configured transmission mode after receiving the business task, and the processing data is transmitted through the RDMA transmission protocol configured by the network card of the host.

[0081] The output module 230 is configured to output the test result of the entire communication test loop after receiving the processing result of the computer device.

[0082] Optionally, the communication test module 220 is further configured to execute the communication test script after receiving the service task, and transmit the processing data corresponding to the service task to other graphic processors of the host computer, so that the other graphic processors of the host computer transmit the processed processing data to the graphic processor in the computer device after processing the service.

[0083] Optionally, the communication test script is configured with a specified number of graphic processors participating in cooperation and a transmission capability level; wherein the transmission capability level represents the speed of data transmission.

[0084] Optionally, the apparatus further comprises a detection module.

[0085] The detection module is configured to execute a detection script before the target graphic processor executes the communication test script, to detect whether the state performance meets the standard; when the state performance does not meet the standard, to perform tuning based on the tuning mode configured by the detection script until the state performance meets the standard.

[0086] Optionally, the tuning mode configured by the detection script comprises modifying BIOS options and / or setting an enabling mode.

[0087] Optionally, the modification of BIOS options comprises turning on the hyper-threading option and / or turning off the ECC automatic correction option.

[0088] Optionally, the communication test script is a Shell script written based on NCCL and OpenMPI.

[0089] It should be noted that, for the convenience and brevity of description, the specific working process of the system, apparatus and unit described above can refer to the corresponding process in the foregoing method embodiments, which will not be described herein.

[0090] Based on the same inventive concept, the embodiments of the present application also provide a computer readable storage medium having a computer program stored thereon, wherein the computer program performs the method provided in the foregoing embodiments when being executed.

[0091] The storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. containing one or more available media sets. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.

[0092] In the embodiments of the present application, it should be understood that the disclosed apparatus and method can be implemented in other manners. The embodiments described above are merely exemplary, for example, the division of the units is only a logical function division, and there can be another division manner in actual implementation; for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections can be indirect couplings or communication connections through some interfaces, devices or units, and can be in electrical, mechanical or other forms.

[0093] In addition, the units described as separate components can or can not be physically separate, and the components displayed as units can or can not be physical units, i.e., can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purposes of the embodiments of the present application.

[0094] In addition, the various functional modules in the embodiments of the present application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0095] In this document, the terms such as first and second are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations.

[0096] The above description is merely exemplary of the embodiments of the present application, and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. An automated testing method, characterized by, A host applied to a communication system, the communication system comprising at least one computer device in communication connection with the host, the method comprising: a controller of the host, after receiving a test instruction initiated by a user, executing a transmission business script, and issuing a business task to a target graphic processor of the host; the target graphic processor, after receiving the business task, executing a communication test script, and transmitting processing data corresponding to the business task to a graphic processor in the computer device based on a configured transmission mode, the processing data being transmitted through a RDMA transmission protocol configured by a network card of the host; the controller, after receiving a processing result of the computer device, outputting a test result of an entire communication test loop; wherein the target graphic processor, after receiving the business task, executing the communication test script, and transmitting the processing data corresponding to the business task to other graphic processors of the host, so that the other graphic processors of the host transmit the processed processing data to the graphic processor in the computer device after processing the business. The communication test script is configured with a specified plurality of graphic processors participating in cooperation and a transmission capability level; wherein the transmission capability level represents the speed of data transmission rate.

2. The method of claim 1, wherein, Before the target graphic processor executes the communication test script, the method further comprises:

3. The method of claim 1, wherein, the target graphic processor executing a detection script to detect whether the state performance of itself meets the standard; when the state performance does not meet the standard, performing tuning based on a tuning mode configured by the detection script until the state performance meets the standard. The tuning mode configured by the detection script comprises modifying BIOS options and / or setting an enable mode.

4. The method of claim 3, wherein, The modification of BIOS options comprises turning on the super-threading option and / or turning off the ECC automatic correction option.

5. The method of claim 4, wherein, The communication test script is a Shell script written based on NCCL and OpenMPI.

6. The method according to any one of claims 1-5, characterized in that, A host applied to a communication system, the communication system comprising at least one computer device in communication connection with the host, the device comprising:

7. An automated test device, characterized by a transmission business module, configured to, after receiving a test instruction initiated by a user, execute a transmission business script, and issue a business task to a target graphic processor of the host; a communication test module, configured to, after receiving the business task, execute a communication test script, and transmit processing data corresponding to the business task to a graphic processor in the computer device based on a configured transmission mode, the processing data being transmitted through a RDMA transmission protocol configured by a network card of the host; an output module, configured to, after receiving a processing result of the computer device, output a test result of an entire communication test loop; wherein the communication test module is specifically configured to: ​ After receiving the service task, the target GPU executes the communication test script and transmits the processing data corresponding to the service task to other GPUs of the host, so that the other GPUs of the host transmit the processed processing data to the GPU in the computer device after processing the service.

8. A host, characterized by Comprise: a controller and a target GPU, the controller being connected to the target GPU; the controller is configured to, after receiving a test instruction initiated by a user, execute a transmission service script and distribute a service task to the target GPU of the host; the target GPU is configured to, after receiving the service task, execute a communication test script and transmit the processing data corresponding to the service task to a GPU in a computer device based on a configured transmission mode, the processing data being transmitted through an RDMA transmission protocol configured by a network card of the host; the controller is further configured to, after receiving a processing result of the computer device, output a test result of the entire communication test loop; wherein the target GPU is specifically configured to: after receiving the service task, the target GPU executes the communication test script and transmits the processing data corresponding to the service task to other GPUs of the host, so that the other GPUs of the host transmit the processed processing data to the GPU in the computer device after processing the service.

9. A computer-readable storage medium, characterized in that, A computer program is stored thereon, and the computer program executes the method of any one of claims 1-6 when being run by a computer.

Citation Information

Patent Citations

  • Server data processing performance test method and device

    CN110096401A

  • Large-scale multi-machine multi-card pre-training method, system and device and server cluster

    CN113723552A