Performance test method and device
By obtaining the architectural feature information of the computer system and matching executable files from the performance testing software package for HPL testing, the problem of low testing efficiency in the existing technology is solved, and the effect of simplifying the test process and improving efficiency is achieved.
Patent Information
- Application Number
- CN202411426820.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-12
- Publication Date
- 2025-01-14
AI Technical Summary
Existing HPL testing methods are inefficient in testing and require the deployment of test environments for each computer system, resulting in complex debugging processes and inefficient stand-alone testing.
By obtaining the architectural feature information of the target computer system, matching the corresponding executable files from the performance testing software package, performing floating-point performance testing, and pre-compiling multiple architectural environments for the software package, simplifying the testing process and shortening the testing time.
There is no need to deploy a test environment on each computer system, which greatly simplifies the HPL testing process, improves testing efficiency and accuracy, and ensures the stability and efficiency of test results.
Smart Images

Figure CN119311502A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of computer system performance testing, and in particular to a performance testing method and device. Background Art
[0002] HPL (The High-Performance Linpack BenchmarkQ, highly parallel computing benchmark) is a benchmark program for testing the floating-point performance of a computer system.
[0003] In the related art, the components of HPL testing include at least HPL testing program, parallel computing environment, high-performance mathematical library, etc. When performing HPL testing on different computer systems, it is necessary to install the HPL testing program, parallel computing environment, high-performance mathematical library and other testing environments, and then perform the test after the environment deployment is completed.
[0004] However, the HPL testing method in the related art has a technical problem of low testing efficiency. Summary of the invention
[0005] Based on this, it is necessary to provide a performance testing method and device to improve the testing efficiency of HPL testing in response to the above technical problems.
[0006] In a first aspect, the present application provides a performance testing method, comprising:
[0007] In response to a floating point performance test request of a target computer system, acquiring architectural feature information of the target computer system;
[0008] According to the architecture feature information, the corresponding target executable file is matched from the performance test software package; the performance test software package is obtained by integrating and packaging the executable programs compiled according to the test environments of various architectures;
[0009] The test is performed according to the target executable file to obtain the floating-point performance test result of the target computer system.
[0010] In the performance testing method provided by the embodiment of the present application, by responding to the floating-point performance test request of the target computer system, the architecture feature information of the target computer system is obtained, and then the corresponding target executable file is matched from the performance testing software package according to the architecture feature information, and then the test is performed according to the target executable file to obtain the floating-point performance test result of the target computer system, wherein the performance testing software package is obtained by integrating and packaging the executable program according to the test environment of multiple architectures. In this method, when it is necessary to perform a floating-point performance test on the target computer system, the corresponding target executable file is matched from the performance testing software package based on the architecture feature information of the target computer system, and the floating-point performance test is performed on the target computer system based on the target executable file, and the performance testing software package is obtained by integrating and packaging the executable program according to the test environment of multiple architectures, which is equivalent to that the performance testing software package includes the executable programs required for multiple architecture tests, and when it is necessary to test a certain computer system, it is only necessary to obtain the corresponding executable program from the performance testing software package based on the architecture feature information of the computer system, and realize the floating-point performance test of the computer system by running the executable program. In this process, by pre-compiling the executable programs of the test environments of various architectures and then integrating and packaging them, the performance testing software package includes executable files of various architectures. In the actual HPL testing process, for any computer system, the corresponding executable file can be matched from the performance testing software package for testing. There is no need to deploy the corresponding test environment for each computer system, which greatly simplifies the HPL testing process, shortens the testing time, and improves the testing efficiency.
[0011] In one embodiment, matching a corresponding target executable file from a performance testing software package according to the architecture feature information includes:
[0012] determining a target parallel computing environment of a target computer system according to the architecture feature information;
[0013] According to the target parallel computing environment, obtain the corresponding target executable file from the performance testing software package.
[0014] In the performance testing method provided in the embodiment of the present application, the target parallel computing environment of the target computer system is determined according to the architecture feature information, and then the corresponding target executable file is obtained from the performance testing software package according to the target parallel computing environment. In this method, on the basis of obtaining the architecture feature information of the target computer system, the target parallel computing environment of the target computer system is obtained based on the architecture feature information, so that the server can quickly and accurately obtain the target executable file of the target computer system based on the target parallel computing environment; the architecture information of the target computer system is matched with the optimal compiled executable file for testing to ensure that the test results are stable and efficient.
[0015] In one embodiment, the performance test software package includes a mapping relationship between multiple parallel computing environments and multiple executable files; according to the target parallel computing environment, obtaining the corresponding target executable file from the performance test software package includes:
[0016] According to the target parallel computing environment, obtaining an executable file matching the target parallel computing environment from the mapping relationship;
[0017] An executable file matching the target parallel computing environment is determined as a target executable file.
[0018] In the performance testing method provided by the embodiment of the present application, the executable file matching the target parallel computing environment is obtained from the mapping relationship according to the target parallel computing environment, and then the executable file matching the target parallel computing environment is determined as the target executable file. In this method, the performance testing software package includes a mapping relationship between multiple parallel computing environments and multiple executable files. According to the target parallel computing environment, the executable file corresponding to the target parallel computing environment can be quickly matched from the mapping relationship, and the matched executable file is the target executable file; by introducing the mapping relationship between the parallel computing environment and the executable file, the server can quickly obtain the target executable file, thereby improving the efficiency of obtaining the target executable file.
[0019] In one embodiment, performing a test according to a target executable file to obtain a floating point performance test result of a target computer system includes:
[0020] obtaining a target test configuration file of a target computer system;
[0021] The target computer system is tested using the target test configuration file and the target executable file to obtain the floating-point performance test result of the target computer system.
[0022] In the performance testing method provided in the embodiment of the present application, the target test configuration file of the target computer system is obtained, and then the target test configuration file and the target executable file are used to test the target computer system to obtain the floating-point performance test result of the target computer system. In this method, an optional way to test the target computer system is provided; by obtaining the target test configuration file of the target computer system, the server can run the target executable file based on the test parameters in the test configuration file to obtain the test result, and by executing the executable file that conforms to the architectural characteristics of the target computer system based on the test parameter values determined based on the characteristics of the target computer system itself, the performance test of the target computer system is performed, thereby improving the reliability and accuracy of the test result.
[0023] In one embodiment, obtaining a target test configuration file of a target computer system includes:
[0024] According to the performance test software package, obtain the test configuration file;
[0025] Determine parameter values of multiple test parameters in the test configuration file according to the architecture characteristic information;
[0026] Fill each parameter value into the corresponding position of the test configuration file to obtain the target test configuration file.
[0027] In the performance testing method provided in the embodiment of the present application, a test configuration file is obtained according to the performance testing software package, and then the parameter values of multiple test parameters in the test configuration file are determined according to the architecture feature information, and then each parameter value is filled into the corresponding position of the test configuration file to obtain a target test configuration file. In this method, different computer systems have different test configuration files, which mainly depends on the architecture feature information of the computer system. If the architecture feature information is different, the parameter values of each test parameter in the test configuration file are different, and then the test configuration files are also different. In this solution, after the parameter values of each test parameter are determined according to the architecture feature information of the target computer system, each parameter value is filled into the test configuration file, so that the target test configuration file of the target computer system can be quickly and accurately determined. By accurately determining the target test configuration file of the target computer system, a foundation is laid for improving the accuracy of floating-point performance testing.
[0028] In one embodiment, the method further comprises:
[0029] When it is detected that the floating point performance test result of the target computer system does not meet the expected performance, obtaining multiple historical test parameter values;
[0030] The target computer system is tested using various historical test parameter values to re-determine the floating-point performance test result of the target computer system.
[0031] In the performance testing method provided by the embodiment of the present application, when it is detected that the floating-point performance test result of the target computer system does not meet the expected performance, multiple historical test parameter values are obtained, and then the target computer system is tested using each historical test parameter value to re-determine the floating-point performance test result of the target computer system. In this method, when the floating-point performance test result does not meet the expected performance, the test parameter values of the target computer system are automatically optimized and adjusted by obtaining multiple historical test parameter values to ensure that the test result can achieve a relatively satisfactory result, and the test efficiency is further improved by replacing the original method of manually adjusting the test parameters.
[0032] In one embodiment, the method further comprises:
[0033] Determining a mapping relationship between an executable file of each sample architecture and a parallel computing environment according to sample architecture feature information of the plurality of sample architectures;
[0034] Each mapping relationship is encapsulated to obtain a performance testing software package.
[0035] In the performance testing method provided in the embodiment of the present application, the mapping relationship between the executable files of each sample architecture and the parallel computing environment is determined according to the sample architecture feature information of multiple sample architectures, and then each mapping relationship is encapsulated to obtain a performance testing software package. In this method, an optional way to quickly determine the performance testing software package is provided; by obtaining the mapping relationship between the executable files of each sample architecture and the parallel computing environment according to the sample architecture feature information of multiple sample architectures, and then the mapping relationship between the executable files of each sample architecture and the parallel computing environment is software encapsulated, the performance testing software package can be quickly obtained, which provides data support for the subsequent performance testing of the target computer system and improves the HPL testing efficiency.
[0036] In one embodiment, determining a mapping relationship between an executable file of each sample architecture and a parallel computing environment according to sample architecture feature information of multiple sample architectures includes:
[0037] Determine the mathematical library, parallel computing environment and compilation configuration file of each sample architecture according to the characteristic information of each sample architecture;
[0038] Determine the executable file of each sample architecture according to each mathematical library, each parallel computing environment and each compilation configuration file;
[0039] The executable files of each sample architecture are associated with the parallel computing environments of each sample architecture to obtain a mapping relationship between the executable files of each sample architecture and the parallel computing environments.
[0040] In the performance testing method provided by the embodiment of the present application, the mathematical library, parallel computing environment and compilation configuration file of each sample architecture are determined according to the characteristic information of each sample architecture, and then the executable file of each sample architecture is determined according to each mathematical library, each parallel computing environment and each compilation configuration file, and then the executable file of each sample architecture is associated with the parallel computing environment of each sample architecture to obtain the mapping relationship between the executable file of each sample architecture and the parallel computing environment. In this method, the optimal mathematical library, parallel computing environment and compilation configuration file can be determined according to the sample architecture characteristic information of each sample architecture, and the executable file of each sample architecture can be quickly obtained by compiling based on the mathematical library, parallel computing environment and compilation configuration file respectively, which lays the foundation for the establishment of the mapping relationship. On the basis of obtaining the executable file of each sample architecture, the executable file of each sample architecture is associated with the parallel computing environment of each sample architecture, and the mapping relationship between the executable file of each sample architecture and the parallel computing environment can be quickly and accurately obtained, which provides an optional way to quickly determine the mapping relationship.
[0041] In one embodiment, the executable files of each sample architecture are determined according to each mathematical library, each parallel computing environment and each compilation configuration file, including:
[0042] For any sample architecture, the floating point performance test source code is compiled according to the mathematical library, parallel computing environment and compilation configuration file of the sample architecture to generate an executable file of the sample architecture.
[0043] In the performance testing method provided in the embodiment of the present application, for any sample architecture, the floating-point performance test source code is compiled according to the mathematical library, parallel computing environment and compilation configuration file of the sample architecture to generate an executable file of the sample architecture. In this method, an optional way to quickly determine the executable files of each sample architecture is provided; on the basis of obtaining the mathematical library, parallel computing environment and compilation configuration file of each sample architecture, the compiler, mathematical library and parallel computing environment in the compilation configuration file are used to compile the HPL test source code, and the executable files of each sample architecture can be quickly obtained; by matching the optimal mathematical library and parallel computing environment with different sample architectures, and pre-compiling, the executable files that meet the expected results of each sample architecture are screened and obtained, providing data support for the performance test of the target computer system.
[0044] In a second aspect, the present application also provides a performance testing device, comprising:
[0045] An architecture information acquisition module, for acquiring architecture feature information of a target computer system in response to a floating point performance test request of the target computer system;
[0046] The file matching module is used to match the corresponding target executable file from the performance test software package according to the architecture feature information; the performance test software package is obtained by integrating and packaging the executable programs compiled according to the test environments of various architectures;
[0047] The performance testing module is used to perform testing according to the target executable file to obtain the floating-point performance test results of the target computer system.
[0048] In a third aspect, the present application also provides a computer device, which includes a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps in any one of the embodiments of the first aspect when executing the computer program.
[0049] In a fourth aspect, the embodiments of the present application further provide a computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps in any one of the embodiments of the first aspect are implemented.
[0050] In a fifth aspect, the embodiments of the present application further provide a computer program product, which includes a computer program, and when the computer program is executed by a processor, the steps in any one of the embodiments in the first aspect are implemented.
[0051] The above-mentioned performance test method and device obtain the architecture feature information of the target computer system by responding to the floating-point performance test request of the target computer system, and then match the corresponding target executable file from the performance test software package according to the architecture feature information, and then perform the test according to the target executable file to obtain the floating-point performance test result of the target computer system, wherein the performance test software package is obtained by integrating and packaging the executable program after compiling it according to the test environment of multiple architectures. In this method, when it is necessary to perform a floating-point performance test on the target computer system, the corresponding target executable file is matched from the performance test software package based on the architecture feature information of the target computer system, and the floating-point performance test is performed on the target computer system based on the target executable file, and the performance test software package is obtained by integrating and packaging the executable program after compiling it according to the test environment of multiple architectures, which is equivalent to that the performance test software package includes the executable programs required for multiple architecture tests. When it is necessary to test a certain computer system, it is only necessary to obtain the corresponding executable program from the performance test software package based on the architecture feature information of the computer system, and realize the floating-point performance test of the computer system by running the executable program. In this process, by pre-compiling the executable programs of the test environments of various architectures and then integrating and packaging them, the performance test software package includes executable files of various architectures. In the actual HPL test process, for any computer system, the corresponding executable file can be matched from the performance test software package for testing. There is no need to deploy the corresponding test environment for each computer system, which reduces the process of test environment deployment, shortens the time required for testing, and improves test efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0053] Figure 1 An application environment diagram of a performance testing method in an embodiment;
[0054] Figure 2 A schematic diagram of a HPL test process in one embodiment;
[0055] Figure 3 A schematic diagram of a performance testing method in one embodiment;
[0056] Figure 4 A schematic diagram of a process for matching a target executable file in one embodiment;
[0057] Figure 5 A schematic diagram of a process for obtaining a target executable file in one embodiment;
[0058] Figure 6 A schematic diagram of a process for determining a floating point performance test result in one embodiment;
[0059] Figure 7 A schematic diagram of a process for obtaining a target test configuration file in one embodiment;
[0060] Figure 8 A schematic diagram of a process for updating floating-point performance test results in one embodiment;
[0061] Fig. 9 A schematic diagram of a process for determining a performance test software package in one embodiment;
[0062] Fig.10 A schematic diagram of a process for determining a mapping relationship in an embodiment;
[0063] Fig.11 is a flow chart of a performance testing method in another embodiment;
[0064] Fig.12 is a schematic structural diagram of a performance testing device in one embodiment;
[0065] Fig.13 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0066] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0067] The performance testing method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown. Among them, the terminal 102 communicates with the server 104 through the network. The data storage system can store the data that the server 104 needs to process. The data storage system can be integrated on the server 104, or it can be placed on the cloud or other network servers. Optionally, the terminal 102 is used to receive the floating-point performance test results of the target computer system. When the server 104 performs the test and obtains the floating-point performance test results of the target computer system, the floating-point performance test results of the target computer system can be sent to the terminal 102. Among them, the terminal 102 can be but is not limited to various personal computers, laptops, smart phones, tablets, Internet of Things devices and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart car-mounted devices, etc. Portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. The server 104 can be implemented with an independent server or a server cluster consisting of multiple servers.
[0068] The technical background of this application is described below.
[0069] Linpack (Linear system package) is a benchmark program for testing the floating-point performance of computer systems. It is widely used to measure the performance of supercomputers, servers and other high-performance computing systems. The key features of Linpack include: ① Matrix solving: Linpack mainly tests the performance of matrix solving, especially the ability to solve large linear equations. ② High-performance computing: Linpack is designed to test the floating-point operation speed and parallel processing capabilities of high-performance computing systems. ③ Standardized testing: Linpack is a standardized test program that allows performance comparisons between different systems. ④ Versatility: Linpack can be applied to various types of computer systems, including supercomputers, servers and personal computers. ⑤ Floating-point operations: Linpack mainly tests floating-point operation performance, including operations such as addition, subtraction, multiplication, division and square root. Linpack test results are usually expressed in floating-point operations per second (FLOPS). The higher the FLOPS value, the stronger the computer system performance.
[0070] In the related art, HPL (The High-Performance Linpack BenchmarkQ) is a highly parallel computing implementation of Linpack. To perform HPL testing, three necessary components are required: HPL test program, parallel computing environment, and high-performance math library. HPL only focuses on solving a specific matrix solving problem, that is, solving a system of linear equations of a dense matrix.
[0071] Usually, in the process of testing HPL, it is necessary to optimize parameters for different platforms and compile them for different platforms before normal testing can be achieved. There are still some problems with HPL testing in related technologies. For example, HPL testing requires the installation of HPL software, parallel computing environment, mathematical library and other testing environments at the same time. The debugging process is relatively complicated, and the efficiency of single-machine testing is relatively low, which is not conducive to single-machine testing. Figure 2 In addition, in the HPL test process, different math libraries and test parameters are matched for different CPU (Central Processing Unit, CPU) platforms and different configurations. Even based on the existing test experience, the corresponding parameters need to be modified according to the different configurations of each test, and each modification needs to be verified and tested, making it difficult to quickly obtain ideal test results.
[0072] Based on this, the embodiment of the present application provides a performance testing method. When it is necessary to perform a floating-point performance test on a target computer system, the corresponding target executable file is matched from the performance testing software package based on the architecture feature information of the target computer system, and the floating-point performance test is performed on the target computer system based on the target executable file. The performance testing software package is obtained by integrating and packaging the executable programs according to the test environments of various architectures, which is equivalent to that the performance testing software package includes the executable programs required for the various architecture tests. When it is necessary to test a certain computer system, it is only necessary to obtain the corresponding executable program from the performance testing software package based on the architecture feature information of the computer system, and implement the floating-point performance test of the computer system by running the executable program. In this process, by pre-compiling the executable programs of the test environments of various architectures and integrating and packaging them, the performance testing software package includes executable files of various architectures. In the actual HPL test process, for any computer system, the corresponding executable file can be matched from the performance testing software package for testing, and there is no need to deploy the corresponding test environment for each computer system, which reduces the process of deploying the test environment, shortens the time required for testing, and improves the test efficiency.
[0073] It should be noted that the beneficial effects brought about by the embodiments of the present application or the technical problems solved are not limited to this one, but may also include other implicit or related problems. For details, please refer to the description of the following embodiments.
[0074] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0075] In an exemplary embodiment, Figure 3 As shown, a performance testing method is provided, which is applied to Figure 1 The server 104 in the example is used as an example to illustrate, including the following steps 201 to 203. Among them:
[0076] S201 , in response to a floating-point performance test request of a target computer system, obtaining architecture feature information of the target computer system.
[0077] The target computer system refers to the computer system that needs to be tested for floating-point performance. The computer system is composed of two major parts: hardware and software. Hardware is the physical basis of the computer system, including the host, peripherals and other physical parts, which determines the performance limit of the computer. Software includes system software and application software. System software, such as operating systems and database management systems, is responsible for managing the entire computer system; application software, such as WeChat, is a program compiled according to task requirements.
[0078] Floating point refers to a numerical representation method used to represent real numbers, that is, numbers that contain a decimal point. Floating point performance refers to the ability of a computer system to perform floating point operations, including speed and accuracy. Floating point operations include addition, subtraction, multiplication, division, and square root operations.
[0079] The floating point performance test request refers to a request triggered when the target computer system needs to be tested for floating point performance in the performance test application of the server. Naturally, after receiving the floating point performance test request, the server needs to perform floating point performance test on the target computer system.
[0080] In one embodiment, the request is triggered by the target user through the server interface in the performance testing application; wherein, the triggering method includes but is not limited to external input device clicks, voice control, touch screen triggering, etc., and the embodiment of the present application does not limit the triggering method.
[0081] In another embodiment, the request is triggered according to a preset automatic program; for example, if the server detects that the target computer system needs to process a specific task, the floating-point performance test request of the target computer system is automatically triggered according to the preset program; or, when the server detects that the target computer system needs to process a specific task, if the application is in an idle state, the floating-point performance test request of the target computer system is automatically triggered according to the preset program. Among them, the specific tasks may include scientific computing, engineering simulation, image processing, video encoding and decoding, etc. The embodiment of the present application does not limit the triggering method of the floating-point performance test request.
[0082] Architectural feature information refers to information related to the CPU and memory in a computer system, which may include but is not limited to the number of CPU cores, CPU platform, CPU model, memory configuration, etc., where the memory configuration may include random-access memory (RAM), read-only memory (ROM), and cache, etc.
[0083] Exemplarily, the method of obtaining the architecture feature information of the target computer system may be to obtain it from an architecture information database. For example, the architecture feature information of multiple computer systems is stored in a data table according to the system identification of each computer system, forming an architecture information database, wherein the architecture feature information of each computer system has a mapping relationship with the corresponding system identification. When it is necessary to obtain the architecture feature information of the target computer system, the system identification of the target computer system is obtained, and then the corresponding architecture feature information is matched from the mapping relationship of the architecture information feature data according to the system identification, and the matched architecture feature information is used as the architecture feature information of the target computer system.
[0084] S202, matching a corresponding target executable file from a performance test software package according to the architecture feature information; the performance test software package is obtained by integrating and packaging executable programs compiled according to test environments of various architectures.
[0085] In the embodiment of the present application, the performance test software package is obtained by compiling and packaging the executable programs of the test environments of various architectures. The architecture refers to the overall design of the structure and function of the CPU, which defines how the CPU executes instructions, how it accesses memory, and how it interacts with other hardware components.
[0086] The test environment of the architecture refers to the HPL test program, parallel computing environment MPI (Message Passing Interface) and high-performance math library required for HPL testing. Among them, the parallel computing environment MPI includes OpenMPI (Open Message Passing Interface), Intel MPI (Intel Message Passing Interface Library), etc. High-performance math libraries include Intel MKL (Intel Math Kernel Library), OpenBLAS (Open Basic Linear Algebra Subprograms) and ScaLAPACK (Scalable Linear Algebra PACKage, high-performance linear algebra library for parallel computing), etc.
[0087] In this embodiment, the test environments of various architectures are compiled and integrated and packaged to obtain an overall software test package for performing floating-point performance tests on different architectures.
[0088] Exemplarily, the performance test software package can be constructed by obtaining the parallel test environment and high-performance math library corresponding to each architecture based on the architecture feature information of multiple architectures, and then compiling the HPL test program according to the parallel test environment and high-performance math library corresponding to each architecture to obtain the executable file of each architecture, and then integrating and packaging the executable files of each architecture to obtain the performance test software. In this way, the performance test software includes executable files of multiple architectures. Among them, the executable file is an executable program for the HPL test, and by executing the executable program, the floating-point performance test of the computer system can be realized.
[0089] Based on the performance testing software obtained above, the executable file required for testing the target computer system can be obtained from the performance testing software.
[0090] In an embodiment of the present application, after the architectural feature information of the target computer system is obtained, the architectural feature information of the target computer system can be compared with the architectural feature information of multiple architectures in the performance testing software. If the architectural feature information of a certain architecture in the performance testing software is the same as the architectural feature information of the target computer system, the executable file of the architecture in the performance testing software is determined as the target executable file.
[0091] S203, executing a test according to the target executable file to obtain a floating-point performance test result of the target computer system.
[0092] In the embodiments of the present application, the floating-point performance test results are usually expressed as floating-point calculation peak values, where the floating-point calculation peak value refers to the number of floating-point calculations that the computer can complete per second.
[0093] Based on the above matched target executable file, a floating point performance test is performed on the target computer system to obtain a floating point performance test result of the target computer system.
[0094] In one embodiment, the method of performing the test according to the target executable file and obtaining the floating-point performance test result of the target computer system can be to send the performance test software package to the target computer system and specify the target executable file. After receiving the performance test software package and the specified target executable file, the target computer system obtains the target executable file from the performance test software package and obtains the floating-point performance test result of the target computer system by running the target executable file.
[0095] In another embodiment, the test is performed according to the target executable file, and the floating-point performance test result of the target computer system is obtained by sending the target executable file matched in the performance test software to the target computer system, and the target computer system obtains the floating-point performance test result of the target computer system by running the target executable file.
[0096] It should be noted that in the embodiment of the present application, the number of target computer systems may be one or more. When there are multiple target computer systems, the architecture feature information of each target computer system is first obtained, and then the target executable file corresponding to each target computer system is matched from the performance test software according to the architecture feature information of each target computer system, and then the target computer system is tested according to the target executable file of each target computer system to obtain the floating-point performance test results of each target computer system.
[0097] In the performance testing method provided by the embodiment of the present application, by responding to the floating-point performance test request of the target computer system, the architecture feature information of the target computer system is obtained, and then the corresponding target executable file is matched from the performance testing software package according to the architecture feature information, and then the test is performed according to the target executable file to obtain the floating-point performance test result of the target computer system, wherein the performance testing software package is obtained by integrating and packaging the executable program according to the test environment of multiple architectures. In this method, when it is necessary to perform a floating-point performance test on the target computer system, the corresponding target executable file is matched from the performance testing software package based on the architecture feature information of the target computer system, and the floating-point performance test is performed on the target computer system based on the target executable file, and the performance testing software package is obtained by integrating and packaging the executable program according to the test environment of multiple architectures, which is equivalent to that the performance testing software package includes the executable programs required for multiple architecture tests, and when it is necessary to test a certain computer system, it is only necessary to obtain the corresponding executable program from the performance testing software package based on the architecture feature information of the computer system, and realize the floating-point performance test of the computer system by running the executable program. In this process, by pre-compiling the executable programs of the test environments of various architectures and then integrating and packaging them, the performance testing software package includes executable files of various architectures. In the actual HPL testing process, for any computer system, the corresponding executable file can be matched from the performance testing software package for testing. There is no need to deploy the corresponding test environment for each computer system, which greatly simplifies the HPL testing process, shortens the testing time, and improves the testing efficiency.
[0098] Based on the above embodiment, an embodiment is provided to illustrate the process of matching the corresponding target executable file from the performance testing software package according to the architecture feature information.
[0099] In an exemplary embodiment, Figure 4 As shown, according to the architecture feature information, the corresponding target executable file is matched from the performance test software package, including:
[0100] S301, determining a target parallel computing environment of a target computer system according to architecture feature information.
[0101] As described above, the architecture feature information includes CPU-related information and memory-related information. In this embodiment, when determining a parallel computing environment, the target parallel computing environment may be determined based on the CPU-related information in the architecture feature information.
[0102] Exemplarily, a method for determining a target parallel computing environment of a target computer system based on architectural feature information may be to obtain CPU-related information of the target computer system from the architectural feature information of the target computer system, and then determine the target parallel computing environment based on the CPU-related information of the target computer system.
[0103] For example, the target parallel computing environment can be determined according to the CPU platform of the target computer system in the CPU related information. The CPU platform may include an Intel platform, an AMD (Advanced Micro Devices) platform, etc. For example, if the CPU platform of the target computer system is an Intel platform, the target parallel computing environment may be Intel MPI; if the CPU platform of the target computer system is an AMD platform, the target parallel computing environment may be OpenMPI.
[0104] S302, obtaining a corresponding target executable file from a performance testing software package according to a target parallel computing environment.
[0105] In the embodiment of the present application, executable files of multiple architectures are associated with the parallel test environments corresponding to each architecture and stored in the performance test software package. When it is necessary to obtain the target executable file of the target computer system, the corresponding target executable file can be matched according to the target parallel computing environment and the performance test software package.
[0106] Exemplarily, according to the target parallel computing environment, a method for obtaining the corresponding target executable file from the performance testing software package may be to match the executable file associated with the target parallel computing environment from the performance testing software package according to the target parallel computing environment, and determine the matched executable file as the target executable file of the target computer system.
[0107] In the performance testing method provided in the embodiment of the present application, the target parallel computing environment of the target computer system is determined according to the architecture feature information, and then the corresponding target executable file is obtained from the performance testing software package according to the target parallel computing environment. In this method, on the basis of obtaining the architecture feature information of the target computer system, the target parallel computing environment of the target computer system is obtained based on the architecture feature information, so that the server can quickly and accurately obtain the target executable file of the target computer system based on the target parallel computing environment; the architecture information of the target computer system is matched with the optimal compiled executable file for testing to ensure that the test results are stable and efficient.
[0108] Based on the above embodiment, an embodiment is provided to illustrate the process of obtaining the corresponding target executable file from the performance testing software package according to the target parallel computing environment.
[0109] In an exemplary embodiment, Figure 5 As shown, the performance test software package includes a mapping relationship between multiple parallel computing environments and multiple executable files; according to the target parallel computing environment, the corresponding target executable file is obtained from the performance test software package, including:
[0110] S401, according to the target parallel computing environment, obtaining an executable file matching the target parallel computing environment from a mapping relationship.
[0111] In the embodiment of the present application, the performance test software package includes a mapping relationship between multiple parallel computing environments and multiple executable files. In this way, one parallel computing environment corresponds to one executable file, and when it is necessary to obtain an executable file of a certain computer system, it can be quickly obtained from the mapping relationship based on the parallel computing environment of the computer system.
[0112] Based on the target parallel computing environment of the target computer system, the target parallel computing environment is compared with each parallel computing environment in the mapping relationship in the performance testing software package. If there is a parallel computing environment in the above mapping relationship that is consistent with the target parallel computing environment, the executable file corresponding to the parallel computing environment in the above mapping relationship is obtained. The executable file is the executable file that matches the target parallel computing environment.
[0113] S402: Determine an executable file that matches the target parallel computing environment as a target executable file.
[0114] In the embodiment of the present application, the executable file matching the target parallel computing environment is the target executable file of the target computer system. After obtaining the executable file matching the target parallel computing environment, the executable file matching the target parallel computing environment is directly used as the target executable file.
[0115] In the performance testing method provided by the embodiment of the present application, the executable file matching the target parallel computing environment is obtained from the mapping relationship according to the target parallel computing environment, and then the executable file matching the target parallel computing environment is determined as the target executable file. In this method, the performance testing software package includes a mapping relationship between multiple parallel computing environments and multiple executable files. According to the target parallel computing environment, the executable file corresponding to the target parallel computing environment can be quickly matched from the mapping relationship, and the matched executable file is the target executable file; by introducing the mapping relationship between the parallel computing environment and the executable file, the server can quickly obtain the target executable file, thereby improving the efficiency of obtaining the target executable file.
[0116] Based on any of the above embodiments, an embodiment is provided to illustrate the process of executing the test according to the target executable file to obtain the floating-point performance test result of the target computer system.
[0117] In an exemplary embodiment, Figure 6 As shown, the test is performed according to the target executable file to obtain the floating-point performance test results of the target computer system, including:
[0118] S501, obtaining a target test configuration file of a target computer system.
[0119] In the embodiment of the present application, the test configuration file refers to the input configuration file of the HPL test, which includes the test parameters during the HPL test, such as array size, matrix size, threshold, panel decomposition method, recursive stop criterion, recursive panel decomposition method, broadcast method, etc. The setting of these parameters directly affects the performance data of the test. The target test configuration file refers to the test configuration file including the test parameter values of the target computer system.
[0120] Exemplarily, the target test configuration file of the target computer system may be obtained by obtaining the test parameter value and the test configuration file of the target computer system, and then inputting the test parameter value of the target computer system into the test configuration file to obtain the target test configuration file of the target computer system. The test configuration file may be obtained under a specified path, and the specified path may be obtained after compiling the HPL test program.
[0121] S502, using the target test configuration file and the target executable file to test the target computer system, and obtaining the floating point performance test result of the target computer system.
[0122] After obtaining the target test configuration file, the target executable file is run based on the test parameter values configured in the target test configuration file to test the target computer system and obtain the floating-point performance test result of the target computer system.
[0123] In an embodiment of the present application, when running a target executable file, a test may be run using a preset command, for example, the mpirun command may be used to run the test to determine a floating-point performance test result of the target computer system.
[0124] In the performance testing method provided in the embodiment of the present application, the target test configuration file of the target computer system is obtained, and then the target test configuration file and the target executable file are used to test the target computer system to obtain the floating-point performance test result of the target computer system. In this method, an optional way to test the target computer system is provided; by obtaining the target test configuration file of the target computer system, the server can run the target executable file based on the test parameters in the test configuration file to obtain the test result, and by executing the executable file that conforms to the architectural characteristics of the target computer system based on the test parameter values determined based on the characteristics of the target computer system itself, the performance test of the target computer system is performed, thereby improving the reliability and accuracy of the test result.
[0125] Based on the above embodiment, an embodiment is provided to illustrate the process of obtaining the target test configuration file of the target computer system.
[0126] In an exemplary embodiment, Figure 7 As shown, obtain the target test configuration file of the target computer system, including:
[0127] S601, obtaining a test configuration file according to a performance test software package.
[0128] The test configuration file is usually generated after the HPL test program is compiled into an executable program. In the embodiment of the present application, the performance test software package is obtained by integrating and packaging the executable programs according to the test environments of various architectures, and a test configuration file is actually generated for each architecture, and the structure of each test configuration file is the same, that is, the test parameters in the test configuration file are the same. Therefore, in the embodiment of the present application, only one test configuration file is retained for multiple architectures.
[0129] In this embodiment, the performance testing software package includes a test configuration file, and the test configuration file can be directly obtained from the performance testing software.
[0130] S602: Determine parameter values of multiple test parameters in the test configuration file according to the architecture feature information.
[0131] As mentioned earlier, the configuration file includes multiple test parameters, such as array size, matrix size, threshold, panel decomposition method, recursive stopping criterion, recursive panel decomposition method, broadcasting method, etc.
[0132] In one embodiment, according to the architecture feature information, the parameter values of multiple test parameters in the test configuration file can be determined by calculating the parameter values of each test parameter according to the CPU related information and memory configuration information in the architecture feature information, combined with the calculation logic formula preset for each test parameter, to obtain multiple test parameter values of the target computer system. For example, taking the test parameter as the array size as an example, the calculation logic formula of the array size can be the memory capacity size × 80%, and the parameter value of the array size can be calculated according to the calculation logic formula and the memory capacity of the target computer system.
[0133] In another embodiment, a method for determining parameter values of multiple test parameters in a test configuration file based on architectural feature information may be to display a parameter input interface based on the architectural feature information, wherein the parameter input interface includes the architectural feature information of the target computer system and parameter input boxes for each test parameter, and the architectural feature information in the parameter input interface is used for the user to determine the parameter value of each test parameter based on the architectural feature information, and input the parameter value of each test parameter into the parameter input box of each test parameter.
[0134] For example, when it is necessary to determine the value of each parameter, a parameter input interface is displayed to the user, and then the user determines the parameter value of each test parameter based on the architectural feature information displayed in the parameter input interface, and enters the parameter value of each test parameter into the parameter input box of each test parameter. After clicking OK, the server can receive the parameter value of each test parameter.
[0135] S603, filling each parameter value into the corresponding position of the test configuration file to obtain the target test configuration file.
[0136] Based on the parameter values of the test parameters determined above, each parameter value is filled into the corresponding position of each test parameter in the test configuration file to obtain the target test configuration file.
[0137] In the performance testing method provided in the embodiment of the present application, a test configuration file is obtained according to the performance testing software package, and then the parameter values of multiple test parameters in the test configuration file are determined according to the architecture feature information, and then each parameter value is filled into the corresponding position of the test configuration file to obtain a target test configuration file. In this method, different computer systems have different test configuration files, which mainly depends on the architecture feature information of the computer system. If the architecture feature information is different, the parameter values of each test parameter in the test configuration file are different, and then the test configuration files are also different. In this solution, after the parameter values of each test parameter are determined according to the architecture feature information of the target computer system, each parameter value is filled into the test configuration file, so that the target test configuration file of the target computer system can be quickly and accurately determined. By accurately determining the target test configuration file of the target computer system, a foundation is laid for improving the accuracy of floating-point performance testing.
[0138] Based on the above embodiment, an embodiment is provided to illustrate the process after determining the floating-point performance test result of the target computer system.
[0139] In an exemplary embodiment, Figure 8 As shown, the method also includes:
[0140] S701, when it is detected that the floating-point performance test result of the target computer system does not meet the expected performance, obtain multiple historical test parameter values.
[0141] Among them, the expected performance can be an empirical value. For example, after testing multiple computer systems on the Intel platform in historical time, the empirical value obtained is one billion floating-point operations per second; after testing multiple computer systems on the AMD platform in historical time, the empirical value obtained is one million floating-point operations per second.
[0142] The historical test parameter value refers to the empirical parameter value when the HPL test was performed at a historical time. It should be noted that there may be multiple groups of historical test parameter values in the embodiment of the present application.
[0143] In an embodiment of the present application, after obtaining the floating-point performance test result of the target computer system, if it is detected that the floating-point performance test result of the target computer system does not meet the expected performance, multiple historical test parameter values are obtained to test the target computer system.
[0144] Exemplarily, the method of obtaining multiple historical test parameter values may be to obtain them from a parameter database. For example, historical test parameter values of different architecture feature information are stored in the parameter database, and when it is necessary to obtain historical test parameter values, multiple groups of historical test parameter values corresponding to the architecture feature information are matched from the parameter database according to the architecture feature information of the target computer system, and the multiple groups of historical test parameter values are determined as multiple historical test parameter values.
[0145] S702, using each historical test parameter value to test the target computer system, and re-determine the floating point performance test result of the target computer system.
[0146] Based on the multiple historical test parameter values obtained above, one set of historical test parameter values is used to continue testing the target computer system, and the floating-point performance test result of the target computer system is re-determined.
[0147] At this time, determine whether the currently determined floating-point performance test result meets the expected performance. If so, end the test. If not, perform traversal tests on multiple sets of historical test parameter values, and re-determine the floating-point performance test result of the target computer system to select the optimal floating-point performance test result.
[0148] In the embodiment of the present application, when the floating-point performance test results do not meet the expected performance, the test parameters are automatically adjusted and optimized to ensure that the test results can achieve relatively satisfactory results during the actual test process, and replace the original method of manually adjusting the test parameters, thereby further improving the test efficiency.
[0149] In the performance testing method provided by the embodiment of the present application, when it is detected that the floating-point performance test result of the target computer system does not meet the expected performance, multiple historical test parameter values are obtained, and then the target computer system is tested using each historical test parameter value to re-determine the floating-point performance test result of the target computer system. In this method, when the floating-point performance test result does not meet the expected performance, the test parameter values of the target computer system are automatically optimized and adjusted by obtaining multiple historical test parameter values to ensure that the test result can achieve a relatively satisfactory result, and the test efficiency is further improved by replacing the original method of manually adjusting the test parameters.
[0150] Based on any of the above embodiments, an embodiment is provided to illustrate the process of determining the above performance testing software package.
[0151] In an exemplary embodiment, Fig. 9 As shown, the method also includes:
[0152] S801, determining a mapping relationship between an executable file of each sample architecture and a parallel computing environment according to sample architecture feature information of a plurality of sample architectures.
[0153] The sample architecture refers to the architecture of multiple sample computer systems, which may include the target computer system and multiple other computer systems. The sample architecture feature information is the feature information of the architecture of each sample computer system, which is the same as the architecture feature information of the target computer system, and also includes CPU related information and memory configuration information.
[0154] As mentioned above, when obtaining the target executable program of the target computer system, it can be obtained based on the mapping relationship between multiple parallel computing environments and multiple executable files in the performance testing software package, which means that when building the performance testing software package, it is also built based on this mapping relationship. Based on this, when determining the performance testing software package, the mapping relationship between different parallel computing environments and different executable files is first obtained.
[0155] Exemplarily, a method for determining the mapping relationship between the executable file of each sample architecture and the parallel computing environment based on the sample architecture feature information of multiple sample architectures may be to determine the sample parallel computing environment and the sample high-performance mathematical library of each sample architecture based on the sample architecture feature information of each sample architecture, and then to compile the HPL test program based on the sample parallel computing environment and the sample high-performance mathematical library of each sample architecture to obtain the sample executable file of each sample architecture, and then to associate the sample executable file of each sample architecture with the corresponding sample parallel environment to obtain the mapping relationship between the executable file of each sample architecture and the parallel computing environment.
[0156] S802, encapsulate each mapping relationship to obtain a performance test software package.
[0157] Based on the mapping relationship between the executable files of each sample architecture and the parallel computing environment obtained above, the mapping relationship between the executable files of each sample architecture and the parallel computing environment is packaged into software to obtain a performance test software package.
[0158] For example, a specific packaging tool may be used to perform software packaging on the mapping relationship between the executable files of each sample architecture and the parallel computing environment, wherein the packaging tool may include a MakeAppx tool, a NuGet package mapping tool, a CMake tool, and the like.
[0159] In the performance testing method provided in the embodiment of the present application, the mapping relationship between the executable files of each sample architecture and the parallel computing environment is determined according to the sample architecture feature information of multiple sample architectures, and then each mapping relationship is encapsulated to obtain a performance testing software package. In this method, an optional way to quickly determine the performance testing software package is provided; by obtaining the mapping relationship between the executable files of each sample architecture and the parallel computing environment according to the sample architecture feature information of multiple sample architectures, and then the mapping relationship between the executable files of each sample architecture and the parallel computing environment is software encapsulated, the performance testing software package can be quickly obtained, which provides data support for the subsequent performance testing of the target computer system and improves the HPL testing efficiency.
[0160] Based on the above embodiment, an embodiment is provided to illustrate the process of determining the mapping relationship between the executable files of each sample architecture and the parallel computing environment according to the sample architecture feature information of multiple sample architectures.
[0161] In an exemplary embodiment, Fig.10 As shown, according to the sample architecture feature information of multiple sample architectures, determining the mapping relationship between the executable files of each sample architecture and the parallel computing environment includes:
[0162] S901, determining a mathematical library, a parallel computing environment and a compilation configuration file of each sample architecture according to characteristic information of each sample architecture.
[0163] In the embodiments of the present application, the compilation configuration file refers to the configuration file used in the compilation process of the HPL test program, which specifies the compiler, optimization options, and math library path, etc. It is also necessary to take into account the characteristics and requirements of the parallel computing environment, such as the use of the corresponding MPI compiler (such as the OpenMPI parallel computing environment using mpicc, the Intel MPI parallel computing environment using mpiicc, etc.) and preprocessing macro definitions to ensure that the generated executable file can be seamlessly integrated with the selected parallel computing environment to achieve efficient parallel computing.
[0164] The mathematical library and parallel computing environment of each sample architecture are determined in the same manner as the aforementioned performance test software package to determine the test environment of each architecture, which will not be repeated here.
[0165] The compilation configuration file for each sample architecture may be determined based on the architecture feature information of each sample architecture. Exemplarily, in an embodiment of the present application, the compilation configuration file for each sample architecture may be determined by obtaining a common template of the compilation configuration file, and then determining the parameter value of the compilation configuration parameter of each sample architecture according to the architecture feature information of each sample architecture, and then generating the compilation configuration file for each sample architecture based on the parameter value of the compilation configuration parameter of each sample architecture and the common template of the compilation configuration file.
[0166] For example, the general template of the compilation configuration file includes multiple compilation configuration parameters. For any sample architecture, the parameter values of the compilation configuration parameters of the sample architecture are filled into the general template to obtain the compilation configuration file of the sample architecture.
[0167] S902: Determine the executable file of each sample architecture according to each mathematical library, each parallel computing environment and each compilation configuration file.
[0168] Based on the mathematical library, parallel computing environment and compilation configuration file of each sample architecture obtained above, the HPL test program is compiled to obtain the executable file of each sample architecture.
[0169] In an exemplary embodiment, the executable files of each sample architecture are determined according to each mathematical library, each parallel computing environment and each compilation configuration file, including:
[0170] For any sample architecture, the floating point performance test source code is compiled according to the mathematical library, parallel computing environment and compilation configuration file of the sample architecture to generate an executable file of the sample architecture.
[0171] In the embodiment of the present application, the floating-point performance test source code refers to the source program of the HPL test, which can be downloaded from the official website.
[0172] In this embodiment, when an executable program is compiled for any sample architecture, the floating-point performance test source code is compiled according to the mathematical library, parallel computing environment and compilation configuration file of the sample architecture to generate an executable file of the sample architecture. For example, the compilation configuration file in the compilation configuration file is used, and the mathematical library and parallel computing environment of the sample architecture are combined to compile the floating-point performance test source code to obtain the executable file of the sample architecture.
[0173] In the performance testing method provided in the embodiment of the present application, for any sample architecture, the floating-point performance test source code is compiled according to the mathematical library, parallel computing environment and compilation configuration file of the sample architecture to generate an executable file of the sample architecture. In this method, an optional way to quickly determine the executable files of each sample architecture is provided; on the basis of obtaining the mathematical library, parallel computing environment and compilation configuration file of each sample architecture, the compiler, mathematical library and parallel computing environment in the compilation configuration file are used to compile the HPL test source code, and the executable files of each sample architecture can be quickly obtained; by matching the optimal mathematical library and parallel computing environment with different sample architectures, and pre-compiling, the executable files that meet the expected results of each sample architecture are screened and obtained, providing data support for the performance test of the target computer system.
[0174] S903 , associating the executable files of each sample architecture with the parallel computing environments of each sample architecture, and obtaining a mapping relationship between the executable files of each sample architecture and the parallel computing environments.
[0175] Based on the executable files of each sample architecture obtained above, the executable files of each sample architecture are associated with the parallel computing environment of each sample architecture, so as to obtain a mapping relationship between the executable files of each sample architecture and the parallel computing environment.
[0176] In the performance testing method provided by the embodiment of the present application, the mathematical library, parallel computing environment and compilation configuration file of each sample architecture are determined according to the characteristic information of each sample architecture, and then the executable file of each sample architecture is determined according to each mathematical library, each parallel computing environment and each compilation configuration file, and then the executable file of each sample architecture is associated with the parallel computing environment of each sample architecture to obtain the mapping relationship between the executable file of each sample architecture and the parallel computing environment. In this method, the optimal mathematical library, parallel computing environment and compilation configuration file can be determined according to the sample architecture characteristic information of each sample architecture, and the executable file of each sample architecture can be quickly obtained by compiling based on the mathematical library, parallel computing environment and compilation configuration file respectively, which lays the foundation for the establishment of the mapping relationship. On the basis of obtaining the executable file of each sample architecture, the executable file of each sample architecture is associated with the parallel computing environment of each sample architecture, and the mapping relationship between the executable file of each sample architecture and the parallel computing environment can be quickly and accurately obtained, which provides an optional way to quickly determine the mapping relationship.
[0177] In addition, in an exemplary embodiment, the present application also provides a performance testing method, such as Fig.11 As shown, the following steps may be included:
[0178] S1001, determining a mathematical library, a parallel computing environment, and a compilation configuration file of each sample architecture according to sample architecture feature information of a plurality of sample architectures.
[0179] S1002: Determine the executable file of each sample architecture according to each mathematical library, each parallel computing environment and each compilation configuration file.
[0180] Optionally, for any sample architecture, the floating-point performance test source code is compiled according to the mathematical library, parallel computing environment and compilation configuration file of the sample architecture to generate an executable file of the sample architecture.
[0181] S1003 , associating the executable files of each sample architecture with the parallel computing environments of each sample architecture, and obtaining a mapping relationship between the executable files of each sample architecture and the parallel computing environments.
[0182] S1004, encapsulate each mapping relationship to obtain a performance test software package.
[0183] S1005 , in response to a floating-point performance test request of the target computer system, obtaining architecture feature information of the target computer system.
[0184] S1006, determining a target parallel computing environment of the target computer system according to the architecture feature information.
[0185] S1007, according to the target parallel computing environment, obtaining an executable file matching the target parallel computing environment from the mapping relationship of the performance testing software package.
[0186] S1008: Determine the executable file that matches the target parallel computing environment as the target executable file.
[0187] S1009, obtaining a target test configuration file of the target computer system.
[0188] Optionally, a test configuration file is obtained according to the performance test software package; parameter values of multiple test parameters in the test configuration file are determined according to the architecture feature information; and each parameter value is filled into a corresponding position in the test configuration file to obtain a target test configuration file.
[0189] S1010, using the target test configuration file and the target executable file to test the target computer system, and obtaining the floating point performance test result of the target computer system.
[0190] Optionally, when it is detected that the floating-point performance test result of the target computer system does not meet the expected performance, multiple historical test parameter values are obtained; the target computer system is tested using each historical test parameter value to re-determine the floating-point performance test result of the target computer system.
[0191] The above processes of S1001 - S1010 can refer to the description of the above method embodiment, and the implementation principles and technical effects are similar, which will not be repeated here.
[0192] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0193] Based on the same inventive concept, the embodiment of the present application also provides a performance testing device for implementing the above-mentioned performance testing method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above-mentioned method, so the specific limitations in the one or more performance testing device embodiments provided below can refer to the limitations on the performance testing method above, and will not be repeated here.
[0194] In an exemplary embodiment, Fig.12 As shown, a performance testing device 1 is provided, comprising: an architecture information acquisition module 10, a file matching module 20 and a performance testing module 30, wherein:
[0195] The architecture information acquisition module 10 is used to obtain architecture feature information of the target computer system in response to a floating point performance test request of the target computer system;
[0196] The file matching module 20 is used to match the corresponding target executable file from the performance test software package according to the architecture feature information; the performance test software package is obtained by integrating and packaging the executable programs compiled according to the test environments of various architectures;
[0197] The performance testing module 30 is used to perform a test according to the target executable file to obtain a floating-point performance test result of the target computer system.
[0198] In one embodiment, the file matching module 20 is further used for:
[0199] According to the architecture feature information, a target parallel computing environment of the target computer system is determined; according to the target parallel computing environment, a corresponding target executable file is obtained from the performance testing software package.
[0200] In one embodiment, the file matching module 20 is further used for:
[0201] According to the target parallel computing environment, an executable file matching the target parallel computing environment is obtained from the mapping relationship; and the executable file matching the target parallel computing environment is determined as the target executable file.
[0202] In one embodiment, the performance testing module 30 is further used to:
[0203] Obtain a target test configuration file of the target computer system; use the target test configuration file and the target executable file to test the target computer system to obtain a floating-point performance test result of the target computer system.
[0204] In one embodiment, the performance testing module 30 is further used to:
[0205] According to the performance test software package, a test configuration file is obtained; according to the architecture feature information, parameter values of multiple test parameters in the test configuration file are determined; and each parameter value is filled into a corresponding position in the test configuration file to obtain a target test configuration file.
[0206] In one embodiment, the performance testing device 1 further includes:
[0207] A historical parameter value acquisition module is used to acquire multiple historical test parameter values when it is detected that the floating point performance test result of the target computer system does not meet the expected performance;
[0208] The test result updating module is used to test the target computer system by using various historical test parameter values, and to re-determine the floating point performance test result of the target computer system.
[0209] In one embodiment, the performance testing device 1 further includes:
[0210] A mapping relationship acquisition module, used to determine the mapping relationship between the executable file of each sample architecture and the parallel computing environment according to the sample architecture feature information of the multiple sample architectures;
[0211] The mapping relationship encapsulation module is used to encapsulate each mapping relationship to obtain a performance test software package.
[0212] In one embodiment, the mapping relationship acquisition module is further used to:
[0213] According to the characteristic information of each sample architecture, the mathematical library, parallel computing environment and compilation configuration file of each sample architecture are determined; according to each mathematical library, each parallel computing environment and each compilation configuration file, the executable file of each sample architecture is determined; the executable file of each sample architecture and the parallel computing environment of each sample architecture are associated to obtain the mapping relationship between the executable file of each sample architecture and the parallel computing environment.
[0214] In one embodiment, the mapping relationship acquisition module is further used to:
[0215] For any sample architecture, the floating point performance test source code is compiled according to the mathematical library, parallel computing environment and compilation configuration file of the sample architecture to generate an executable file of the sample architecture.
[0216] Each module in the above performance test device can be implemented in whole or in part by software, hardware and their combination. Each module can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to each module above.
[0217] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Fig.13 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store performance test data. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a performance testing method is implemented.
[0218] Those skilled in the art will understand that Fig.13 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0219] In an exemplary embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:
[0220] In response to a floating point performance test request of a target computer system, acquiring architectural feature information of the target computer system;
[0221] According to the architecture feature information, the corresponding target executable file is matched from the performance test software package; the performance test software package is obtained by integrating and packaging the executable programs compiled according to the test environments of various architectures;
[0222] The test is performed according to the target executable file to obtain the floating-point performance test result of the target computer system.
[0223] The implementation principles and technical effects of each step implemented by the processor in the embodiment of the present application are similar to the principles of the above-mentioned performance testing method and will not be repeated here.
[0224] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
[0225] In response to a floating point performance test request of a target computer system, acquiring architectural feature information of the target computer system;
[0226] According to the architecture feature information, the corresponding target executable file is matched from the performance test software package; the performance test software package is obtained by integrating and packaging the executable programs compiled according to the test environments of various architectures;
[0227] The test is performed according to the target executable file to obtain the floating-point performance test result of the target computer system.
[0228] The implementation principles and technical effects of the steps implemented when the computer program in the embodiment of the present application is executed by the processor are similar to the principles of the above-mentioned performance testing method and will not be repeated here.
[0229] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps:
[0230] In response to a floating point performance test request of a target computer system, acquiring architectural feature information of the target computer system;
[0231] According to the architecture feature information, the corresponding target executable file is matched from the performance test software package; the performance test software package is obtained by integrating and packaging the executable programs compiled according to the test environments of various architectures;
[0232] The test is performed according to the target executable file to obtain the floating-point performance test result of the target computer system.
[0233] The implementation principles and technical effects of the various steps implemented when the computer program in the embodiment of the present application is executed by the processor are similar to the principles of the above-mentioned performance testing method and will not be repeated here.
[0234] It should be noted that the personnel information (including but not limited to personnel equipment information, personnel personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the personnel or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0235] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0236] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0237] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A performance testing method, characterized in that: The method comprises: In response to a floating-point performance test request of a target computer system, acquiring architectural feature information of the target computer system; According to the architecture feature information, a corresponding target executable file is matched from a performance test software package; the performance test software package is obtained by integrating and packaging executable programs compiled according to test environments of multiple architectures; The test is performed according to the target executable file to obtain the floating point performance test result of the target computer system.
2. The method according to claim 1, characterized in that The matching of the corresponding target executable file from the performance test software package according to the architecture feature information includes: Determining a target parallel computing environment of the target computer system according to the architecture feature information; According to the target parallel computing environment, a corresponding target executable file is obtained from the performance testing software package.
3. The method according to claim 2, characterized in that The performance testing software package includes a mapping relationship between multiple parallel computing environments and multiple executable files; The step of obtaining a corresponding target executable file from the performance test software package according to the target parallel computing environment includes: According to the target parallel computing environment, acquiring an executable file matching the target parallel computing environment from the mapping relationship; An executable file matching the target parallel computing environment is determined as the target executable file.
4. The method according to any one of claims 1 to 3, characterized in that: The step of performing the test according to the target executable file to obtain the floating point performance test result of the target computer system includes: Obtaining a target test configuration file of the target computer system; The target test configuration file and the target executable file are used to test the target computer system to obtain a floating-point performance test result of the target computer system.
5. The method according to claim 4, characterized in that The obtaining of a target test configuration file of the target computer system includes: According to the performance testing software package, obtaining a test configuration file; Determining parameter values of a plurality of test parameters in the test configuration file according to the architecture feature information; Fill each of the parameter values into the corresponding position of the test configuration file to obtain the target test configuration file.
6. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: When it is detected that the floating point performance test result of the target computer system does not meet the expected performance, obtaining multiple historical test parameter values; The target computer system is tested using each of the historical test parameter values to re-determine the floating-point performance test result of the target computer system.
7. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: Determining, according to the sample architecture feature information of the plurality of sample architectures, a mapping relationship between the executable files of each of the sample architectures and the parallel computing environment; Each of the mapping relationships is encapsulated to obtain the performance test software package.
8. The method according to claim 7, characterized in that The determining, based on the sample architecture feature information of the plurality of sample architectures, a mapping relationship between the executable files of each of the sample architectures and the parallel computing environment comprises: Determining the mathematical library, parallel computing environment and compilation configuration file of each of the sample architectures according to the characteristic information of each of the sample architectures; Determine an executable file of each sample architecture according to each of the mathematical libraries, each of the parallel computing environments, and each of the compilation configuration files; The executable files of each sample architecture are associated with the parallel computing environments of each sample architecture to obtain a mapping relationship between the executable files of each sample architecture and the parallel computing environments.
9. The method according to claim 8, characterized in that Determining the executable file of each sample architecture according to each mathematical library, each parallel computing environment and each compilation configuration file includes: For any sample architecture, the floating-point performance test source code is compiled according to the mathematical library, parallel computing environment and compilation configuration file of the sample architecture to generate an executable file of the sample architecture.
10. A performance testing device, characterized in that: The device comprises: An architecture information acquisition module, configured to acquire architecture feature information of a target computer system in response to a floating point performance test request of the target computer system; A file matching module is used to match the corresponding target executable file from the performance test software package according to the architecture feature information; the performance test software package is obtained by integrating and packaging executable programs compiled according to the test environments of various architectures; The performance testing module is used to perform testing according to the target executable file to obtain the floating-point performance test result of the target computer system.