Information processing method, information processing device and computer program
By dynamically assigning and managing calculation processes across multiple cores and switching between calculation methods based on time thresholds, the method efficiently calculates response values for simulation target models, addressing the challenge of lengthy calculation times.
Patent Information
- Application Number
- JP2023205386
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-05
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2043-12-05
AI Technical Summary
Existing methods require a large amount of calculation time when repeatedly calculating the characteristics or behaviors of simulation target models, especially in optimization algorithms and when executing numerous simulations.
An information processing method that assigns calculation processes for simulation target models with different parameters to multiple calculation cores, using a first calculation method, and determines whether to end each calculation process based on the ongoing time, then switches to a second calculation method on completed cores.
This approach enables efficient calculation of response values for simulation target models using multiple arithmetic cores, significantly reducing overall calculation time and improving resource utilization.
Smart Images

Figure 2025090260000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing method, an information processing apparatus, and a computer program.
Background Art
[0002] In product design, it is common to calculate the characteristics or behaviors of a simulation target model representing a design object such as a motor by CAE analysis such as the finite element method. For example, Patent Document 1 discloses a design method that enables easy and rapid design of a desired inductor even by a non-expert designer. Specifically, the design method according to Patent Document 1 is a method for designing a wound inductor using a computer, and includes steps of initializing variables describing the structure of the inductor, calculating the characteristics of the inductor having the structure described by the variables based on the attribute information of a core and a coil conductor input in advance by electromagnetic field analysis, calculating an evaluation value using a predetermined evaluation function having at least the inductor characteristics as parameters, determining whether the evaluation value satisfies a predetermined convergence condition, ending the process if the convergence condition is satisfied, and varying the values of the variables by a probabilistic optimization algorithm such as a genetic algorithm if the convergence condition is not satisfied, and repeating the analysis process and the optimization process until the convergence condition is satisfied.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, when it is necessary to repeatedly calculate the characteristics or behaviors of the simulation target model, such as in an optimization algorithm, there is a problem of requiring a large amount of calculation time. The problem of calculation time is not limited to the optimization algorithm, but also occurs when it is necessary to execute a large number of simulations. Although it is conceivable to execute a large number of simulations in parallel using multiple calculation cores, it does not fundamentally solve the above problem.
[0005] An object of the present disclosure is to provide an information processing method, an information processing apparatus, and a computer program capable of efficiently calculating response values regarding the characteristics or behaviors of a simulation target model using a plurality of calculation cores.
Means for Solving the Problem
[0006] An information processing method according to an aspect of the present disclosure is an information processing method for calculating a response value regarding the characteristics or behaviors of a simulation target model defined by a plurality of parameters, wherein calculation processes for calculating response values of each of a plurality of simulation target models with different parameters by a first calculation method are separately assigned to a plurality of calculation cores and executed, and based on the time of the calculation processes ongoing in the plurality of calculation cores, it is determined whether to end the calculation process in each calculation core. If it is determined to end, the calculation process is ended, and a calculation process for calculating the response value of the simulation target model for which the calculation process has ended by a second calculation method is assigned to the calculation core that has ended the calculation process of the first calculation method and executed.
[0007] An information processing apparatus according to one aspect of the present disclosure is an information processing apparatus including an arithmetic unit that calculates a response value regarding characteristics or behavior of a simulation target model defined by a plurality of parameters. The arithmetic unit separately assigns arithmetic processes for calculating response values of each of a plurality of simulation target models with different parameters by a first arithmetic method to a plurality of arithmetic cores and executes them. Based on the time of the arithmetic processes ongoing in the plurality of arithmetic cores, it determines whether to end the arithmetic process in each arithmetic core. If it determines to end, it ends the arithmetic process and assigns an arithmetic process for calculating the response value of the simulation target model for which the arithmetic process has ended by a second arithmetic method to the arithmetic core that has ended the arithmetic process of the first arithmetic method and executes it.
[0008] A computer program according to one aspect of the present disclosure is a computer program that causes a computer to execute a process of calculating a response value regarding characteristics or behavior of a simulation target model defined by a plurality of parameters. The computer program separately assigns arithmetic processes for calculating response values of each of a plurality of simulation target models with different parameters by a first arithmetic method to a plurality of arithmetic cores and executes them. Based on the time of the arithmetic processes ongoing in the plurality of arithmetic cores, it determines whether to end the arithmetic process in each arithmetic core. If it determines to end, it ends the arithmetic process and assigns an arithmetic process for calculating the response value of the simulation target model for which the arithmetic process has ended by a second arithmetic method to the arithmetic core that has ended the arithmetic process of the first arithmetic method and causes the computer to execute the process.
Advantages of the Invention
[0009] According to the present disclosure, it is possible to provide an information processing method, an information processing apparatus, and a computer program that can efficiently calculate a response value regarding characteristics or behavior of a simulation target model using a plurality of arithmetic cores.
Brief Description of the Drawings
[0010]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
MODE FOR CARRYING OUT THE INVENTION
[0011] An information processing method, an information processing apparatus, and a computer program according to an embodiment of the present disclosure will be described below with reference to the drawings. Note that the present disclosure is not limited to these examples, but is shown by the claims, and is intended to include all modifications within the meaning and scope equivalent to the claims. Also, at least a part of the embodiments described below may be arbitrarily combined.
[0012] (Embodiment 1) FIG. 1 is a block diagram showing a configuration example of an information processing apparatus 1 according to Embodiment 1. The information processing apparatus 1 is a computer that implements the information processing method according to Embodiment 1, and includes an arithmetic unit 11, a display unit 12, an operation unit 13, and a storage unit 14. Each unit is connected by a bus.
[0013] Note that the information processing apparatus 1 may be a stand-alone computer or a server device connected to a network. Also, the information processing apparatus 1 may be a computer in an on-premises environment or a computer such as a server in a cloud environment. The information processing apparatus 1 may be configured by a plurality of computers for distributed processing, or may be realized by a plurality of virtual machines provided in one server, or may be realized using a cloud server.
[0014] The arithmetic unit 11 is a processor having an arithmetic circuit such as a CPU (Central Processing Unit), a multi-core CPU, a GPU (Graphics Processing Unit), a GPGPU (General-purpose computing on graphics processing units), a TPU (Tensor Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), an NPU (Neural Processing Unit), an internal storage device such as a ROM (Read Only Memory) and a RAM (Random Access Memory), an I / O terminal, a timing unit, etc. The arithmetic unit 11 according to the first embodiment has a plurality of arithmetic cores 11a. The arithmetic unit 11 implements the information processing method according to the first embodiment by executing a computer program (program product) 141 stored in the storage unit 14 described later. Note that each functional unit of the information processing apparatus 1 may be realized software-wise or partially or entirely hardware-wise.
[0015] The display unit 12 is, for example, a display device such as a liquid crystal panel or an organic EL (Electro Luminescence) display.
[0016] The operation unit 13 is an input device such as a hardware keyboard, a pointing device, or a touch panel. A user of the information processing apparatus 1 can input arbitrary information into the information processing apparatus 1 using the operation unit 13. Note that the operation unit 13 may be integrally configured with the display unit 12.
[0017] The storage unit 14 includes, for example, a main storage unit and an auxiliary storage unit. The main storage unit is a temporary storage area such as SRAM (Static Random Access Memory), DRAM (Dynamic Random Access Memory), or flash memory, and temporarily stores data necessary for the arithmetic unit 11 to execute arithmetic processing. The auxiliary storage unit is a storage device such as a hard disk or EEPROM (Electrically Erasable Programmable ROM). The storage unit 14 stores a computer program 141, a CAE model 142, and a surrogate model 143 executed by the arithmetic unit 11.
[0018] The CAE model 142 includes, for example, a three-dimensional shape model such as three-dimensional CAD data representing the shape of the simulation target, and material properties of each part constituting the three-dimensional shape model. Specifically, when the simulation target model is a motor, the CAE model 142 includes a three-dimensional shape model such as three-dimensional CAD data representing the shapes of a plurality of coils, a stator, and a rotor constituting the motor, material properties of each part constituting the three-dimensional shape model, boundary conditions, voltage conditions, and the like. Examples of the material properties include magnetization properties, electrical properties, and mechanical properties.
[0019] The calculation unit 11 calculates response values regarding the characteristics or behavior of the simulation target model by analyzing the CAE model 142 using a known calculation method (the first calculation method) such as the finite element method (FEA) or the boundary element method. That is, it simulates the identification or behavior of the simulation target model. For example, the calculation unit 11 performs magnetic field analysis on the CAE model 142 of the motor. The magnetic field analysis is performed using a known magnetic field analysis simulator such as the finite element method or the boundary element method. The finite element method is a method of predicting the behavior or characteristics of the entire motor by dividing the rotor and stator of the motor having complex shapes and electromagnetic characteristics into small regions (elements) having simple shapes and electromagnetic characteristics and approximately calculating the characteristics of each simplified element. Hereinafter, in the present Embodiment 1, the calculation process of the response value using the CAE model 142 is appropriately referred to as FEA calculation.
[0020] The surrogate model 143 is a machine learning model that outputs response values regarding the characteristics or behavior of the simulation target model when a plurality of parameters defining the above-described simulation target model are input. The surrogate model 143 includes, for example, a trained neural network (NN) by machine learning. The surrogate model 143 has an input layer to which a plurality of parameters defining the simulation target model are input, an intermediate layer that extracts feature amounts of the simulation target model, and an output layer that outputs response values regarding the characteristics or behavior of the simulation target model.
[0021] The calculation unit 11 calculates response values regarding the characteristics or behavior of the simulation target model by a calculation method (the second calculation method) using the surrogate model 143. The calculation process of the response value using the surrogate model 143 is performed more quickly than the FEA calculation.
[0022] The surrogate model 143 is generated by performing machine learning using training data in a learning device using a computer. The training data includes a large number of data sets in which a plurality of parameters defining the simulation target model are associated with response values related to the characteristics or behaviors of the simulation target model. The learning device inputs the plurality of parameters defining the simulation target model recorded in the training data into the model that forms the basis of the surrogate model 143. The model performs calculations in response to the input of the parameters and outputs response values related to the characteristics or behaviors of the simulation target model. The learning device adjusts the parameters of the model so that the error between the response value output by the model and the response value associated with the plurality of input parameters is reduced. For example, the parameters are adjusted by the error backpropagation method.
[0023] The learning device repeats the above process using the plurality of data sets included in the training data and adjusts the parameters of the model to perform machine learning. By adjusting the parameters of the calculation in this way, the surrogate model 143 is generated. The data indicating the configuration and parameters of the model that forms the basis of the surrogate model 143 is stored in the storage unit 14 of the information processing device 1 as the surrogate model 143.
[0024] Although a neural network has been described as an example of the surrogate model 143, a model using SVR (support vector regression), decision tree, linear regression, etc. may be used, and the method is not limited.
[0025] Note that the auxiliary storage unit may be an external storage device connected to the information processing apparatus 1. The computer program 141 and the surrogate model 143 may be written in the storage unit 14 at the manufacturing stage of the information processing apparatus 1, or the information processing apparatus 1 may acquire through communication what is distributed by an external server and store it in the storage unit 14. The computer program 141 and the surrogate model 143 may be in a form recordable on a recording medium 10 such as a magnetic disk, an optical disk, or a semiconductor memory, and may be read by a reading device from the recording medium 10 and stored in the storage unit 14.
[0026] <Information Processing Method> Here, as an example, optimization processing using a genetic algorithm will be described. In motor design using electromagnetic field analysis, etc., optimization calculations using a GA (genetic algorithm) are often used. The optimization calculation is, for example, a calculation for calculating a motor design plan that improves the average torque of the motor and suppresses local stress. The parameters of the simulation target model are, for example, the position of the permanent magnet constituting the rotor of the motor (for example, the distance from the center of the rotor to the center of the permanent magnet) and the shape (in the case of a rectangular cross-section, the longitudinal dimension and the lateral dimension), and the value characterizing the shape of the flux barrier. The response values calculated by the CAE model 142 and the surrogate model 143 to be simulated are, for example, the average value of the torque and the maximum value of the von Mises stress in the rotor.
[0027] FIG. 2 is a flowchart showing the processing procedure of the optimization calculation using the genetic algorithm. First, the arithmetic unit 11 substitutes 0 into the variable G indicating the generation (step S111). Next, the arithmetic unit 11 calculates a plurality (N>1) of parameters that respectively define a plurality of simulation target models in the G-th generation (step S112).
[0028] Next, the arithmetic unit 11 calculates response values of the simulation target models respectively defined by the plurality of parameters calculated in step S112 (step S113). For example, the arithmetic unit 11 calculates the average torque of the motor and the stress at a predetermined part. Note that since calculations such as the finite element method or the boundary element method take more time than the main process of the optimization calculation using the genetic algorithm, they are performed using a plurality (M: M>1) of arithmetic cores 11a. The arithmetic unit 11 separately assigns the arithmetic processing for calculating the response values of each of the plurality of simulation target models to the plurality of arithmetic cores 11a and executes it. Details of the calculation process of the response value will be described later.
[0029] When the calculation of the response values of the plurality of simulation target models is completed, the arithmetic unit 11 aggregates the obtained response values (step S114), and determines whether or not the response values of the G-th generation have converged (step S115). If it is determined that the response values have not converged (step S115: NO), the arithmetic unit 11 advances the generation by incrementing the variable G (step S116), and returns the process to step S112. Note that the processes of steps S114 to S116 are processes that cannot be executed unless the calculation of the response values of each of the N simulation target models related to the G-th generation is completed. That is, if the process of step S113 is delayed, the process becomes a bottleneck, and the entire optimization process of the simulation target model is delayed.
[0030] If it is determined that the response values of the G-th generation have converged (step S115: YES), the arithmetic unit 11 outputs the converged response values (step S117), and ends the process. For example, the arithmetic unit 11 displays on the display unit 12 the parameters defining the optimized motor and the response values such as the average torque and the maximum stress.
[0031] FIG. 3 is a flowchart showing a processing procedure for calculating response values according to Embodiment 1. The arithmetic unit 11 starts a process of monitoring the arithmetic processing states of the plurality of arithmetic cores 11a and the arithmetic times of the jobs assigned to each arithmetic core 11a (step S131). Then, the arithmetic unit 11 separately assigns to each of the plurality of arithmetic cores 11a a job (arithmetic processing) for calculating the response value of each of the plurality of simulation target models with different parameters by the first arithmetic method, and starts the execution (step S132). The first arithmetic method is a method of calculating a response value by FEA calculation using the CAE model 142. Note that the relationship between the number (N) of jobs to be assigned to the arithmetic core 11a and the number (M) of arithmetic cores 11a is not particularly limited. A smaller number of jobs than the number of arithmetic cores 11a may be assigned, or a larger number of jobs than the number of arithmetic cores 11a may be sequentially assigned.
[0032] Next, the arithmetic unit 11 determines whether there is an arithmetic core 11a that has finished the arithmetic processing of the response value (step S133). If it is determined that there is no arithmetic core 11a that has finished the arithmetic processing of the response value (step S133: NO), the arithmetic unit 11 repeatedly executes the process of step S133 and continues to monitor the arithmetic processing states of the plurality of arithmetic cores 11a.
[0033] If it is determined that there is an arithmetic core 11a that has finished the arithmetic processing of the response value (step S133: YES), the arithmetic unit 11 determines a threshold for determining whether to forcibly terminate the jobs in the other arithmetic cores 11a (step S134). For example, the arithmetic unit 11 multiplies the arithmetic time of the job that has finished the earliest by a predetermined coefficient or adds a predetermined value, and sets the resulting value as the threshold. The method of determining the threshold is an example and is not particularly limited. The arithmetic unit 11 may use the arithmetic time of the job that has finished the earliest among the jobs executed by the plurality of arithmetic cores 11a as the threshold. Also, a predetermined value corresponding to the simulation target model may be used as the threshold. Note that the operation time here may or may not include the system processing (see Fig. 4) for starting the operation of the simulation target model. Substantially, as long as it indicates the time required for the operation processing of the response value, the start time point and end time point of the timing are not particularly limited. The concept of this operation time is the same in step S135.
[0034] Next, the operation unit 11 determines whether the operation time of the job for calculating the response value using the first operation method exceeds the threshold (step S135). That is, the operation unit 11 determines whether the operation continuation time of the job for which the operation processing of the response value is continuing exceeds the threshold.
[0035] When it is determined that there is an operation core 11a whose operation time exceeds the threshold (step S135: YES), after the start of the operation processing of the response value, the job whose operation time exceeds the threshold is forcibly terminated (step S136). Then, the operation unit 11 allocates and executes the job for calculating the response value by the second operation method to the operation core 11a that has forcibly terminated the operation processing of the first operation method (step S137). The second operation method is a method of calculating the response value related to the simulation target model using the surrogate model 143.
[0036] When the process of step S136 is completed, or when it is determined that there is no operation core 11a whose operation time exceeds the threshold (step S135: NO), the operation unit 11 determines whether there is an operation core 11a that has completed the job of the first operation method (step S138). When it is determined that there is no operation core 11a that has completed the job of the first operation method (step S138: NO), the operation unit 11 returns the process to step S135.
[0037] When it is determined that there is a computing core 11a that has finished the job of the first computing method (step S138: YES), it is determined whether all jobs have been completed (step S139). If it is determined that there is an unfinished job (step S139: NO), the computing unit 11 assigns a job of calculating a response value by the first computing method to the computing core 11a determined to have finished the job in step S138, starts the execution (step S140), and returns the process to step S135.
[0038] If it is determined that all jobs have been completed (step S139: YES), the computing unit 11 finishes the process.
[0039] FIG. 4 is a conceptual diagram showing parallel computing processing according to the conventional method. For simplicity, here, as shown in FIG. 4, consider the case where 10 FEA calculations are performed in parallel using 10 computing cores 11a.
[0040] FIGS. 4A and 4B show the processing operation states of each computing core 11a when 10 FEA calculations are performed in parallel using 10 computing cores 11a. Core No. indicates 10 computing cores 11a. The horizontally arranged numbers indicate the computing processing time of each core, and the horizontally long bar indicates the period during which each computing core 11a is operating (during computing processing). In particular, the blackened part indicates the system processing for starting the calculation of the simulation target model, and the blank part indicates the period during which the FEA calculation is being performed. The time required for the system processing is approximately 0.5 minutes as the approximate computing time for convenience of explanation.
[0041] If the parameters of the simulation target model are different, as shown in FIG. 4, there will be variations in the FEA computing time (the computing processing time required for the computing of the response value using the first computing method), and the computing time of the entire 10 computing cores 11a will be bottlenecked by the computing time of the slowest computing core 11a, which is Core No. = 5 with a computing time of 14.5 minutes. This is because the next-generation simulation cannot be started until the computing processing in all computing cores 11a is completed.
[0042] The hatched portion shown in FIG. 4B indicates the total amount of time during which the arithmetic core 11a of NO. = 5 is in an idle state as a result of being rate-limited. It is a state in which it is difficult to say that the resources of the arithmetic core 11a are being effectively utilized.
[0043] FIG. 5 is a conceptual diagram showing a first example of parallel arithmetic processing according to Embodiment 1. FIGS. 5A and 5B show the processing operation states of each arithmetic core 11a when the response values related to 10 simulation target models are calculated in parallel using 10 arithmetic cores 11a in combination with the CAE model 142 and the surrogate model 143. In FIG. 5, the bar portion indicated by SM shows the arithmetic processing by the second arithmetic method using the surrogate model 143 (Surrogate Model). FIG. 5B shows the idle time in each arithmetic core 11a, similar to FIG. 4B.
[0044] In the example shown in FIG. 5A, the threshold for the operation cancellation process is set to 7. The operation time in the arithmetic core 11a of NO. = 1 where the operation process of the response value is completed first is 5.0 minutes. The arithmetic unit 11 sets 7 obtained by multiplying 5.0 minutes by a multiplier 1.4 as the threshold, for example. The value of the multiplier may be a default value or may be set in the information processing apparatus 1 by the user of the information processing apparatus 1 using the operation unit 13.
[0045] The arithmetic cores 11a of core No. = 2, 3, 5, 7, 9, 10 are subjected to a forced termination process with an operation time = 7, and subsequently, the operation process of the response value using the surrogate model 143 is executed. In FIGS. 5A and 5B, in order to clearly show the existence of the forced termination process and the operation process in the surrogate model 143, a significant time (0.5 minutes) is provided for each, but generally, the time required for these processes is extremely short compared to the FEA calculation time. Also, an approximate time of 0.5 minutes is explicitly provided as the approximate time required for the system process for executing the operation process using the CAE model 142 and the surrogate model 143.
[0046] As can be seen by comparing FIGS. 4A and 5A, the calculation processing time required until all jobs are completed by all the arithmetic cores 11a can be shortened from 14.5 minutes to 8.5 minutes. Also, as can be seen by comparing FIGS. 4B and 5B, the idle time of each arithmetic core 11a is significantly reduced.
[0047] FIG. 6 is a conceptual diagram showing a parallel calculation process according to a conventional method and a second example of the parallel calculation process according to Embodiment 1. FIG. 6A shows the processing operation state of each arithmetic core 11a when 20 FEA calculations are performed in parallel using 10 arithmetic cores 11a. Similar to FIG. 4B, FIG. 6A shows the idle time in each arithmetic core 11a. FIG. 6B shows the processing operation state of each arithmetic core 11a when the CAE model 142 and the surrogate model 143 are used in combination and the calculation of response values related to 20 simulation target models is performed in parallel using 10 arithmetic cores 11a. The threshold value for the end process is 7.
[0048] As shown in FIG. 6A, if the parameters of the simulation target model are different, there is variation in the FEA calculation time (the calculation processing time required for the calculation processing of the response value using the first calculation method), and the calculation time of the entire 10 arithmetic cores 11a is limited by the calculation time of the core No. = 5, which is the slowest arithmetic core 11a, at 24 minutes.
[0049] On the other hand, as can be seen by comparing FIGS. 6A and 6B, according to Embodiment 1, the calculation processing time required until all jobs are completed by all the arithmetic cores 11a can be shortened from 24 minutes to 16 minutes. Also, the idle time of each arithmetic core 11a is significantly reduced.
[0050] As described above, according to the information processing method, information processing apparatus 1, and computer program 141 according to Embodiment 1, response values regarding the characteristics or behavior of a simulation target model can be efficiently calculated using a plurality of arithmetic cores 11a. Among a plurality of jobs for calculating response values, the arithmetic unit 11 can obtain some jobs by FEA calculation and obtain other jobs by arithmetic processing using the surrogate model 143. In the present Embodiment 1, since a configuration is adopted in which the FEA calculation in each arithmetic core 11a is forcibly terminated using a threshold value and switched to arithmetic processing using the surrogate model 143, the total arithmetic time can be kept within a fixed time according to the threshold value.
[0051] In addition, in the present Embodiment 1, although an example in which the present invention is applied to an optimization calculation using a genetic algorithm has been described, the present invention can be applied to any process of parallel-calculating a plurality of FEA calculations using a plurality of arithmetic cores 11a. The relationship between the number of FEA calculations and the number of arithmetic cores 11a is not particularly limited.
[0052] Furthermore, in the present Embodiment 1, although a motor is used as a simulation target and magnetic field analysis is described as a simulation method using the CAE model 142, the simulation target and the simulation content are not particularly limited either. For example, the information processing method according to the present embodiment can be applied to the optimization of the shape of an electromagnetic valve and the optimization of a magnetic circuit in a plastic magnet. Also, the simulation method may be thermal analysis, electric field analysis, electromagnetic field analysis, fluid analysis, or the like.
[0053] Also, as an example of the first calculation method, FEA calculation using the CAE model 142 and, as an example of the second calculation method, calculation using the surrogate model 143 which is a machine learning model were illustrated. However, the contents of the first calculation method and the second calculation method are not particularly limited. As long as the calculation accuracy of the second calculation method is lower than that of the first calculation method and the calculation speed of the second calculation method is faster than that of the first calculation method, the contents of the first and second calculation methods are not particularly limited. For example, as the first calculation method and the second calculation method, any models such as the CAE model 142, SVR (support vector regression), decision tree, linear regression, and neural network can be used.
[0054] (Embodiment 2) The information processing apparatus 1 according to Embodiment 2 differs from that of Embodiment 1 in the method of canceling a job. Since the other configurations and processes of the information processing apparatus 1 are the same as those of the information processing apparatus 1 according to Embodiment 1, the same reference numerals are given to the same parts, and detailed descriptions thereof are omitted.
[0055] FIG. 7 is a flowchart showing the processing procedure of response value calculation according to Embodiment 2. The calculation unit 11 starts processing for monitoring the calculation processing states of the plurality of calculation cores 11a (step S231). Then, the calculation unit 11 separately assigns to each of the plurality of calculation cores 11a a job (calculation process) for calculating the response value of each of the plurality of simulation target models to which different parameters are set by the first calculation method, and starts execution (step S232).
[0056] Next, the calculation unit 11 determines whether there is a calculation core 11a that has finished the response value calculation process (step S233). If it is determined that there is no calculation core 11a that has finished the response value calculation process (step S233: NO), the calculation unit 11 repeatedly executes the process of step S233 and continues to monitor the calculation processing states of the plurality of calculation cores 11a.
[0057] When it is determined that there is a calculation core 11a that has finished the calculation process of the response value (step S233: YES), the calculation unit 11 forcibly terminates the jobs in the other calculation cores 11a (step S234). Then, the calculation unit 11 allocates and executes the job of calculating the response value by the second calculation method to the calculation core 11a that has forcibly terminated the calculation process of the first calculation method (step S235).
[0058] When the process of step S235 is finished, the calculation unit 11 determines whether all jobs have ended (step S236). When it is determined that there are unfinished jobs (step S236: NO), the calculation unit 11 allocates the remaining jobs of calculating the response value by the first calculation method to the plurality of calculation cores 11a and starts the execution (step S237), and returns the process to step S233.
[0059] When it is determined that all jobs have ended (step S236: YES), the calculation unit 11 ends the process.
[0060] As described above, according to the information processing method, the information processing apparatus 1, and the computer program 141 according to the second embodiment, the response value regarding the characteristics or behavior of the simulation target model can be calculated at maximum speed using the plurality of calculation cores 11a. According to the second embodiment, at least one can obtain the response value by FEA calculation, and the remaining response values can be obtained by the surrogate model 143. In the second embodiment, an example in which when one job assigned to the calculation core 11a ends, the calculation process by the other calculation cores 11a is forcibly terminated has been described. However, among the plurality of jobs assigned to the plurality of calculation cores 11a (some of the calculation cores 11a), when a predetermined number of jobs end, the calculation process of the other calculation cores 11a may be forcibly terminated.
[0061] (Embodiment 3) The information processing apparatus 1 according to Embodiment 3 differs from that of Embodiment 1 in the method of job cancellation processing. Since the other configurations and processes of the information processing apparatus 1 are the same as those of the information processing apparatus 1 according to Embodiment 1, the same reference numerals are given to the same parts, and detailed descriptions thereof are omitted.
[0062] FIG. 8 is a flowchart showing the processing procedure of response value calculation according to Embodiment 3. The arithmetic unit 11 starts processing for monitoring the arithmetic processing state of each of the plurality of arithmetic cores 11a and the arithmetic time of the jobs assigned to each arithmetic core 11a (step S331). Then, the arithmetic unit 11 starts execution by separately assigning to each of the plurality of arithmetic cores 11a jobs (arithmetic processes) for calculating the response value of each of the plurality of simulation target models set with different parameters by the first arithmetic method (step S332).
[0063] Next, the arithmetic unit 11 determines whether there is an arithmetic core 11a that has completed the arithmetic processing of the response value (step S333). If it is determined that there is no arithmetic core 11a that has completed the arithmetic processing of the response value (step S333: NO), the arithmetic unit 11 repeatedly executes the process of step S333 and continues to monitor the arithmetic processing state of each of the plurality of arithmetic cores 11a.
[0064] If it is determined that there is an arithmetic core 11a that has completed the arithmetic processing of the response value (step S333: YES), the arithmetic unit 11 assigns the unprocessed job (arithmetic process) by the first arithmetic method to the arithmetic core 11a determined to have completed the arithmetic processing in step S333, and starts execution of the arithmetic processing of the response value (step S334).
[0065] Next, the arithmetic unit 11 determines whether the job assigned in step S334 is the last job (step S335). The last job is the last job (the Nth assigned job) when all of the plurality of jobs (N) to be assigned to the arithmetic core 11a have been assigned. When it is determined that the job is not the final job (step S335: NO), the arithmetic unit 11 returns the process to step S333. Through the processes of steps S331 to S335, unprocessed jobs are sequentially assigned to the available arithmetic cores 11a and processed by the first arithmetic method.
[0066] When it is determined that the job is the final job (step S335: YES), the arithmetic unit 11 determines a threshold value for determining whether to forcibly terminate the jobs in the other arithmetic cores 11a based on the time from when the arithmetic processing in the arithmetic core 11a starts until the final job is assigned (step S336).
[0067] The above threshold value is represented by, for example, the following formula. Tkill = C × Tmin However, Tkill: Threshold value related to forced termination Tmin: Time from when the arithmetic processing starts until the final job is assigned C: Multiplier (C ≥ 1)
[0068] The value of the multiplier C may be a default value or may be set by the user of the information processing apparatus 1 to the information processing apparatus 1 using the operation unit 13. The information processing apparatus 1 receives the value of the multiplier C at the operation unit 13 and stores it in the storage unit 14.
[0069] Next, the arithmetic unit 11 determines whether the arithmetic time of the job for calculating the response value using the first arithmetic method exceeds the threshold value (step S337). However, the arithmetic time here is the arithmetic time since the start of the system processing related to the first job. For example, when the arithmetic core 11a has already completed the first job and is executing the second job, the elapsed time since the start of the system processing of the first job is monitored as the arithmetic time.
[0070] When it is determined that there is a calculation core 11a whose calculation time exceeds the threshold (step S337: YES), the job whose calculation time exceeds the threshold is forcibly terminated (step S338). Then, the calculation unit 11 assigns and executes a job that calculates a response value by the second calculation method to the calculation core 11a that has forcibly terminated the calculation process of the first calculation method (step S339).
[0071] When the process of step S339 is completed, or when it is determined that there is no calculation core 11a whose calculation time exceeds the threshold (step S337: NO), the calculation unit 11 determines whether all jobs have been completed (step S340). When it is determined that there is an unfinished job (step S340: NO), the calculation unit 11 returns the process to step S337. When it is determined that all jobs have been completed (step S340: YES), the calculation unit 11 ends the process.
[0072] FIG. 9 is a conceptual diagram showing the state of parallel calculation processing according to the conventional method. Here, for simplicity, as shown in FIG. 9, consider the case where 20 FEA calculations are performed in parallel using 6 calculation cores 11a.
[0073] FIGS. 9A and 9B show the processing operation states of each calculation core 11a when 20 FEA calculations are performed in parallel using 6 calculation cores 11a. In FIG. 9, the numbers represented by parentheses, (1) to (20), represent 20 jobs. The hatched portion shown in FIG. 10B indicates the total amount of time during which the calculation core 11a is in an idle state.
[0074] In the example shown in FIG. 9A, the FEA calculations are input in the order in which the calculation core 11a becomes available, starting from the job with the smallest number. When 20 FEA calculation jobs are input to 6 calculation cores 11a and all calculations are completed, in FIG. 9B, idle cores are generated in the hatched portion. The time required until all 20 calculation processes in this case are completed is 37 minutes.
[0075] FIG. 10 is a conceptual diagram showing the state of parallel arithmetic processing according to Embodiment 3. FIG. 10A shows a method of setting a threshold value, and FIG. 10B shows the processing operation states of each arithmetic core 11a when the response values related to 20 simulation target models are calculated in parallel using six arithmetic cores 11a by using the CAE model 142 and the surrogate model 143 in combination.
[0076] As shown in FIG. 10A, the arithmetic processing of job number 20, which is the last job, was assigned to core No. 4 at the 27.5-minute point after the first job was assigned to each arithmetic core 11a. When the multiplier C is 1.1, the threshold value is 27.5 × 1.1 = 30.25 minutes.
[0077] In this case, as shown in FIG. 10B, the arithmetic processing of job numbers 18, 19, and 20 being executed by the arithmetic cores 11a of core No. = 3, 4, 5 is forced to end with an arithmetic time of 30.25, and subsequently, the arithmetic processing of the response value using the surrogate model 143 is executed.
[0078] As can be seen by comparing FIGS. 10A and 10B, the arithmetic processing time required until all jobs are completed by all arithmetic cores 11a can be shortened from 37 minutes to 31.25 minutes, and the idle time of each arithmetic core 11a is significantly reduced.
[0079] As described above, according to the information processing method, the information processing apparatus 1, and the computer program 141 according to Embodiment 3, the response value regarding the characteristics or behavior of the simulation target model is obtained by FEA calculation as much as possible using a plurality of arithmetic cores 11a, and the overall arithmetic processing time can be shortened by forcibly ending the remaining arithmetic processing at the end stage.
[0080] Means for solving the problems of the present disclosure are appended. (Appendix 1) An information processing method for calculating a response value regarding the characteristics or behavior of a simulation target model defined by a plurality of parameters, Calculation processing for calculating response values of each of a plurality of simulation target models with different parameters is separately assigned to a plurality of calculation cores and executed by a first calculation method, Based on the time of the calculation processing ongoing in the plurality of calculation cores, it is determined whether to end the calculation processing in each calculation core, If it is determined to end, the calculation processing is ended, Calculation processing for calculating the response value of the simulation target model for which the calculation processing has ended by a second calculation method is assigned to and executed by the calculation core that has ended the calculation processing of the first calculation method Information processing method. (Appendix 2) The first calculation method has higher calculation accuracy of the response value but lower calculation speed of the response value compared to the second calculation method, and the calculation processing time required for the calculation processing of the response value using the first calculation method varies depending on the parameters of the simulation target model The information processing method described in Appendix 1. (Appendix 3) The first calculation method is a method for calculating a response value in CAE analysis, The second calculation method is a method for calculating a response value using a machine learning model The information processing method described in Appendix 1 or Appendix 2. (Appendix 4) Based on the time required for the calculation processing of the response value using the first calculation method in some of the plurality of calculation cores, a threshold value for determining whether to end the calculation processing in other calculation cores is determined, By comparing the time of the calculation processing ongoing in the plurality of calculation cores with the threshold value, it is determined whether to end the calculation processing in each calculation core The information processing method described in any one of Appendices 1 to 3. (Appendix 5) When the calculation processing of the response value using the first calculation method in some of the plurality of calculation cores is completed, the calculation processing in other calculation cores is ended The information processing method described in any one of Appendices 1 to 4.
Explanation of Signs
[0081] 1: Information processing apparatus 10: Recording medium 11: Arithmetic unit 11a: Arithmetic core 12: Display unit 13: Operation unit 14: Memory unit 141: Computer program 142: CAE model 143: Surrogate model
Claims
1. An information processing method for calculating a response value related to the characteristics or behavior of a simulation target model defined by a plurality of parameters, comprising: Separately allocating to a plurality of computing cores and executing, for each of a plurality of simulation target models with different parameters, a computing process for calculating a response value of each using a first computing method; Based on the time of the computing process ongoing in the plurality of computing cores, determining whether to end the computing process in each computing core; If it is determined to end, ending the computing process; Allocating to the computing core that has ended the computing process using the first computing method and executing a computing process for calculating the response value of the simulation target model for which the computing process has ended using a second computing method. Information processing method.
2. The first computing method has a higher computing accuracy for the response value than the second computing method but a lower computing speed for the response value, and the computing time required for the computing process of the response value using the first computing method varies depending on the parameters of the simulation target model. The information processing method according to claim 1.
3. The first computing method is a method for calculating a response value by CAE analysis. The second computing method is a method for calculating a response value using a machine learning model. The information processing method according to claim 2.
4. Based on the time required for the computing process of the response value using the first computing method in some of the plurality of computing cores, determining a threshold value for determining whether to end the computing process in the other computing cores; By comparing the time of the computing process ongoing in the plurality of computing cores with the threshold value, determining whether to end the computing process in each computing core. The information processing method according to claim 1 or claim 2.
5. When the calculation process of the response value using the first calculation method in some of the plurality of calculation cores is completed, the calculation process in the other calculation cores is terminated. The information processing method according to claim 1 or claim 2.
6. An information processing apparatus including a calculation unit that calculates a response value related to the characteristics or behavior of a simulation target model defined by a plurality of parameters, The calculation unit, allocates and executes, for each of a plurality of simulation target models with different parameters, a calculation process for calculating the response value of each using the first calculation method to a plurality of calculation cores separately, determines whether to terminate the calculation process in each calculation core based on the time of the ongoing calculation process in the plurality of calculation cores, when it is determined to terminate, terminates the calculation process, allocates and executes, to the calculation core that has terminated the calculation process of the first calculation method, a calculation process for calculating the response value of the simulation target model for which the calculation process has been terminated using the second calculation method Information processing apparatus.
7. A computer program that causes a computer to execute a process of calculating a response value related to the characteristics or behavior of a simulation target model defined by a plurality of parameters, allocates and executes, for each of a plurality of simulation target models with different parameters, a calculation process for calculating the response value of each using the first calculation method to a plurality of calculation cores separately, determines whether to terminate the calculation process in each calculation core based on the time of the ongoing calculation process in the plurality of calculation cores, when it is determined to terminate, terminates the calculation process, allocates and executes, to the calculation core that has terminated the calculation process of the first calculation method, a calculation process for calculating the response value of the simulation target model for which the calculation process has been terminated using the second calculation method A computer program that causes the computer to execute the process.
Citation Information
Patent Citations
Parallel computer system and control method therefor
JP2007249786A
Evaluation support method, information processor, and program
JP2014074994A
Multiphase state distribution measurement device
JP2016142708A
Information processing program, information processing method, and information processing device
JP2022147008A
Parallel proxy model based machine learning method for oil reservoir production
US20210398002A1
Cited By
Information processing method, information processing device, and computer program
JP7839933B1