CN111324532B - MPI parameter determination method, device and equipment of parallel computing software - Google Patents

MPI parameter determination method, device and equipment of parallel computing software Download PDF

Info

Publication number
CN111324532B
CN111324532B CN202010090762.0A CN202010090762A CN111324532B CN 111324532 B CN111324532 B CN 111324532B CN 202010090762 A CN202010090762 A CN 202010090762A CN 111324532 B CN111324532 B CN 111324532B
Authority
CN
China
Prior art keywords
mpi
parallel computing
platform
software
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010090762.0A
Other languages
Chinese (zh)
Other versions
CN111324532A (en
Inventor
杨振宇
刘羽
崔坤磊
张敏
于占乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010090762.0A priority Critical patent/CN111324532B/en
Publication of CN111324532A publication Critical patent/CN111324532A/en
Application granted granted Critical
Publication of CN111324532B publication Critical patent/CN111324532B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a method, a device and equipment for determining MPI parameters of parallel computing software, wherein the method comprises the following steps: acquiring an MPI platform set corresponding to parallel computing software; running parallel computing software in a test MPI platform according to a preset running mode to perform parallel computing, and detecting the running characteristics of the parallel computing software; determining the software type of the parallel computing software according to the operation characteristics; determining a target MPI parameter corresponding to the parallel computing software from an MPI parameter set corresponding to the software type stored in a database; the parallel computing software with similar operating characteristics is divided into the same software type, the target MPI parameter corresponding to the parallel computing software is determined from the MPI parameter set corresponding to the software type of the parallel computing software in the database, the rapid selection of the MPI parameter of the parallel computing software is realized, the rapid optimization space prediction and optimization are carried out on the parallel computing performance of the parallel computing software, and the tuning time of the parallel computing software is shortened.

Description

MPI parameter determination method, device and equipment of parallel computing software
Technical Field
The invention relates to the technical field of computers, in particular to a method, a device and equipment for determining MPI parameters of parallel computing software.
Background
With the development of modern society science and technology, the use of parallel computing software is more and more extensive, such as Computer Aided Engineering (CAE) software in the manufacturing field and other software operating in parallel mode in the climate prediction field and the biochemical computing field. MPI (message Passing Interface) is a standard protocol for information exchange between computers in cross-node parallel computing, and parallel computing software (such as CAE software) realizes multi-node parallel computing through the protocol. MPI has different control parameters, and because the algorithms of various parallel computing software are different, the influence of each control parameter on the parallel computing performance of different parallel computing software is also different, so that the MPI parameter test needs to be carried out on specific parallel computing software, and the parallel computing software obtains the optimal parallel computing performance.
In the prior art, the control parameters of the MPI platform are numerous, and more than one MPI platform supporting parallel computing software is often provided. The control parameters of the MPI platform are embodied as operation options of a specific MPI platform, for example, part of the operation options of a platform MPI platform of IBM corporation in Linux environment are shown in table 1. Currently, a comprehensive test method (that is, each parameter is individually tested) is generally adopted for testing, which requires a large amount of computing resources and consumes a large amount of time and material resources. The test times can be effectively reduced by adopting an orthogonal experiment principle, the option parameter set selected by an orthogonal design table is tested through orthogonal experiment design, and an optimized result can be obtained by a small amount of tests; even so, the testing workload is considerable, and in addition to the large number of parallel computing software, the workload is unacceptable if similar tests are performed on each piece of parallel computing software.
Therefore, how to quickly determine the MPI parameters that can be used by the parallel computing software, so as to perform quick optimization spatial prediction and optimization on the parallel computing performance of the parallel computing software, and shorten the tuning time of the parallel computing software is a problem that needs to be solved urgently today.
TABLE 1 PlatformMPI running options presentation Table under Linux environment
Figure BDA0002383636940000021
Disclosure of Invention
The invention aims to provide a method, a device and equipment for determining MPI parameters of parallel computing software, so as to quickly determine the MPI parameters which can be used by the parallel computing software and quickly optimize spatial prediction and optimization of parallel computing performance of the parallel computing software.
In order to solve the above technical problem, the present invention provides a method for determining MPI parameters of parallel computing software, comprising:
acquiring an MPI platform set corresponding to parallel computing software; wherein the MPI platform set is a set of all MPI platforms supporting the parallel computing software;
running the parallel computing software in a test MPI platform according to a preset running mode to perform parallel computing, and detecting the running characteristics of the parallel computing software; wherein the testing MPI platform is any one of the MPI platforms in the MPI platform set;
determining the software type of the parallel computing software according to the operation characteristics;
determining a target MPI parameter corresponding to the parallel computing software from an MPI parameter set corresponding to the software type stored in a database; wherein the MPI parameter set comprises MPI parameters of each of the MPI platforms in the MPI platform set, and the target MPI parameters comprise: target MPI platform information and platform parameters of a target MPI platform, wherein the target MPI platform is any one of the MPI platforms in the MPI platform set.
Optionally, the preset operation mode is an operation mode without adding the platform parameter of the testing MPI platform.
Optionally, before determining the target MPI parameter corresponding to the parallel computing software from the MPI parameter set corresponding to the software type stored in the database, the method further includes:
judging whether the database stores the MPI parameter set corresponding to the software type or not;
if yes, executing the MPI parameter set corresponding to the software type stored in the slave database, and determining a target MPI parameter corresponding to the parallel computing software;
if not, judging whether the database stores the MPI parameters of the test MPI platform corresponding to the software type;
if the MPI parameters of the testing MPI platform corresponding to the software type are stored, replacing the testing MPI platform according to the MPI platform set, and executing the step of running the parallel computing software in the testing MPI platform according to a preset running mode to perform parallel computing;
if the MPI parameters of the testing MPI platform corresponding to the software type are not stored, the CAE software is tested in the testing MPI platform in parallel according to the acquired orthogonal design table corresponding to the testing MPI platform, the MPI parameters of the testing MPI platform and the corresponding testing results are obtained and stored in the database, and the step of judging whether the MPI parameter set corresponding to the software type is stored in the database is executed.
Optionally, the parallel computing software is specifically CAE software.
Optionally, the determining, from the MPI parameter set corresponding to the software type stored in the database, a target MPI parameter corresponding to the parallel computing software includes:
and determining a target MPI parameter corresponding to the parallel computing software according to a test result corresponding to the MPI parameter of each MPI platform in the MPI platform set in the database.
The invention also provides a device for determining MPI parameters of parallel computing software, which comprises:
the acquisition module is used for acquiring an MPI platform set corresponding to the parallel computing software; wherein the MPI platform set is a set of all MPI platforms supporting the parallel computing software;
the operation monitoring module is used for operating the parallel computing software in a test MPI platform according to a preset operation mode to perform parallel computing and detecting the operation characteristics of the parallel computing software; wherein the testing MPI platform is any one of the MPI platforms in the MPI platform set;
the first determining module is used for determining the software type of the parallel computing software according to the running characteristics;
the second determining module is used for determining a target MPI parameter corresponding to the parallel computing software from the MPI parameter set corresponding to the software type stored in the database; wherein the MPI parameter set comprises MPI parameters of each of the MPI platforms in the MPI platform set, and the target MPI parameters comprise: target MPI platform information and platform parameters of a target MPI platform, wherein the target MPI platform is any one of the MPI platforms in the MPI platform set.
Optionally, the operation monitoring module is specifically configured to run the parallel computing software to perform parallel computing when the platform parameters of the testing MPI platform are not added to the testing MPI platform, and detect the operating characteristics of the parallel computing software.
Optionally, the apparatus further comprises:
the first judging module is used for judging whether the database stores the MPI parameter set corresponding to the software type; if yes, sending a starting signal to the second determination module;
the second judging module is used for judging whether the MPI parameter set corresponding to the software type is stored in the database or not if the MPI parameter set corresponding to the software type is not stored;
the replacing test module is used for replacing the testing MPI platform according to the MPI platform set and sending a starting signal to the operation monitoring module if the MPI parameters of the testing MPI platform corresponding to the software type are stored;
and the orthogonal test module is used for carrying out parallel test on the CAE software in the testing MPI platform according to the acquired orthogonal design table corresponding to the testing MPI platform if the MPI parameters of the testing MPI platform corresponding to the software type are not stored, obtaining the MPI parameters of the testing MPI platform and the corresponding test results, storing the MPI parameters and the corresponding test results in the database, and sending a starting signal to the first judgment module.
Optionally, the second determining module is specifically configured to determine a target MPI parameter corresponding to the parallel computing software according to a test result corresponding to an MPI parameter of each MPI platform in the MPI platform set in the database.
The invention also provides MPI parameter determination equipment of the parallel computing software, which comprises the following steps:
a memory for storing a computer program;
a processor for implementing the steps of the MPI parameter determination method of the parallel computing software as described above when executing the computer program.
The invention provides a method for determining MPI parameters of parallel computing software, which comprises the following steps: acquiring an MPI platform set corresponding to parallel computing software; the MPI platform set is a set of all MPI platforms supporting parallel computing software; running parallel computing software in a test MPI platform according to a preset running mode to perform parallel computing, and detecting the running characteristics of the parallel computing software; the MPI platform is any one of MPI platforms in the MPI platform set; determining the software type of the parallel computing software according to the operation characteristics; determining a target MPI parameter corresponding to the parallel computing software from an MPI parameter set corresponding to the software type stored in a database; wherein, the MPI parameter set comprises MPI parameters of each MPI platform in the MPI platform set, and the target MPI parameters comprise: target MPI platform information and platform parameters of a target MPI platform, wherein the target MPI platform is any one of MPI platforms in an MPI platform set;
therefore, the software type of the parallel computing software is determined according to the running characteristics of the detected parallel computing software running in the MPI platform according to the preset running mode, and the parallel computing software with similar running characteristics can be divided into the same software type; and further, the target MPI parameters corresponding to the parallel computing software can be determined from the MPI parameter set corresponding to the software type in the database, and the rapid selection of the MPI parameters of the parallel computing software is realized, so that the rapid optimization space prediction and optimization can be performed on the parallel computing performance of the parallel computing software, and the tuning time of the parallel computing software is shortened. In addition, the invention also provides a device and equipment for determining the MPI parameters of the parallel computing software, and the device and the equipment also have the beneficial effects.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
Fig. 1 is a flowchart of a method for determining MPI parameters of parallel computing software according to an embodiment of the present invention;
FIG. 2 is a flowchart of another MPI parameter determination method for parallel computing software according to an embodiment of the present invention;
fig. 3 is a schematic flowchart of another method for determining MPI parameters of parallel computing software according to an embodiment of the present invention;
fig. 4 is a block diagram of an MPI parameter determining apparatus of parallel computing software according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be obtained by a person skilled in the art without making any creative effort based on the embodiments in the present invention, belong to the protection scope of the present invention.
Referring to fig. 1, fig. 1 is a flowchart illustrating a method for determining MPI parameters of parallel computing software according to an embodiment of the present invention. The method can comprise the following steps:
step 101: acquiring an MPI platform set corresponding to parallel computing software; the MPI platform set is a set of all MPI platforms supporting parallel computing software.
It is understood that the parallel computing software in this step may be application software that runs in parallel for computing. The embodiment does not limit the specific type of the parallel computing software, such as parallel computing software used in the manufacturing field, for example, CAE software; the method can also be used for parallel computing software used in the fields of climate prediction, biochemical computing and the like.
Correspondingly, the MPI platform set corresponding to the parallel computing software in this step may be a set of all MPI platforms (such as MPI platform information) that support the parallel computing software, that is, the processor may determine all MPI platforms that support the parallel computing software to run according to the obtained MPI platform set corresponding to the parallel computing software.
Specifically, the specific manner in which the processor acquires the MPI platform set corresponding to the parallel computing software in this step may be set by a designer, for example, the processor may automatically extract information of all MPI platforms supporting the parallel computing software, that is, the MPI platform set corresponding to the parallel computing software, according to file information in the installed parallel computing software (e.g., CAE software); the processor may also generate an MPI platform set corresponding to the installed parallel computing software according to MPI platform information input by the user, for example, after the user installs the CAE software, the processor may input information of all MPI platforms supporting the CAE software, so that the processor may obtain the MPI platform set corresponding to the CAE software.
Step 102: running parallel computing software in a test MPI platform according to a preset running mode to perform parallel computing, and detecting the running characteristics of the parallel computing software; wherein, the MPI platform for testing is any one of the MPI platform set.
The MPI platform to be tested in this step may be a selected MPI platform in the MPI platform set. For the specific selection of the MPI platform to be tested, the MPI platform can be set by a designer according to a practical scene and user requirements, for example, the processor can automatically select one MPI platform from the MPI platform set as the MPI platform to be tested according to a preset selection rule, for example, the processor can randomly select one MPI platform as the MPI platform to be tested, the processor can also select one MPI platform as the MPI platform to be tested according to a preset arrangement sequence, and the processor can also select one MPI platform as the MPI platform to be tested according to a preset priority sequence; the processor can also select the MPI platform corresponding to the MPI platform selection information from the MPI platform set as the testing MPI platform according to the MPI platform selection information input by the user. The present embodiment does not set any limit to this.
Specifically, the preset operation mode in this step may be a preset mode in which the processor runs the parallel computing software in the testing MPI platform, that is, an operation mode of the parallel computing software in the testing MPI platform. In this embodiment, the specific operation mode of the preset operation mode is not limited, for example, the preset operation mode may be an operation mode without adding platform parameters (such as option combinations) for testing the MPI platform, that is, parallel computing of the parallel computing software is started without adding any platform parameters in testing the MPI platform. The preset operation mode can also be an operation mode of adding preset platform parameters for testing the MPI platform. As long as the processor can determine the software type of the parallel computing software according to the running characteristics of the parallel computing software when running in the preset running mode in the test MPI platform, the present embodiment is not limited at all.
It should be noted that, the purpose of this step may be to detect the operation characteristics of the parallel computing software when the processor runs the parallel computing software in the preset operation mode in the test MPI platform to perform the parallel computing. The specific content and type of the operation features detected in this step may be set by a designer, for example, the operation features may include CPU parameters (such as CPU occupancy), network parameters (such as bandwidth), calculation amount, and the like.
Step 103: and determining the software type of the parallel computing software according to the running characteristics.
It can be understood that the purpose of this step may be to determine the software type of the parallel computing software by monitoring the operating characteristics of the parallel computing software obtained by the processor when the parallel computing software operates in the test MPI platform according to the preset operating mode. That is, in the present embodiment, a plurality of parallel computing software having the same or similar operating characteristics may be classified into the same software type.
Correspondingly, the specific mode of determining the software type of the parallel computing software, namely the software type dividing mode, of the processor in the step according to the operation characteristics can be set by a designer, for example, the processor can determine the software type of the parallel computing software according to the comparison between each parameter in the operation characteristics and the corresponding parameter range.
Step 104: determining a target MPI parameter corresponding to the parallel computing software from an MPI parameter set corresponding to the software type stored in a database; wherein, the MPI parameter set comprises MPI parameters of each MPI platform in the MPI platform set, and the target MPI parameters comprise: target MPI platform information and platform parameters of a target MPI platform, wherein the target MPI platform is any one of MPI platforms in an MPI platform set.
In this step, the MPI parameter set corresponding to the software type of the parallel computing software may be a set of MPI parameters of all MPI platforms supporting the parallel computing software, which are stored in the database and correspond to the software type. Each MPI parameter includes MPI platform information of a corresponding MPI platform and a platform parameter of the MPI platform, that is, an optimized option combination (platform parameter) of the MPI platform that can be used in the MPI platform by the parallel computing software.
It can be understood that the purpose of this step may be to select, for the processor, one MPI parameter from an MPI parameter set corresponding to the software type stored in the database as a target MPI parameter, so that the parallel computing software may perform parallel operation in the target MPI platform by using the platform parameter in the target MPI parameter, thereby obtaining a better parallel computing performance.
Specifically, the specific manner in which the processor determines the target MPI parameter corresponding to the parallel computing software from the MPI parameter set corresponding to the software type stored in the database in this step may be set by a designer, for example, if the database stores a test result corresponding to the MPI parameter of each MPI platform in the MPI platform set, that is, the parallel computing software or other parallel computing software of the software type corresponding to the test result executed by the parallel computing software according to each MPI parameter in the MPI platform set, the processor may determine the target MPI parameter corresponding to the parallel computing software directly by comparing the test results corresponding to the MPI parameter of each MPI platform in the MPI platform set in the database, that is, the MPI parameter corresponding to the test result with the optimal parallel computing performance in all the test results is taken as the target MPI parameter. That is, the processor may pre-judge the parallel computing performance after the parallel computing software is optimized by using the test result corresponding to the MPI parameter of each MPI platform in the MPI platform set stored in the database; and obtaining information of the MPI platform and corresponding optimization parameters (namely platform parameters) required by the optimized parallel computing software by using the MPI parameters in the MPI platform set in the database. When the database does not store the test result corresponding to the MPI parameter of each MPI platform in the MPI platform set, the processor may also run the parallel computation software respectively according to the MPI parameter of each MPI platform in the MPI platform set to obtain all the test results, so as to use the MPI parameter corresponding to the test result with the optimal parallel computation performance as the target MPI parameter. The present embodiment does not set any limit to this.
Correspondingly, the step can also comprise a step of outputting the target MPI parameters corresponding to the parallel computing software, so that a user can conveniently know and use the parallel computing software and the parallel computing performance of the parallel computing software is optimized.
It should be noted that, in order to avoid the situation that no MPI parameter set corresponding to the software type exists in the database, as shown in fig. 2, this step may further include:
step 105: judging whether an MPI parameter set corresponding to the software type is stored in the database; if yes, go to step 104; if not, go to step 106.
It can be understood that the purpose of this step may be to determine whether to supplement data in the database by determining whether an MPI parameter set corresponding to a software type of the parallel computing software is stored in the database, that is, a set of MPI parameters of all MPI platforms supporting the parallel computing software corresponding to the software type.
Step 106: judging whether the database stores MPI parameters of a test MPI platform corresponding to the software type; if yes, go to step 107; if not, go to step 108.
It can be understood that, the purpose of this step may be to determine whether the data to be supplemented includes the MPI parameters of the testing MPI platform corresponding to the software type of the parallel computing software by judging whether the database stores the MPI parameters of the testing MPI platform corresponding to the software type when the database does not store the set of the MPI parameters of all MPI platforms supporting the parallel computing software corresponding to the software type of the parallel computing software.
It should be noted that there is no logically necessary order between this step and step 105, and step 105 may be performed first and step 106 may be performed first as shown in this embodiment; step 106 may also be performed first, and if step 106 is yes, step 105 is performed, as shown in fig. 3, first, it is determined whether feature type software (i.e., software type) corresponding to the operating features of installed CAE software (i.e., parallel computing software) has an optimization result (i.e., test result) of the selected MPI platform and corresponding parameters (i.e., MPI parameters), and if yes, it is determined whether the MPI parameter optimization result is complete, i.e., whether a complete MPI parameter set is stored. The present embodiment does not set any limit to this.
Step 107: the testing MPI platform is replaced according to the MPI platform set, and the process proceeds to step 102.
It can be understood that the purpose of this step may be to replace the testing MPI platform according to all MPI platforms that collectively support the parallel computing software by the MPI platforms when the MPI parameters of the testing MPI platform corresponding to the software type of the parallel computing software are stored, but the MPI parameters of the testing MPI platform corresponding to the software type are not stored in the database, and return to step 102 to continue to supplement the data in the database.
Specifically, the specific manner of replacing the testing MPI platform according to the MPI platform set in this step may be set by a designer, for example, the testing MPI platform may be replaced according to a comparison between the MPI platform set and the MPI parameter corresponding to the software type of the parallel computing software stored in the database, that is, an MPI platform corresponding to the MPI parameter corresponding to the software type of the parallel computing software not stored in the database is selected from the MPI platform set to serve as the testing MPI platform. Or selecting the next MPI platform in the MPI platform set as the testing MPI platform according to the selection sequence of the testing platforms. The present embodiment does not set any limit to this.
It should be noted that, in this embodiment, the testing of the MPI platform is performed by replacing the MPI platform to achieve data supplement in the database, or as shown in fig. 3, the incomplete MPI parameter is directly subjected to an orthogonal test design to obtain a corresponding orthogonal design table, that is, an orthogonal design table corresponding to the MPI parameter lacking in the direct MPI parameter set is obtained, and the orthogonal design table is subjected to parallel testing to obtain the lacking MPI parameter to supplement the lacking MPI parameter set to the MPI parameter set. The present embodiment does not set any limit to this.
Step 108: and according to the acquired orthogonal design table corresponding to the MPI platform to be tested, performing parallel test on the CAE software in the MPI platform to be tested to obtain the MPI parameters and the corresponding test results of the MPI platform to be tested, storing the MPI parameters and the corresponding test results in a database, and entering the step 105.
It can be understood that, the purpose of this step may be to, when the database does not store the set of MPI parameters of all MPI platforms supporting the parallel computing software corresponding to the software type of the parallel computing software, and the MPI parameters of the testing MPI platform corresponding to the software type is not stored, the processor performs the parallel test on the CAE software in the testing MPI platform by using the orthogonal design table corresponding to the testing MPI platform, so as to obtain the MPI parameters of the testing MPI platform and the corresponding test results, store the MPI parameters and the corresponding test results in the database, and supplement data lacking in the database.
Specifically, the specific manner in which the processor obtains the orthogonal design table corresponding to the MPI platform to be tested in this step may be set by the designer, for example, the processor may extract all options (i.e., operation options) and their corresponding functions of the MPI platform to be tested, the options with mutually exclusive functions are grouped into the same set, different sets are defined as factors, the options included in the set are defined as levels to form a factor level table, the orthogonal design table corresponding to the factor level table is generated according to the option combination information input by the user, that is, the user may perform orthogonal test design on the factor level table by using the orthogonal test principle, and output the option combination information to the processor, so that the processor may automatically generate the orthogonal design table.
In the embodiment of the invention, the software type of the parallel computing software is determined according to the running characteristics of the detected parallel computing software running in the MPI platform according to the preset running mode, and the parallel computing software with similar running characteristics can be divided into the same software type; and further, the target MPI parameters corresponding to the parallel computing software can be determined from the MPI parameter set corresponding to the software type in the database, and the rapid selection of the MPI parameters of the parallel computing software is realized, so that the rapid optimization space prediction and optimization can be performed on the parallel computing performance of the parallel computing software, and the tuning time of the parallel computing software is shortened.
Referring to fig. 4, fig. 4 is a block diagram illustrating a structure of an MPI parameter determining apparatus of parallel computing software according to an embodiment of the present invention. The apparatus may include:
the acquiring module 10 is configured to acquire an MPI platform set corresponding to the parallel computing software; the MPI platform set is a set of all MPI platforms supporting parallel computing software;
the operation monitoring module 20 is used for operating the parallel computing software in a preset operation mode in the MPI testing platform to perform parallel computing and detecting the operation characteristics of the parallel computing software; the MPI platform is any one of MPI platforms in the MPI platform set;
a first determining module 30, configured to determine a software type of the parallel computing software according to the operation characteristics;
the second determining module 40 is configured to determine a target MPI parameter corresponding to the parallel computing software from an MPI parameter set corresponding to the software type stored in the database; wherein, the MPI parameter set comprises MPI parameters of each MPI platform in the MPI platform set, and the target MPI parameters comprise: target MPI platform information and platform parameters of a target MPI platform, wherein the target MPI platform is any one of MPI platforms in an MPI platform set.
Optionally, the operation monitoring module 20 is specifically configured to, when platform parameters for testing the MPI platform are not added in the testing of the MPI platform, run the parallel computing software to perform parallel computing, and detect an operation characteristic of the parallel computing software.
Optionally, the apparatus may further include:
the first judgment module is used for judging whether the database stores the MPI parameter set corresponding to the software type; if yes, sending a starting signal to the second determining module 40;
the second judging module is used for judging whether the MPI parameter set corresponding to the software type is stored in the database or not if the MPI parameter set corresponding to the software type is not stored;
the replacement testing module is used for replacing the testing MPI platform according to the MPI platform set and sending a starting signal to the operation monitoring module 20 if the MPI parameters of the testing MPI platform corresponding to the software type are stored;
and the orthogonal test module is used for carrying out parallel test on the CAE software in the MPI test platform according to the acquired orthogonal design table corresponding to the MPI test platform if the MPI parameters of the MPI test platform corresponding to the software type are not stored, obtaining the MPI parameters of the MPI test platform and the corresponding test results, storing the MPI parameters and the corresponding test results in a database, and sending a starting signal to the first judgment module.
Optionally, the second determining module 40 is specifically configured to determine a target MPI parameter corresponding to the parallel computing software according to a test result corresponding to an MPI parameter of each MPI platform in the MPI platform set in the database.
In this embodiment, in the embodiment of the present invention, the first determining module 30 determines the software type of the parallel computing software according to the running characteristics of the detected parallel computing software running in the testing MPI platform according to the preset running mode, and the parallel computing software with similar running characteristics can be divided into the same software type; and further, the target MPI parameters corresponding to the parallel computing software can be determined from the MPI parameter set corresponding to the software type in the database, and the rapid selection of the MPI parameters of the parallel computing software is realized, so that the rapid optimization space prediction and optimization can be performed on the parallel computing performance of the parallel computing software, and the tuning time of the parallel computing software is shortened.
The embodiment of the invention also provides equipment for determining the MPI parameters of the parallel computing software, which comprises the following steps: a processor and a memory, wherein the memory is used for storing a computer program, and the processor is used for implementing the steps of the MPI parameter determination method of the parallel computing software provided by the embodiment when executing the computer program.
The memory in this embodiment includes at least one type of readable storage medium, which includes a flash memory, a hard disk, a multimedia card, a card-type memory (e.g., SD or DX memory, etc.), a magnetic memory, a magnetic disk, an optical disk, and the like. The memory may in some embodiments be an internal storage unit of the MPI parameter determination (e.g. server), e.g. a hard disk of the server. The memory may also be an external storage device of the MPI parameter determination device in other embodiments, such as a plug-in hard disk provided on a server, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like. Further, the memory may also include both an internal storage unit of the boot device of the BIOS and an external storage device. The memory can be used for storing application software of the MPI parameter determination device installed in the parallel computing software and various data, such as: the code of the program that executes the MPI parameter determination method of the parallel computing software, and the like, may also be used to temporarily store data that has been output or is to be output.
The processor in this embodiment may be a Central Processing Unit (CPU), a controller, a microcontroller, a microprocessor or other data Processing chip in some embodiments, and is configured to run program codes stored in a memory or process data, such as codes of a program for executing the MPI parameter determination method of the parallel computing software, and the like.
Furthermore, an embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the MPI parameter determination method of the parallel computing software provided in the foregoing embodiment are implemented.
Wherein the computer-readable storage medium may include: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The embodiments are described in a progressive mode in the specification, the emphasis of each embodiment is on the difference from the other embodiments, and the same and similar parts among the embodiments can be referred to each other. The device, the apparatus and the computer-readable storage medium disclosed in the embodiments correspond to the method disclosed in the embodiments, so that the description is simple, and the relevant points can be referred to the description of the method.
It should also be noted that, in this specification, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The method, the device and the equipment for determining the MPI parameters of the parallel computing software provided by the invention are described in detail above. The principles and embodiments of the present invention are explained herein using specific examples, which are presented only to assist in understanding the method and its core concepts. It should be noted that, for those skilled in the art, it is possible to make various improvements and modifications to the present invention without departing from the principle of the present invention, and those improvements and modifications also fall within the scope of the claims of the present invention.

Claims (10)

1. A method for determining MPI parameters of parallel computing software is characterized by comprising the following steps:
acquiring an MPI platform set corresponding to parallel computing software; wherein the MPI platform set is a set of all MPI platforms supporting the parallel computing software;
running the parallel computing software in a test MPI platform according to a preset running mode to perform parallel computing, and detecting the running characteristics of the parallel computing software; wherein the testing MPI platform is any one of the MPI platforms in the MPI platform set;
determining the software type of the parallel computing software according to the operation characteristics;
determining a target MPI parameter corresponding to the parallel computing software from an MPI parameter set corresponding to the software type stored in a database; wherein the MPI parameter set comprises MPI parameters of each of the MPI platforms in the MPI platform set, and the target MPI parameters comprise: target MPI platform information and platform parameters of a target MPI platform, wherein the target MPI platform is any one of the MPI platforms in the MPI platform set.
2. The method of claim 1, wherein the predetermined operation mode is an operation mode without adding the platform parameters of the testing MPI platform.
3. The method as claimed in claim 1, wherein before determining the target MPI parameter corresponding to the parallel computing software from the MPI parameter set corresponding to the software type stored in the database, the method further comprises:
judging whether the database stores the MPI parameter set corresponding to the software type or not;
if yes, executing the MPI parameter set corresponding to the software type stored in the slave database, and determining a target MPI parameter corresponding to the parallel computing software;
if not, judging whether the database stores the MPI parameters of the test MPI platform corresponding to the software type;
if the MPI parameters of the testing MPI platform corresponding to the software type are stored, replacing the testing MPI platform according to the MPI platform set, and executing the step of running the parallel computing software in the testing MPI platform according to a preset running mode to perform parallel computing;
if the MPI parameters of the testing MPI platform corresponding to the software type are not stored, performing parallel testing on the parallel computing software in the testing MPI platform according to the acquired orthogonal design table corresponding to the testing MPI platform to obtain the MPI parameters of the testing MPI platform and corresponding testing results, storing the MPI parameters and the corresponding testing results in the database, and executing the step of judging whether the MPI parameter set corresponding to the software type is stored in the database.
4. The method for determining the MPI parameters of parallel computing software according to claim 1, wherein the parallel computing software is CAE software.
5. The method for determining the MPI parameters of the parallel computing software according to any one of claims 1 to 4, wherein the determining the target MPI parameters corresponding to the parallel computing software from the MPI parameter set corresponding to the software type stored in the database comprises:
and determining a target MPI parameter corresponding to the parallel computing software according to a test result corresponding to the MPI parameter of each MPI platform in the MPI platform set in the database.
6. An MPI parameter determination apparatus for parallel computing software, comprising:
the acquisition module is used for acquiring an MPI platform set corresponding to the parallel computing software; wherein the MPI platform set is a set of all MPI platforms supporting the parallel computing software;
the operation monitoring module is used for operating the parallel computing software in a test MPI platform according to a preset operation mode to perform parallel computing and detecting the operation characteristics of the parallel computing software; wherein the testing MPI platform is any one of the MPI platforms in the MPI platform set;
the first determining module is used for determining the software type of the parallel computing software according to the running characteristics;
the second determining module is used for determining a target MPI parameter corresponding to the parallel computing software from the MPI parameter set corresponding to the software type stored in the database; wherein the MPI parameter set comprises MPI parameters of each of the MPI platforms in the MPI platform set, and the target MPI parameters comprise: target MPI platform information and platform parameters of a target MPI platform, wherein the target MPI platform is any one of the MPI platforms in the MPI platform set.
7. The apparatus for determining the MPI parameters of parallel computing software according to claim 6, wherein the operation monitoring module is specifically configured to, when the platform parameters of the testing MPI platform are not added in the testing MPI platform, run the parallel computing software to perform parallel computing, and detect the operating characteristics of the parallel computing software.
8. The MPI parameter determination apparatus of parallel computing software according to claim 6, further comprising:
the first judging module is used for judging whether the database stores the MPI parameter set corresponding to the software type; if yes, sending a starting signal to the second determination module;
the second judging module is used for judging whether the MPI parameter set corresponding to the software type is stored in the database or not if the MPI parameter set corresponding to the software type is not stored;
the replacing test module is used for replacing the testing MPI platform according to the MPI platform set and sending a starting signal to the operation monitoring module if the MPI parameters of the testing MPI platform corresponding to the software type are stored;
and the orthogonal test module is used for carrying out parallel test on the parallel computing software in the test MPI platform according to the acquired orthogonal design table corresponding to the test MPI platform if the MPI parameters of the test MPI platform corresponding to the software type are not stored, obtaining the MPI parameters of the test MPI platform and the corresponding test results, storing the MPI parameters and the corresponding test results in the database, and sending a starting signal to the first judgment module.
9. The apparatus for determining MPI parameters of parallel computing software according to any one of claims 6 to 8, wherein the second determining module is specifically configured to determine the target MPI parameters corresponding to the parallel computing software according to the test result corresponding to the MPI parameters of each MPI platform in the MPI platform set in the database.
10. An MPI parameter determination device of parallel computing software, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the MPI parameter determination method of parallel computing software as claimed in any one of claims 1 to 5 when executing the computer program.
CN202010090762.0A 2020-02-13 2020-02-13 MPI parameter determination method, device and equipment of parallel computing software Active CN111324532B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010090762.0A CN111324532B (en) 2020-02-13 2020-02-13 MPI parameter determination method, device and equipment of parallel computing software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010090762.0A CN111324532B (en) 2020-02-13 2020-02-13 MPI parameter determination method, device and equipment of parallel computing software

Publications (2)

Publication Number Publication Date
CN111324532A CN111324532A (en) 2020-06-23
CN111324532B true CN111324532B (en) 2022-06-07

Family

ID=71171003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010090762.0A Active CN111324532B (en) 2020-02-13 2020-02-13 MPI parameter determination method, device and equipment of parallel computing software

Country Status (1)

Country Link
CN (1) CN111324532B (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708404B (en) * 2012-02-23 2016-08-03 北京市计算中心 A kind of parameter prediction method during MPI optimized operation under multinuclear based on machine learning
CN106909452B (en) * 2017-03-06 2020-08-25 中国科学技术大学 Parallel program runtime parameter optimization method

Also Published As

Publication number Publication date
CN111324532A (en) 2020-06-23

Similar Documents

Publication Publication Date Title
CN106294120B (en) Method, apparatus and computer program product for testing code
CN108462760B (en) Electronic device, automatic cluster access domain name generation method and storage medium
CN108459964B (en) Test case selection method, device, equipment and computer readable storage medium
CN109886859B (en) Data processing method, system, electronic device and computer readable storage medium
JP2010002370A (en) Pattern extraction program, technique, and apparatus
CN113032215B (en) Thread snapshot analysis method, device, equipment and storage medium
CN107145446B (en) Application program APP test method, device and medium
CN106020984B (en) Method and device for creating process in electronic equipment
CN109558315B (en) Method, device and equipment for determining test range
CN114139161A (en) Method, device, electronic equipment and medium for batch vulnerability detection
CN113703975A (en) Model distribution method and device, electronic equipment and computer readable storage medium
CN111324532B (en) MPI parameter determination method, device and equipment of parallel computing software
CN107784043B (en) Monitoring method, device and system for data table of data warehouse
CN111338958A (en) Parameter generation method and device of test case and terminal equipment
CN115202946A (en) Automated testing method, apparatus, device, storage medium, and program product
CN115190010A (en) Distributed recommendation method and device based on software service dependency relationship
CN114722401A (en) Equipment safety testing method, device, equipment and storage medium
CN108958929B (en) Method and device for applying algorithm library, storage medium and electronic equipment
CN117519910B (en) Method and device for determining computing quick link memory for virtual machine
CN115576821B (en) Verification method and device, electronic equipment and storage medium
CN111400030A (en) Memory data optimization method and device, computer equipment and storage medium
CN116401113A (en) Environment verification method, device and medium for heterogeneous many-core architecture acceleration card
CN116431201A (en) Method and device for configuring graph index, storage medium and computer equipment
CN117634400A (en) Coverage rate determination method and device for design rule inspection, electronic equipment and medium
CN115904913A (en) Method, system, medium and equipment for improving pressure test performance

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant