Graphics processor performance test method and device, equipment and storage medium
By using the Kubernetes container cloud platform for automated testing on the graphics processor test platform, the high cost, low efficiency and low accuracy problems caused by manual operations in the prior art are solved, and more efficient and accurate test results are achieved.
Patent Information
- Application Number
- CN202311481770.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-08
- Publication Date
- 2025-05-09
AI Technical Summary
Existing graphics processor performance testing methods require manual operation, resulting in high testing costs, low efficiency and poor accuracy.
By detecting users log in to the graphics processor test platform, obtain test tasks, use the Kubernetes container cloud platform to issue test items to the test node, execute them in parallel, and generate performance test reports.
It reduces the cost of graphics processor testing, improves test efficiency and result accuracy, avoids external interference, and ensures the safety and stability of the test platform.
Smart Images

Figure CN119963393A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a method, device, equipment and storage medium for testing performance of a graphics processor. Background Art
[0002] With the development of artificial intelligence (AI) technology, the demand for training deep neural network models is increasing. Using graphics processing units (GPUs) for training and reasoning deep learning models is the most mainstream system solution in artificial intelligence technology. Therefore, effective evaluation of the performance of GPUs is a key means to ensure the powerful computing power of GPUs.
[0003] In the prior art, when testing the performance of a graphics processor, a tester usually downloads the latest version of a benchmark tool corresponding to the graphics processor, and then completes the construction and deployment of a test environment on a graphics processor host. The tester uses the benchmark tool to test the graphics processor according to the test environment.
[0004] However, existing graphics processor performance testing methods require testers to complete all work manually, which takes up a lot of human resources and time resources, resulting in high testing costs and low testing efficiency and accuracy of test results. Summary of the invention
[0005] The present invention provides a method, device, equipment and storage medium for testing performance of a graphics processor, which can reduce the testing cost of the graphics processor, improve the testing efficiency and the accuracy of the test results.
[0006] According to one aspect of the present invention, a method for testing performance of a graphics processor is provided, comprising:
[0007] After detecting that a user logs into the graphics processor test platform, obtaining a test task created by the user in the platform;
[0008] The test task includes host configuration information corresponding to the graphics processor to be tested, and a plurality of test items matching the graphics processor to be tested;
[0009] The multiple test items are respectively sent to each test node through the Kubernetes container cloud platform, and each test node executes each test item in parallel according to the host configuration information to obtain a performance test result corresponding to the graphics processor to be tested;
[0010] The performance test result is compared with standard performance data corresponding to the graphics processor to be tested, and a performance test report corresponding to the graphics processor to be tested is generated according to the comparison result.
[0011] Optionally, after generating the performance test report corresponding to the graphics processor to be tested, the method further includes:
[0012] According to the comparison result, determining whether the graphics processor to be tested is tested successfully;
[0013] If yes, it is determined that the test of the graphics processor to be tested is completed;
[0014] If not, obtaining the current test number corresponding to the graphics processor to be tested, and determining whether the current test number is less than a preset number threshold;
[0015] If yes, return to execute the operation of sending the multiple test items to each test node through the Kubernetes container cloud platform to retest the graphics processor to be tested;
[0016] If not, it is determined that the test of the graphics processor to be tested is completed.
[0017] Optionally, after detecting that a user has logged into the graphics processor test platform, obtaining a test task created by the user in the platform includes:
[0018] After detecting that a user logs into the graphics processor test platform, identifying the identity of the user according to the login information of the user;
[0019] If the user is a tester, the test tasks created by the user in the platform are obtained.
[0020] Optionally, after detecting that a user logs into the graphics processor test platform, before obtaining a test task created by the user in the platform, the method further includes:
[0021] After detecting that an administrator has logged into the graphics processor test platform, obtaining a software specification manual uploaded by the administrator that matches the graphics processor to be tested;
[0022] Parsing the software specification manual through an optical character recognition (OCR) model to obtain standard performance data corresponding to the graphics processor to be tested;
[0023] In response to a data storage request triggered by an administrator, the standard performance data corresponding to the graphics processor to be tested is persistently stored in a preset database.
[0024] Optionally, while executing the test items in parallel through the test nodes according to the host configuration information, the method further includes:
[0025] The test progress corresponding to the test task is displayed to the user through a visual interface;
[0026] After generating a performance test report corresponding to the graphics processor to be tested according to the comparison result, the method further includes:
[0027] The performance test report corresponding to the graphics processor to be tested is displayed to the user through a visual interface.
[0028] Optionally, after displaying the performance test report corresponding to the graphics processor to be tested to the user through the visual interface, the method further includes:
[0029] In response to a download request triggered by a user for the performance test report, obtaining a target storage location matching the download request;
[0030] The performance test report is stored in the target storage location.
[0031] Optionally, the front-end framework of the graphics processor test platform is constructed based on the React framework and the JavaScript programming language; the back-end framework of the graphics processor test platform is constructed based on the open source application framework Spring Boot;
[0032] The GPU testing platform integrates a code and document management tool Gitlab and a code version management tool (Subversion, SVN) to manage the versions of the testing tools deployed in the GPU testing platform.
[0033] According to another aspect of the present invention, a graphics processor performance testing device is provided, the device comprising:
[0034] A task acquisition module, used to acquire the test tasks created by the user in the platform after detecting that the user has logged into the graphics processor test platform;
[0035] The test task includes host configuration information corresponding to the graphics processor to be tested, and a plurality of test items matching the graphics processor to be tested;
[0036] A parallel testing module is used to send the multiple test items to each test node respectively through the Kubernetes container cloud platform, and execute each test item in parallel through each test node according to the host configuration information to obtain a performance test result corresponding to the graphics processor to be tested;
[0037] The report generating module is used to compare the performance test result with the standard performance data corresponding to the graphics processor to be tested, and generate a performance test report corresponding to the graphics processor to be tested according to the comparison result.
[0038] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0039] at least one processor; and
[0040] a memory communicatively connected to the at least one processor; wherein,
[0041] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the graphics processor performance testing method described in any embodiment of the present invention.
[0042] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the graphics processor performance testing method described in any embodiment of the present invention when executed.
[0043] The technical solution provided by the embodiment of the present invention detects that a user has logged into a graphics processor test platform, obtains a test task created by the user in the platform, including host configuration information and multiple test items corresponding to the graphics processor to be tested, and sends the multiple test items to each test node through the Kubernetes container cloud platform. Each test node executes each test item in parallel according to the host configuration information to obtain a performance test result, compares the performance test result with standard performance data corresponding to the graphics processor to be tested, and generates a performance test report according to the comparison result. This technical solution provides a method for automatically testing the graphics processor, which can reduce the testing cost of the graphics processor, improve the testing efficiency and test The accuracy of the test results can be improved; the impact of external interference on the test results can be avoided; the security and stability of the operation process of the graphics processor test platform can be guaranteed; the standard performance data can be reused in subsequent test processes without downloading the official performance documents of the graphics processor to be tested each time; the user can intuitively view the performance defects of the graphics processor, which is convenient for the rapid resolution of the performance defects of the graphics processor; the performance test report can be stored in the target storage location specified by the user, which is convenient for the user to work with, communicate with and consult the graphics processor to be tested; the complex software interface design corresponding to the platform can be split into small, independent design components, making the front-end maintenance and update of the graphics processor test platform easier.
[0044] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0046] Figure 1 is a flowchart of a method for testing performance of a graphics processor according to an embodiment of the present invention;
[0047] Figure 2 is a flowchart of another method for testing performance of a graphics processor provided in an embodiment of the present invention;
[0048] Figure 3 is a flowchart of another method for testing performance of a graphics processor provided in an embodiment of the present invention;
[0049] Figure 4 is a structural schematic diagram of a graphics processor performance testing device provided according to an embodiment of the present invention;
[0050] Figure 5 It is a schematic diagram of the structure of an electronic device for implementing the method for testing the performance of a graphics processor according to an embodiment of the present invention. DETAILED DESCRIPTION
[0051] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0052] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0053] Figure 1 The flowchart of a method for testing the performance of a graphics processor provided by an embodiment of the present invention is applicable to the case of testing the performance of a graphics processor. The method can be executed by a graphics processor performance testing device. The graphics processor performance testing device can be implemented in the form of hardware and / or software. The graphics processor performance testing device can be configured in an electronic device. Figure 1 As shown, the method includes:
[0054] Step 110: After detecting that a user has logged into the graphics processor test platform, a test task created by the user in the platform is obtained; the test task includes host configuration information corresponding to the graphics processor to be tested, and a plurality of test items matching the graphics processor to be tested.
[0055] In this embodiment, the graphics processor test platform can be a Web application developed for graphics processor testing. The graphics processor test platform deploys a simple and easy-to-use human-computer interaction interface, rich and complete testing tools and a test case library.
[0056] In a specific embodiment, if a user has a test requirement for a certain graphics processor, the user can log in to the graphics processor test platform in the form of web page access and create a test task corresponding to the graphics processor to be tested in the platform.
[0057] In a specific embodiment, the host configuration information corresponding to the GPU to be tested in the test task may include the host's IP address, operating system, etc. The multiple test items matching the GPU to be tested may include general matrix multiplication (Gemm) calculation, Stream operation, Training operation, and Inference operation, etc.
[0058] Step 120: Send the multiple test items to each test node through the Kubernetes container cloud platform, and execute the test items in parallel through each test node according to the host configuration information to obtain a performance test result corresponding to the graphics processor to be tested.
[0059] In this embodiment, after obtaining multiple test items that match the graphics processor to be tested, the multiple test items can be sent to each test node respectively. Each test node uses the test tools and test cases pre-deployed in the platform to execute each test item in parallel according to the host configuration information to obtain the performance test results.
[0060] The advantage of this setting is that, since the Kubernetes container cloud platform can automatically manage and deploy containerized applications, by using the Kubernetes container cloud platform to send multiple test items to each test node separately, the parallel testing process of the graphics processor to be tested can be efficiently managed, making it easier for the graphics processor test platform to maintain and monitor the test process.
[0061] Step 130: Compare the performance test result with standard performance data corresponding to the graphics processor to be tested, and generate a performance test report corresponding to the graphics processor to be tested according to the comparison result.
[0062] In this embodiment, optionally, before obtaining the test task corresponding to the graphics processor to be tested created by the user, the standard performance data of the graphics processor to be tested under each test item may be pre-stored in a database corresponding to the platform.
[0063] After obtaining the performance test results of the GPU under test under each test item through the above steps, the performance test results can be compared with the corresponding standard performance data, and a performance test report can be generated according to the comparison results. Specifically, the performance test report can include the difference between the performance test results and the standard performance data, as well as whether the GPU under test is successfully tested.
[0064] The technical solution provided by the embodiment of the present invention obtains the test task created by the user in the platform after detecting that the user logs in to the graphics processor testing platform, the test task includes the host configuration information corresponding to the graphics processor to be tested, and multiple test items matching the graphics processor to be tested, and respectively sends the multiple test items to each test node through the Kubernetes container cloud platform, and executes each test item in parallel according to the host configuration information by each test node to obtain the performance test result corresponding to the graphics processor to be tested, compares the performance test result with the standard performance data corresponding to the graphics processor to be tested, and generates a performance test report according to the comparison result. The technical solution provides a method for automatically testing the graphics processor, which can reduce the human resources and time resources consumed in the graphics processor testing process, and improve the test efficiency and the accuracy of the test results.
[0065] Figure 2 A flowchart of another method for testing performance of a graphics processor provided by an embodiment of the present invention is shown in FIG. Figure 2 As shown, the method includes:
[0066] Step 210: After detecting that a user has logged into the graphics processor test platform, a test task created by the user in the platform is obtained; the test task includes host configuration information corresponding to the graphics processor to be tested, and a plurality of test items matching the graphics processor to be tested.
[0067] In one implementation of this embodiment, the front-end framework of the GPU test platform is built based on the React framework and the JavaScript programming language; the back-end framework of the GPU test platform is built based on the open source application framework Spring Boot. The GPU test platform integrates the code and document management tools Gitlab and SVN to manage the versions of the test tools deployed in the GPU test platform.
[0068] Among them, the React framework is a JavaScript library for building human-computer interaction interfaces. It achieves efficient page rendering and updating through the virtual Document Object Model (DOM) technology, and can split complex software interface design (User Interface Design, UI) into small, independent UI components, making the front-end maintenance and updating of the GPU test platform easier. The Spring Boot framework has a large number of commonly used logical dependencies and configuration information built in, allowing developers to focus more on the development of business logic, and the microservice architecture it builds can split the entire platform service into multiple small, independent services, such as login service, test service, document parsing service, comparison report service, etc.
[0069] In addition, the GPU testing platform also integrates the code and document management tool Gitlab and multi-terminal script storage repositories such as SVN, which are used to manage the test tool versions deployed in the GPU testing platform. This can always ensure the consistency of the test tool versions in the platform, avoid inconsistent test variables caused by inconsistent versions, and thus improve the accuracy of the GPU test results.
[0070] Step 220: Send the multiple test items to each test node through the Kubernetes container cloud platform, and execute the test items in parallel through each test node according to the host configuration information to obtain a performance test result corresponding to the graphics processor to be tested.
[0071] Step 230: Compare the performance test result with the standard performance data corresponding to the graphics processor to be tested, and generate a performance test report corresponding to the graphics processor to be tested according to the comparison result.
[0072] Step 240 , judging whether the GPU to be tested is successfully tested according to the comparison result, if so, executing step 250 , if not, executing step 260 .
[0073] In this embodiment, specifically, if the performance test result is consistent with the standard performance data, it can be determined that the test of the graphics processor to be tested is successful; otherwise, if the performance test result is inconsistent with the standard performance data, that is, the test of the graphics processor to be tested fails, then step 260 can be executed.
[0074] Step 250: Determine whether the test of the graphics processor to be tested is completed.
[0075] Step 260, obtaining the current test number corresponding to the GPU to be tested, and determining whether the current test number is less than a preset number threshold; if so, returning to step 220 to retest the GPU to be tested; if not, executing step 250.
[0076] If the test result corresponding to the GPU to be tested is inconsistent with the standard performance data, this embodiment proposes an implementation method of retesting the GPU to be tested. Specifically, after each test item is executed, the test node can count the number of times the GPU to be tested has completed the test (that is, the current test number), and then determine whether the current test number is less than the preset number threshold. If so, return to step 220 to retest the GPU to be tested; if not, determine that the current test number has reached the maximum test number limit, in which case, determine that the test of the GPU to be tested is completed.
[0077] The advantage of such a setting is that during the test process of the graphics processor to be tested, the test results may be inconsistent with the standard performance data due to factors such as an unstable test environment. In this case, by retesting the graphics processor to be tested, the influence of external interference on the test results can be avoided, thereby improving the accuracy of the final test results of the graphics processor to be tested.
[0078] The technical solution provided by the embodiment of the present invention obtains the test task created by the user in the platform after detecting that the user logs in to the graphics processor test platform; the test task includes the host configuration information and multiple test items corresponding to the graphics processor to be tested; the multiple test items are respectively sent to each test node through the Kubernetes container cloud platform, and each test node executes each test item in parallel according to the host configuration information to obtain a performance test result; the performance test result is compared with the standard performance data, and a performance test report is generated according to the comparison result; it is determined whether the test of the graphics processor to be tested is successful, if not, it is determined whether the current test number corresponding to the graphics processor to be tested is less than a preset number threshold, and if so, it returns to execute the operation of sending the multiple test items to each test node through the Kubernetes container cloud platform respectively, so as to retest the graphics processor to be tested; if not, the technical means for determining that the test of the graphics processor to be tested is completed can reduce the testing cost of the graphics processor, improve the testing efficiency and the accuracy of the test results.
[0079] Figure 3 A flowchart of another method for testing performance of a graphics processor provided by an embodiment of the present invention is shown in FIG. Figure 3 As shown, the method includes:
[0080] Step 310: After detecting that the administrator has logged into the graphics processor test platform, obtain the software requirement specification (Spec) uploaded by the administrator that matches the graphics processor to be tested.
[0081] Step 320: parse the software specification manual using an OCR model to obtain standard performance data corresponding to the graphics processor to be tested.
[0082] In this embodiment, specifically, after the front end of the graphics processor test platform receives the software specification, it can pass the software specification to the back end through the Web data interaction method (Axios), and the back end routes the software specification according to the request address and the Hypertext Transfer Protocol (HTTP), and then uses the OCR model to parse the software specification to obtain standard performance data corresponding to the graphics processor to be tested.
[0083] Step 330: In response to a data storage request triggered by an administrator, the standard performance data corresponding to the graphics processor to be tested is persistently stored in a preset database.
[0084] In this step, specifically, the standard performance data corresponding to the graphics processor to be tested can be persistently stored in a preset database through the persistence layer framework MyBatis-Plus.
[0085] The advantage of this setting is that by persistently storing the standard performance data corresponding to the graphics processor to be tested in a preset database, the standard performance data can be reused in subsequent testing processes without downloading the official performance document of the graphics processor to be tested each time, thereby improving the testing efficiency of the graphics processor.
[0086] In this embodiment, specifically, the administrator may also allocate user rights corresponding to the graphics processor test platform, for example, dividing users corresponding to the graphics processor test platform into testers and non-testers.
[0087] Step 340: After detecting that a user has logged into the graphics processor test platform, the identity of the user is identified according to the user's login information.
[0088] In this embodiment, the user's login account can be compared with the user information stored in the database to obtain the user's identity recognition result. The database pre-stores the mapping relationship between different user login accounts and identity information.
[0089] Step 350: If the user is a tester, a test task created by the user in the platform is obtained; the test task includes host configuration information corresponding to the graphics processor to be tested, and multiple test items matching the graphics processor to be tested.
[0090] The advantage of such a setting is that after detecting that a user logs into the graphics processor test platform, the security and stability of the operation process of the graphics processor test platform can be guaranteed by identifying the identity of the user.
[0091] Step 360: Send the multiple test items to each test node through the Kubernetes container cloud platform, and execute the test items in parallel through each test node according to the host configuration information to obtain a performance test result corresponding to the graphics processor to be tested.
[0092] In one implementation of this embodiment, while executing each test item in parallel through each test node according to the host configuration information, it also includes: displaying the test progress corresponding to the test task to the user through a visual interface.
[0093] Step 370: Compare the performance test result with the standard performance data corresponding to the graphics processor to be tested, and generate a performance test report corresponding to the graphics processor to be tested according to the comparison result.
[0094] In an implementation of this embodiment, after generating a performance test report corresponding to the graphics processor to be tested according to the comparison result, the method further includes: displaying the performance test report corresponding to the graphics processor to be tested to a user through a visual interface.
[0095] The advantage of such a setting is that it allows the user to intuitively view the performance defects of the graphics processor, thereby facilitating rapid resolution of the performance defects of the graphics processor.
[0096] In a specific embodiment, after the performance test report corresponding to the graphics processor to be tested is displayed to the user, it also includes: in response to a download request triggered by the user for the performance test report, obtaining a target storage location that matches the download request; and storing the performance test report in the target storage location.
[0097] The advantage of such a setting is that by storing the performance test report in a target storage location specified by the user, it is convenient for the user to work with, communicate with, and review the graphics processor to be tested.
[0098] The technical solution provided by the embodiment of the present invention detects that an administrator has logged into a graphics processor test platform, obtains a software specification uploaded by the administrator, parses the software specification through an OCR model to obtain standard performance data, and persistently stores the standard performance data in a preset database. After detecting that a user has logged into the graphics processor test platform, the identity of the user is identified according to the user's login information. If the user is a tester, the test task created by the user in the platform is obtained, including host configuration information corresponding to the graphics processor to be tested and multiple test items; the multiple test items are respectively sent to each test node through the Kubernetes container cloud platform, and each test node executes each test item in parallel according to the host configuration information to obtain a performance test result corresponding to the graphics processor to be tested, compares the performance test result with the standard performance data, and generates a performance test report according to the comparison result. The technical means can ensure the security and stability of the graphics processor test platform operation process, reduce the testing cost of the graphics processor, and improve the testing efficiency and the accuracy of the test results.
[0099] Figure 4 A schematic diagram of a graphics processor performance test device provided by an embodiment of the present invention is provided. The device is applied to electronic equipment, such as Figure 4As shown, the device includes: a task acquisition module 410, a parallel testing module 420 and a report generation module 430.
[0100] The task acquisition module 410 is used to acquire the test task created by the user in the platform after detecting that the user logs into the graphics processor test platform; the test task includes the host configuration information corresponding to the graphics processor to be tested, and multiple test items matching the graphics processor to be tested;
[0101] The parallel testing module 420 is used to send the multiple test items to each test node respectively through the Kubernetes container cloud platform, and execute the test items in parallel through each test node according to the host configuration information to obtain a performance test result corresponding to the graphics processor to be tested;
[0102] The report generating module 430 is used to compare the performance test result with the standard performance data corresponding to the graphics processor to be tested, and generate a performance test report corresponding to the graphics processor to be tested according to the comparison result.
[0103] The technical solution provided by the embodiment of the present invention obtains the test task created by the user in the platform after detecting that the user logs in to the graphics processor testing platform, the test task includes the host configuration information corresponding to the graphics processor to be tested, and multiple test items matching the graphics processor to be tested, and respectively sends the multiple test items to each test node through the Kubernetes container cloud platform, and executes each test item in parallel according to the host configuration information by each test node to obtain the performance test result corresponding to the graphics processor to be tested, compares the performance test result with the standard performance data corresponding to the graphics processor to be tested, and generates a performance test report according to the comparison result. The technical solution provides a method for automatically testing the graphics processor, which can reduce the human resources and time resources consumed in the graphics processor testing process, and improve the test efficiency and the accuracy of the test results.
[0104] Based on the above embodiment, the front-end framework of the GPU test platform is constructed based on the React framework and JavaScript programming language; the back-end framework of the GPU test platform is constructed based on the open source application framework Spring Boot. The GPU test platform integrates the code and document management tools Gitlab and SVN to manage the test tool versions deployed in the GPU test platform.
[0105] The device also includes:
[0106] A test result processing module is used to determine whether the test of the graphics processor to be tested is successful according to the comparison result; if so, determine that the test of the graphics processor to be tested is completed; if not, obtain the current test number corresponding to the graphics processor to be tested, and determine whether the current test number is less than a preset number threshold; if so, return to execute the operation of sending the multiple test items to each test node respectively through the Kubernetes container cloud platform to retest the graphics processor to be tested; if not, determine that the test of the graphics processor to be tested is completed;
[0107] The document acquisition module is used to detect that the administrator has logged into the graphics processor test platform and then acquire the software specification manual uploaded by the administrator that matches the graphics processor to be tested;
[0108] A document parsing module, used to parse the software specification manual through an OCR model to obtain standard performance data corresponding to the graphics processor to be tested;
[0109] The data storage module is used to respond to a data storage request triggered by an administrator and persistently store the standard performance data corresponding to the graphics processor to be tested in a preset database.
[0110] The task acquisition module 410 includes:
[0111] The identity recognition unit is used to detect that a user logs into the graphics processor test platform, and then identify the identity of the user according to the user's login information; if the user is a tester, obtain the test task created by the user in the platform.
[0112] The parallel testing module 420 includes:
[0113] The test progress display unit is used to display the test progress corresponding to the test task to the user through a visual interface.
[0114] The report generation module 430 includes:
[0115] A report display unit, used to display the performance test report corresponding to the graphics processor to be tested to the user through a visual interface;
[0116] A download request response unit, configured to respond to a download request triggered by a user for the performance test report and obtain a target storage location matching the download request;
[0117] A report storage unit is used to store the performance test report in the target storage location.
[0118] The above device can execute the methods provided by all the above embodiments of the present invention, and has the corresponding functional modules and beneficial effects of executing the above methods. For technical details not fully described in the embodiments of the present invention, please refer to the methods provided by all the above embodiments of the present invention.
[0119] Figure 5 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0120] like Figure 5 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0121] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0122] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a graphics processor performance test method.
[0123] In some embodiments, the graphics processor performance test method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the graphics processor performance test method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the graphics processor performance test method in any other appropriate manner (e.g., by means of firmware).
[0124] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0125] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0126] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0127] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0128] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0129] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0130] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0131] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for testing performance of a graphics processor, characterized in that: The method comprises: After detecting that a user logs into the graphics processor test platform, obtaining a test task created by the user in the platform; The test task includes host configuration information corresponding to the graphics processor to be tested, and a plurality of test items matching the graphics processor to be tested; The multiple test items are respectively sent to each test node through the Kubernetes container cloud platform, and each test node executes each test item in parallel according to the host configuration information to obtain a performance test result corresponding to the graphics processor to be tested; The performance test result is compared with standard performance data corresponding to the graphics processor to be tested, and a performance test report corresponding to the graphics processor to be tested is generated according to the comparison result.
2. The method according to claim 1, characterized in that After generating a performance test report corresponding to the graphics processor to be tested, the method further includes: According to the comparison result, determining whether the graphics processor to be tested is tested successfully; If yes, it is determined that the test of the graphics processor to be tested is completed; If not, obtaining the current test number corresponding to the graphics processor to be tested, and determining whether the current test number is less than a preset number threshold; If yes, return to execute the operation of sending the multiple test items to each test node through the Kubernetes container cloud platform to retest the graphics processor to be tested; If not, it is determined that the test of the graphics processor to be tested is completed.
3. The method according to claim 1, characterized in that After detecting that a user logs into the graphics processor test platform, obtaining a test task created by the user in the platform, including: After detecting that a user logs into the graphics processor test platform, identifying the identity of the user according to the login information of the user; If the user is a tester, the test tasks created by the user in the platform are obtained.
4. The method according to claim 1, characterized in that: After detecting that a user logs in to the graphics processor test platform, before obtaining the test task created by the user in the platform, the method further includes: After detecting that an administrator has logged into the graphics processor test platform, obtaining a software specification manual uploaded by the administrator that matches the graphics processor to be tested; Parsing the software specification manual through an optical character recognition (OCR) model to obtain standard performance data corresponding to the graphics processor to be tested; In response to a data storage request triggered by an administrator, the standard performance data corresponding to the graphics processor to be tested is persistently stored in a preset database.
5. The method according to claim 1, characterized in that While executing each test item in parallel through each test node according to the host configuration information, the method further includes: The test progress corresponding to the test task is displayed to the user through a visual interface; After generating a performance test report corresponding to the graphics processor to be tested according to the comparison result, the method further includes: The performance test report corresponding to the graphics processor to be tested is displayed to the user through a visual interface.
6. The method according to claim 5, characterized in that After displaying the performance test report corresponding to the graphics processor to be tested to the user through the visual interface, the method further includes: In response to a download request triggered by a user for the performance test report, obtaining a target storage location matching the download request; The performance test report is stored in the target storage location.
7. The method according to claim 1, characterized in that The front-end framework of the graphics processor test platform is constructed based on the React framework and the JavaScript programming language; the back-end framework of the graphics processor test platform is constructed based on the open source application framework Spring Boot; The GPU test platform integrates a code and document management tool Gitlab and a code version management tool SVN, which are used to manage the test tool versions deployed in the GPU test platform.
8. A graphics processor performance testing device, characterized in that: The device comprises: A task acquisition module, used to acquire the test tasks created by the user in the platform after detecting that the user has logged into the graphics processor test platform; The test task includes host configuration information corresponding to the graphics processor to be tested, and a plurality of test items matching the graphics processor to be tested; A parallel testing module is used to send the multiple test items to each test node respectively through the Kubernetes container cloud platform, and execute each test item in parallel through each test node according to the host configuration information to obtain a performance test result corresponding to the graphics processor to be tested; The report generating module is used to compare the performance test result with the standard performance data corresponding to the graphics processor to be tested, and generate a performance test report corresponding to the graphics processor to be tested according to the comparison result.
9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the graphics processor performance testing method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the graphics processor performance testing method according to any one of claims 1 to 7 when executed.
Citation Information
Patent Citations
A method and a system for testing the floating-point operation performance of a GPU
CN108958999A
Multi-cloud platform resource performance test method and device and storage medium
CN113760672A
Graphic processor testing method and electronic equipment
CN114255155A
Scene type automatic testing method and system for OpenStack cloud platform
CN114564387A
Performance test method, device and equipment of GPU server and storage medium
CN115203019A