JP6600280B2  Simulation device, simulation method, simulation program  Google Patents
Simulation device, simulation method, simulation program Download PDFInfo
 Publication number
 JP6600280B2 JP6600280B2 JP2016127466A JP2016127466A JP6600280B2 JP 6600280 B2 JP6600280 B2 JP 6600280B2 JP 2016127466 A JP2016127466 A JP 2016127466A JP 2016127466 A JP2016127466 A JP 2016127466A JP 6600280 B2 JP6600280 B2 JP 6600280B2
 Authority
 JP
 Japan
 Prior art keywords
 processor
 calculation
 simulation
 value
 integration
 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
Links
 238000004088 simulation Methods 0.000 title claims description 188
 238000004364 calculation methods Methods 0.000 claims description 152
 238000000034 methods Methods 0.000 claims description 98
 230000005540 biological transmission Effects 0.000 claims description 55
 230000015654 memory Effects 0.000 description 20
 239000007789 gases Substances 0.000 description 15
 230000000875 corresponding Effects 0.000 description 7
 238000010586 diagrams Methods 0.000 description 7
 230000006399 behavior Effects 0.000 description 5
 239000003990 capacitor Substances 0.000 description 4
 230000001276 controlling effects Effects 0.000 description 3
 230000014509 gene expression Effects 0.000 description 2
 230000004044 response Effects 0.000 description 2
 229940116821 SSD Drugs 0.000 description 1
 239000003570 air Substances 0.000 description 1
 239000000969 carriers Substances 0.000 description 1
 238000006243 chemical reactions Methods 0.000 description 1
 230000004048 modification Effects 0.000 description 1
 238000006011 modification reactions Methods 0.000 description 1
 230000003252 repetitive Effects 0.000 description 1
 239000004065 semiconductors Substances 0.000 description 1
 239000000126 substances Substances 0.000 description 1
 230000001360 synchronised Effects 0.000 description 1
Images
Description
The present invention relates to a simulation apparatus that executes an operation model of a target system, and more particularly to parallelization of simulation.
Conventionally, when a largescale simulation is performed, there is a problem that it takes time until a calculation result is obtained when a simulation by sequential processing is performed. Thus, attempts have been made to increase the speed by parallelizing the simulation.
FIG. 12 shows a calculation image when the vehicle simulation sequential processing is performed. In FIG. 12, 1 / Z is a buffer that stores a feedback value from the vehicle simulation to the transmission simulation and a feedback value from the transmission simulation to the engine simulation. When this sequential processing simulation is parallelized, it is conceivable to parallelize the engine system, transmission system, and vehicle system. FIG. 13 shows a calculation image in which the vehicle simulation of FIG. 12 is parallelized. As shown in FIG. 13, a buffer is provided between the first processor and the second processor or between the second processor and the third processor for parallelization of the vehicle simulation. Thereby, the operation result of the first processor required by the second processor and the operation result of the second processor required by the third processor can be transmitted.
Japanese Patent Application LaidOpen No. 201033567 discloses an example of a simulation apparatus that performs parallel processing.
Incidentally, in the case of the parallel system shown in FIG. 13, there is a problem that a parallelization error occurs due to a communication delay due to data transmission between processors. In particular, in the case of a feedback type system as shown in FIG. 13, there is a problem that the parallelization error increases as the number of repetitions increases and the reliability of the simulation result decreases by repeatedly executing the process. there were.
Therefore, the present invention has been made in view of the above problems, and an object thereof is to provide a simulation apparatus in which no parallelization error occurs.
The simulation apparatus according to the present invention is a simulation apparatus that executes an arithmetic model representing a simulation target system, and executes a first arithmetic process included in the arithmetic model, and is a result of an integral operation. A first processor that outputs a first integral value and a second arithmetic process that is different from the first arithmetic process included in the arithmetic model, and outputs a second integral value that is a result of the integral operation A first processor that repeatedly executes the first arithmetic processing, the second processor repeatedly executes the second arithmetic processing, and the first processor inputs the second integral value. The second processor performs an operation using the first integral value and the second integral value, and the second processor executes an operation using the first integral value and the second integral value with the first integral value as an input. , A first arithmetic processing by first processor and a second arithmetic processing by the second processor, parallel execution.
In the simulation apparatus, when the first processor outputs the first integral value, the first processor performs synchronization processing with the second processor, and when the second processor outputs the second integration value, the first processor performs synchronization processing with the first processor. When the synchronization process ends, the first processor receives the second integral value, performs an operation using the first integral value and the second integral value, and when the synchronization process ends, the second processor An integral value may be received and an operation using the first integral value and the second integral value may be performed.
In the simulation apparatus, the first calculation process may be a calculation process that first performs a calculation using the first integration value and the second integration value and finally executes the integration calculation.
In the simulation apparatus, the second calculation process may be a calculation process that first performs a calculation using the first integration value and the second integration value, and finally executes the integration calculation.
In the above simulation apparatus, an operation using the first integral value and the second integral value executed by the first processor, an operation using the first integral value and the second integral value executed by the second processor, May be the same calculation.
In the simulation apparatus, the target system is a vehicle system, the first processor executes a simulation related to engine control included in the vehicle system as a first calculation process, and the second processor is included in the vehicle system. The simulation using the transmission control is executed as the second calculation process, and the calculation using the first integral value and the second integral value is a shaft connecting the engine related to the engine control and the transmission related to the transmission control. It is good also as calculation concerning this simulation.
In the simulation apparatus, the simulation apparatus further includes a third processor that executes a third calculation process included in the calculation model that finally includes an integration calculation and outputs a third integration value that is a result of the integration calculation. And the third calculation process includes a calculation using the second integration value and the third integration value as input, and the second calculation process further includes the third integration value as input. The first processor and the second processor may execute the first calculation process and the second calculation process in parallel, respectively, including calculation using the second integration value and the third integration value.
In the simulation apparatus, the third processor executes a simulation related to the motion of the vehicle ahead of the transmission as a third calculation process, and the calculation using the second integral value and the third integral value is performed by the transmission and The calculation may be related to a simulation of a shaft that connects a vehicle motion system.
In the above simulation apparatus, the simulation apparatus may further include an output unit that outputs the calculation result of each processor to the outside.
The simulation method according to the present invention is a simulation method of an arithmetic model representing a simulation target system, in which the first processor performs the first arithmetic processing included in the arithmetic model, and the first arithmetic processing is performed. A step of outputting a first integral value that is a result of the integral calculation included in the second calculation process, and a second processor performing a second calculation process included in the calculation model, and a result of the integral calculation included in the second calculation process The step of outputting the second integral value, the step of the first processor and the second processor performing the synchronization process, and the first processor receiving the first integral value and the second integral value as inputs, And a step in which the second processor executes the second calculation process with the first integral value and the second integral value as inputs. And processing, and the second arithmetic processing is executed in parallel.
The simulation program according to the present invention is a simulation program for simulating an arithmetic model representing a simulation target system, and is included in a computer including a first processor and a second processor. A second function that is different from the first arithmetic processing included in the arithmetic model, and a function that causes the first processor to execute a first arithmetic processing that outputs a first integrated value that is a result of the integral arithmetic. A function of causing the second processor to execute a second arithmetic process that outputs a second integrated value that is a result of the integral operation, and a synchronous process between the first processor and the second processor. A function, a function for causing the first processor to input the first integral value and the second integral value, and to execute the next first arithmetic processing; The first integration value and the second integration value are input to the memory, and the function for executing the second calculation process and the function for executing the first calculation process and the second calculation process in parallel are realized. Let
According to the simulation apparatus of one aspect of the present invention, the buffer for passing data between the two systems is divided by dividing the two systems that perform parallel processing into units of integration operations that are used together in both systems. Parallel processing can be realized without provision. Therefore, the simulation can be performed at a higher speed than the sequential processing by the parallel processing without generating the parallelization error based on the delay generated by providing the buffer.
Hereinafter, a simulation apparatus according to an embodiment of the present invention will be described in detail with reference to the drawings.
<Embodiment>
<Overview>
A simulation apparatus 100 according to an embodiment of the present invention executes a calculation model representing a simulation target system, and includes a first processor 330 and a second processor 340 as shown in FIG.
The first processor 330 executes a first calculation process. The first calculation process is a part of the calculation model representing the target system and includes an integral calculation. The first processor 330 outputs a first integration value that is a result of the calculated integration operation.
The second processor 340 executes a second calculation process. The second calculation process is a part of the calculation model representing the target system and includes an integral calculation. The second processor 340 outputs a second integration value that is the result of the calculated integration operation.
The first processor 330 receives the second integration value output from the second processor 340 as an input, and performs an operation using the first integration value calculated by the processor and the input second integration value, for example, the first integration value. Addition processing of the value and the second integral value is executed.
The second processor 340 receives the first integration value output from the first processor 330 as an input, and performs an operation using the second integration value calculated by the processor and the input first integration value, for example, the first integration value. Addition processing of the value and the second integral value is executed.
The first processor 330 and the second processor 340 execute the first calculation process and the second calculation process in parallel, respectively. Thereby, the calculation process of the calculation model of the target system can be speeded up.
Hereinafter, the simulation apparatus 100 will be described in more detail.
<Configuration>
FIG. 2 is a diagram illustrating a system configuration example in which the simulation apparatus 100 is included. As illustrated in FIG. 2, the simulation apparatus 100 is a computer system and is connected to devices such as a monitor 200, a keyboard 210, and a mouse 220, for example.
The monitor 200 is a display device having a function of displaying the result of the simulation executed by the simulation device 100. The monitor 200 can be realized by, for example, an LCD, a plasma display, an organic EL display, or the like.
The keyboard 210 and the mouse 220 are input devices used by the user to input information to the simulation apparatus 100. An arithmetic model related to the target system is input using these devices.
FIG. 3 is a block diagram illustrating a configuration example of the simulation apparatus 100. As shown in FIG. 3, the simulation apparatus 100 includes an input receiving unit 301, an output unit 302, a storage unit 310, a main processor 320, a main memory 321, a first processor 330, a first memory 331, A second processor 340, a second memory 341, a third processor 350, and a third memory 351 are provided. Each part of the simulation apparatus 100 is connected to each other through a bus.
The input receiving unit 301 has a function of receiving input from a device connected to the simulation apparatus 100 regardless of wired or wireless. The input receiving unit 301 receives, for example, input content from the keyboard 210 and the mouse 220 shown in FIG. 2 and input from an external device. For example, the input receiving unit 301 receives a simulation program indicating an operation model to be simulated and transmits the simulation program to the main processor 320.
The output unit 302 has a function of outputting result information indicating a result of simulation to a device connected to the simulation apparatus 100 regardless of wired wireless.
The storage unit 310 is a storage medium having a function of storing various programs and data necessary for the simulation apparatus 100 to operate. The storage unit 310 can be realized by a storage medium such as an HDD, an SSD, or a flash memory.
The main processor 320 is a control unit having a function of controlling each unit of the simulation apparatus 100. The main processor 320 reads out and executes a program stored in the storage unit 310. The main processor 320 executes an arithmetic model that represents a simulation target system received from the user via the input reception unit 301, and includes elements that can be executed in parallel among arithmetic elements included in the arithmetic model. The first processor 330, the second processor 340, the third processor 350, etc. are allocated and executed in parallel. Here, the allocation of arithmetic processing, that is, which arithmetic in the arithmetic model is assigned to which processor is specified in the user or program.
The main memory 321 is a work area used for the main processor 320 to execute processing related to a program, and is a memory that stores temporary data.
The first processor 330 executes the arithmetic processing assigned from the main processor 320 and outputs the arithmetic result.
The first memory 331 is a work area used for executing the arithmetic processing assigned by the first processor 330, and is a memory for storing temporary data.
The second processor 340 executes the arithmetic processing assigned from the main processor 320 and outputs the arithmetic result.
The second memory 341 is a work area used for executing the arithmetic processing assigned by the second processor 340, and is a memory for storing temporary data.
The third processor 350 executes the arithmetic processing assigned by the main processor 320 and outputs the arithmetic result.
The third memory 351 is a work area used for executing the arithmetic processing assigned by the third processor 350, and is a memory for storing temporary data.
Each processor can communicate with each other via a bus to exchange data.
The above is the configuration of the simulation apparatus 100. However, the configuration example illustrated in FIG. 3 is an example, and other configurations may be used. For example, the number of processors and corresponding memories mounted as elements capable of parallel computation is as follows. It is not limited to. In some cases, the processor may be referred to as a core.
<Simulation target system model>
FIG. 4 is a model diagram schematically showing a vehicle system, which is a simulation target system executed by the simulation apparatus 100 according to the present embodiment.
As shown in FIG. 4, the vehicle system 400 includes an engine 410, an engine controller 411, a shaft 420, a transmission (TM) 430, a transmission controller 431, a shaft 440, a differential 450, a shaft 460, and a shaft 461. Tire 470 and tire 471.
The engine 410 is a power source serving as power for driving the vehicle.
The engine controller 411 is a controller having a function of controlling the engine 410. The engine controller 411 executes torque control of the engine 410, for example.
The shaft 420 is a shaft that connects the engine 410 and the transmission 430. The shaft 420 receives the engine torque from the engine 410 and the transmission load from the transmission 430, and rotates in the direction of the integrated force.
The transmission 430 is composed of gears and shafts, and has a function of converting the torque, rotation speed, and rotation direction of the power from the engine 410 received via the shaft 420 and transmitting it to the vehicle side (diff 450 side).
The transmission controller 431 is a controller having a function of controlling the power torque and the rotational speed of the transmission 430. The transmission controller 431 controls, for example, a conversion coefficient for converting torque from the engine 410.
The shaft 440 is a shaft that connects the transmission 430 and the differential 450. The differential 450 receives the output shaft torque from the transmission 430 and the differential load from the differential 450, and rotates in the direction of the integrated force.
The differential 450 is a mechanism that controls the left and right rotational speeds of the tire 470 and the tire 471. Def is officially called differential. The differential 450 converts the torque transmitted from the transmission 430 via the shaft 440 into the respective rotational speeds of the left and right tires 470 and the tire 471 and transmits them.
The shaft 460 is an axis that connects the differential 450 and the tire 470. The shaft 460 receives the torque from the differential 450 and the load from the tire 470, and rotates in the direction of the integrated force.
The tire 470 is a tire that rotates as the shaft 460 rotates.
The shaft 461 is a shaft that connects the differential 450 and the tire 471. The shaft 461 receives the torque from the differential 450 and the load from the tire 471, and rotates in the direction of the integrated force.
The tire 471 is a tire that rotates as the shaft 461 rotates.
The simulation apparatus 100 executes an operation simulation of the vehicle system 400 as shown in FIG.
<Parallel operation model>
FIG. 5 is a conceptual diagram schematically showing an image of parallel operation when the simulation of the vehicle system 400 shown in FIG.
The simulation of the vehicle system 400 shown in FIG. 4 can be broadly divided into an engine simulation 510, an engine control simulation 511, a transmission simulation 530, a transmission control simulation 531 and a vehicle simulation 550.
The engine simulation 510 is a simulation of the behavior of the engine 410 shown in FIG.
The engine control simulation 511 is a simulation of the behavior of the engine controller 411 shown in FIG.
The transmission simulation 530 is a simulation of the behavior of the transmission 430 shown in FIG.
The transmission control simulation 531 is a simulation of the behavior of the transmission controller 431 shown in FIG.
The vehicle simulation 550 is a simulation of the behavior of a mechanism (a differential 450, a shaft 460, a shaft 461, a tire 470, a tire 471, etc.) ahead of the shaft 440 shown in FIG.
Of these simulations, the main processor 320 of the simulation apparatus 100 assigns simulations around the engine (engine control simulation 511 and engine simulation 510) to the first processor 330, and simulations around the transmission (transmission simulation 530 and transmission control simulation 531). ) Is assigned to the second processor 340, and the other simulation (vehicle simulation 550) is assigned to the third processor 350. Each processor has a configuration in which only one of the integral addition operations (shaft computation) is performed, and the other integral operation is received from the other processor and the final addition is performed.
More specifically, shaft calculation, which is a simulation of the shaft 420 connecting the engine 410 and the transmission 430, can be expressed by the following equation (1).
Of the above formula (1), the following formula (2) is an integral operation for calculating an integral value of the engine torque output by the engine simulation 510.
Of the above formula (1), the following formula (3) is an integral calculation for calculating an integral value of the transmission load torque output by the transmission simulation 530.
The first processor 330 performs the integration operation shown in Equation (2), and the second processor 340 performs the integration operation shown in Equation (3), so that synchronization processing is performed between the first processor 330 and the second processor 340. Do. Then, by adding the result of the integral calculation in each of the first processor 330 and the second processor 340, parallel processing can be realized without causing a parallelization error.
The same applies to the shaft calculation 540 between the second processor 340 and the third processor 350. That is, the second processor 340 performs an integral calculation of the output shaft torque (torque generated from the transmission 430), and the third processor 350 performs an integral calculation of the differential load. Then, synchronization processing is performed between the second processor 340 and the third processor 350, and the result of integration calculation is added to each of them, so that parallel processing can be realized without generating a parallelization error. That is, parallel processing can be realized without providing a buffer that causes communication delay.
In other words, this simulation is characterized in that the simulation unit is divided into parts (here, shafts) or locations for storing energy. More specifically, the simulation by the simulation apparatus 100 according to the present embodiment is an integral addition operation, and the first system and the second system perform the integral operation in each, This is a configuration that is effective in a simulation including a calculation process using the integration calculation result. By parallel processing such a first system and a second system, it is possible to increase the speed of the entire simulation and to eliminate the necessity of providing a buffer that had to be provided in the prior art. No longer occurs.
<Operation>
FIG. 6 is a flowchart showing the operation of the simulation apparatus 100, and shows the operation at the time of process assignment.
(Step S601)
In step S <b> 601, the input receiving unit 301 of the simulation apparatus 100 receives an input of a simulation program and stores it in the storage unit 310. Further, the input receiving unit 301 transmits the received simulation program to the main processor 320, and the process proceeds to step S602.
(Step S602)
In step S602, the main processor 320 performs arithmetic processing that can be executed in parallel in the simulation program according to an instruction from the user or designation in the program (first processor 330, second processor 340, third processor 350). And the process proceeds to step S603.
(Step S603)
In step S603, each processor (the first processor 330 to the third processor 350) executes the assigned arithmetic processing.
(Step S604)
In step S604, the output unit 302 of the simulation apparatus 100 outputs result information indicating the output result from each processor in accordance with an instruction from the main processor 320, and ends. In the case of vehicle simulation, the result information can be values such as engine torque, output shaft torque, transmission load, differential load, and the like.
Note that the process in step S603 may be repeatedly executed, and the calculation result in step S604 may be output as the last value of the repetition process, or may be output as a result of each repetition. .
FIG. 7 is a flowchart showing the operation of the simulation apparatus 100, and shows the operation when the simulation apparatus 100 performs the simulation of the vehicle system shown in FIGS. In FIG. 7, it is assumed that time has passed from the top to the bottom of the drawing. Each processor can execute only one process at a time.
(Step S701)
In step S <b> 701, the first processor 330 transmits the engine torque integral value, which is the first integral value at time t calculated by the first processor 330, and the transmission value, which is the second integral value at time t, calculated by the second processor 340. The engine angular velocity is calculated by adding the integrated value of the load torque. Note that the initial value set in advance is used in the first calculation in the calculation in step S701. After performing the addition process, the first processor 330 moves to step S702.
(Step S702)
In step S702, the first processor 330 receives the addition result in step S701, and executes an engine simulation 510 which is a simulation calculation of the engine 410 and an engine control simulation 511 which is a simulation calculation of the engine controller 411. Migrate to
(Step S703)
In step S703, an integration operation for calculating an integral value of the engine torque at time t + 1 to be transmitted to the shaft 420 is executed in response to a simulation result relating to the engine. The first processor 330 outputs the calculated first integral value, and proceeds to step S730.
(Step S711)
In step S711, the second processor 340 transmits the engine torque integral value, which is the first integral value calculated at the time t calculated by the first processor 330, and the second integral value calculated at the time t, calculated by the second processor 340. The engine angular velocity is calculated by adding the integrated value of the load torque. That is, the process in step S711 is the same as the process in step S701. Note that the initial value set in advance is used in the first calculation in the calculation in step S711. After performing the addition process, the second processor 340 moves to step S713.
(Step S712)
In step S <b> 712, the second processor 340 is the integrated value of the output shaft torque, which is the third integrated value at time t calculated by the second processor 340, and the fourth integrated value at time t calculated by the third processor 350. The output shaft torque angular velocity is calculated by adding the integral value of the differential load torque. Note that the initial value set in advance is used in the initial calculation in the calculation in step S712. After performing the addition process, the second processor 340 moves to step S713.
(Step S713)
In step S 713, the second processor 340 receives the addition result in step S 711 and the addition result in step S 712, and transmission simulation 530 which is a simulation calculation of the transmission 430 and transmission control simulation which is a simulation calculation of the transmission controller 431. 531 are executed, and the process proceeds to step S714 and step S715.
(Step S714)
In step S <b> 714, the second processor 340 receives the result of the simulation related to the transmission, and executes an integral operation for calculating an integral value of the transmission load torque transmitted to the shaft 420 at time t + 1. The second processor 340 outputs the calculated second integral value, and proceeds to step S730.
(Step S715)
In step S715, the second processor 340 receives the result of the simulation related to the transmission, and executes an integration operation for calculating the integral value of the output shaft torque at time t + 1 to be transmitted to the shaft 440. The second processor 340 outputs the calculated third integral value, and proceeds to step S730.
(Step S721)
In step S721, the third processor 350 has the output shaft torque integral value that is the third integral value at time t calculated by the second processor 340 and the fourth integral value at time t calculated by the third processor 350. The output shaft angular velocity is calculated by adding the integral value of the differential load torque. That is, the calculation in step S721 is the same as the calculation in step S712. In the initial calculation in the calculation in step S721, a preset initial value is used. After performing the addition process, the third processor 350 moves to step S722.
(Step S722)
In step S722, the third processor 350 receives the addition result in step S721, executes a vehicle simulation 550 that is a simulation related to the chassis and tires, and proceeds to step S723.
(Step S723)
In step S723, the third processor 350 receives the result of the vehicle simulation related to the vehicle, and executes an integration operation for calculating the integral value of the differential load torque at time t + 1 to be transmitted to the shaft 440. The third processor 350 outputs the calculated fourth integral value, and proceeds to step S730.
(Step S730)
In step S730, each processor performs a synchronization process for synchronizing the processes performed by each processor. That is, the first processor 330 and the second processor 340 are shown to perform processing at time t + 1 thereafter, and the second processor 340 and the third processor 350 are shown to perform processing at time t + 1 thereafter. When each processor finishes the synchronization process, it receives the necessary integral value and returns to the first process in each processor. That is, the first processor 330 calculates the first integral value (integrated value of engine torque) at time t + 1 calculated by itself and the second integrated value (integrated value of transmission load torque) at time t + 1 calculated by the second processor 340. And the next iteration is executed. Similarly, the second processor 340 calculates the second integrated value (integrated value of transmission load torque) and the third integrated value (integrated value of output shaft torque) at time t + 1 calculated by itself, and the first processor 330 calculates. In response to the first integrated value (engine torque integrated value) at time t + 1 and the fourth integrated value (integrated value of differential load torque) at time t + 1 calculated by the third processor 350, the next iterative process is performed. Execute. Further, the third processor 350 calculates the fourth integral value (integrated value of the differential load torque) at time t + 1 calculated by itself and the third integrated value (integrated value of the output shaft torque) at time t + 1 calculated by the second processor 340. ) And the next iteration is executed. Note that the next repetitive processing means that each processor executes the processing shown in FIG. 7 from the top of the processing shown in FIG. 7 assigned to each processor.
In FIG. 7, the processing of steps S701 to S703 by the first processor 330, the processing of steps S711 to S715 by the second processor 340, and the processing of steps S721 to S723 by the third processor 350 are parallel to each other. In other words, the processes are executed in parallel, so that the processing speed of the entire vehicle simulation can be increased. In addition, since no buffer processing for passing data between parallel elements is inserted, an error based on delay does not occur.
The above is the operation of the simulation apparatus 100 when the vehicle simulation is performed in parallel.
<Discussion>
FIG. 8 shows a flowchart when the simulation of the vehicle system shown in FIG. 4 is processed by sequential processing.
In the case of sequential processing, the computer performs addition processing of the first integral value and the second integral value (corresponding to step S801, steps S701 and S711 in FIG. 7) along the time series, and the third integral value and the second integral value. 4 is added to the integral value (step S802, corresponding to steps S712 and S721 in FIG. 7), engine simulation (step S803, corresponding to step S702 in FIG. 7) is performed, and transmission simulation (step S804 in FIG. 7) is performed. Equivalent to step S713), vehicle simulation (step S805, equivalent to step S722 in FIG. 7), integration calculation (step S806, equivalent to step S703 in FIG. 7) for calculating the integral value of the engine torque, Integral calculation to calculate the integral value of transmission load torque (step 807, corresponding to step S714 in FIG. 7), integration calculation for calculating the integral value of the output shaft torque (step S808, corresponding to step S715 in FIG. 7), and integration calculation for calculating the integral value of the differential load torque. (Step S809, corresponding to Step S723 in FIG. 7) is performed.
As apparent from a comparison between FIG. 7 and FIG. 8, in the case of the sequential processing shown in FIG. 8, nine processes had to be executed roughly in time series, whereas FIG. In the case of the parallel processing shown in FIG. 4, since there are only 6 processes along the time series (note that each process is not executed at the same time strictly), Obviously, a reduction in time has been achieved. In addition, since the communication synchronization process can receive the input at the same timing in the integral addition operation, there is no parallelization error that may occur in the parallel system as shown in FIG. The simulation apparatus 100 can output a more accurate simulation result than the simulation by the parallel processing shown in FIG.
<Supplement>
It goes without saying that the apparatus according to the above embodiment is not limited to the above embodiment, and may be realized by other methods. Hereinafter, various modifications will be described.
(1) In the abovedescribed embodiment, an example in which the simulation apparatus 100 performs parallel processing of vehicle simulation has been described. Needless to say, a model to be simulated is not limited to a vehicle system. The system to be simulated by the simulation apparatus 100 may be any system as long as the calculation model includes an integral addition operation.
For example, it can be applied to simulation of intake and exhaust in a pipe. An example will be described with reference to FIG. In FIG. 9, it is a figure which shows typically the example which carries out the operation simulation of the state in a certain place of a pipe.
In the pipe of FIG. 9, a state equation can be used for simulating the state of a certain portion (a portion surrounded by a dotted circle). It is generally known that this equation of state can be expressed by the equation PV = nRT. Here, P is pressure, V is volume, n is the amount of substance, R is a gas constant, and T is temperature.
In the gas simulation in the pipe, the pressure and temperature of the gas at the location surrounded by the dotted line are simulated. Here, this pipe is a pipe for intake and exhaust, and the second flow rate calculation side is the outside, that is, the atmosphere side, and the first flow rate calculation side is the source side that discharges the inside air from some device inside. . In the simulation of this equation of state, the pressure P and the temperature T at the location to be simulated are calculated using the gas flow rate and the heat flow rate as inputs.
The pressure P shown in the state equation can be expressed by the following equation (4).
In the formula (4), V means volume, and U means internal energy based on the heat flow rate. F is a constant meaning the degree of freedom of gas.
Further, the temperature T shown in the state equation can be expressed by the following equation (5).
In the formula (5), N means the number of gases, and R _{univ} means a gas constant. As shown in the following formula (6), the internal energy U for determining the pressure P shown in the equation (4) is the heat flow rate u _{1} from the first flow rate measurement side and the heat flow rate u _{2} from the second flow rate measurement side. And the heat flow rate u _{t} resulting from the wall surface temperature.
In addition, as shown in the following formula (7), the number N of gases that determine the temperature T includes the first gas flow rate n _{1} applied from the first flow rate calculation side and the second gas flow rate n _{2} applied from the second flow rate calculation side. Can be calculated based on
As shown in the above formulas (6) and (7), the state equation simulation includes an integral addition operation. Therefore, the calculation process for calculating the integral value of each element of the integral calculation of Expression (6), that is, the calculation process for calculating the integral value of the heat flow rate u _{1} on the first flow rate calculation side, and the second flow rate The calculation process for calculating the integral value of the heat flow rate u _{2} on the calculation side and the calculation process for calculating the integral value of the heat flow rate u _{t} caused by the wall surface temperature can be processed in parallel. Similarly, the processor for calculating the first gas flow rate n _{1} for calculating the element of each integral calculation of the equation (7) and the calculation process for calculating the second gas flow rate n _{2} are respectively different processors. Can be processed in parallel. That is, as shown in FIG. 9, also in the simulation of the state equation, as in FIG. 5 described in the above embodiment, each processor performs an integral operation and outputs it to the state equation calculation process. It is possible to perform a parallel calculation in which P and T as a result of the calculation process are fed back to each calculation. More specifically, the first processor shown in FIG. 9 calculates and outputs the first gas flow rate n _{1} and the first heat flow rate u _{1} . Further, the second processor calculates and outputs the second gas flow rate n _{2} and the second heat flow rate u _{2} . The third processor calculates and outputs the third heat flow u _{t.} Each processor performs synchronization between the processors after executing the respective calculations in parallel. Each processor receives an output value calculated by a processor other than itself, performs a state equation calculation, collects P and T, and performs a simulation at the next timing. In this way, the parallel operation of the simulation of the gas equation of state in the pipe can be executed without causing a delay error. Therefore, the parallel processing using the integral addition operation as a delimiter can be applied to the pipe intake / exhaust model simulation other than the vehicle simulation.
In addition to the vehicle simulation and the intake / exhaust model simulation shown in the above embodiment, the parallel processing according to the present invention can be applied to a model including calculations as shown in the following table.
Table 1 is a table in which physical regions, input data, output data, and examples of components that store energy are associated with each other. In Table 1, the physical region means what kind of physical phenomenon is targeted for simulation in the operation to be simulated. The input data indicates the contents of data (information) input to the simulation model when performing the simulation. The output data indicates the contents of data (information) output by the simulation. An example of a component that stores energy is a place or component where energy is stored (concentrated) in a system to be simulated, and corresponds to the shaft calculation described in the above embodiment. Table 1 shows mathematical expressions indicating the contents of each calculation. According to Table 1, it means that a simulation can be executed with the integral addition operation shown in the example of the component that accumulates energy as a parallel processing target. For example, in the case of capacitor capacity, an arithmetic process for calculating an integral value of an input current input from a connection connected to a capacitor in an electric circuit, and an integral value of an output current output from the capacitor In parallel with the arithmetic processing for calculating. Data is exchanged between the processors that calculate them in synchronization. Then, a simulation for calculating the capacitor capacity can be performed by performing an addition operation of the data received by each processor and the data calculated by itself.
In other words, the parallel processing according to the present invention can be effectively applied to any system as long as the system has a calculation form as shown in FIG. That is, as shown in FIG. 10, in a simulation including a place that can be expressed by a plurality of integration operations and an operation for performing integration processing (addition processing) of the plurality of integration calculation results (see FIG. 10) For the subsystems A, B, C,... Shown in FIG. 10, the parallel processing as shown in the above embodiment can be realized. When parallel processing is applied to such a system, the processing content of each parallel processing is the same as the previous time calculated by the input of the integration operation result calculated by the previous other parallel processing at the beginning of the arithmetic processing. Is added to the integral value, and the integral operation is performed at the end of the arithmetic processing to output the integral value.
As described above, the parallelization method according to the present invention can execute parallelization for any target model as long as it includes an integral addition operation in the operation model. Can be achieved without causing parallelization errors.
(2) In the above embodiment, an example in which a plurality of processors are provided in the simulation apparatus 100 and executed in parallel has been shown, but this is not limited thereto. The first processor 330, the second processor 340, and the third processor 350 in the simulation apparatus 100 may be realized as, for example, an external cluster machine, or configured to communicate with each other as separate apparatuses. It may be realized by a computer system.
(3) In the above embodiment, as a method for calculating a simulation in the simulation apparatus, the processor of the simulation apparatus performs the calculation by executing a simulation program or the like. You may implement  achieve by the logic circuit (hardware) formed in the Integrated Circuit (chip), LSI (Large Scale Integration)), etc., or a dedicated circuit. These circuits may be realized by one or a plurality of integrated circuits, and the functions of the plurality of functional units described in the above embodiments may be realized by a single integrated circuit. An LSI may be called a VLSI, a super LSI, an ultra LSI, or the like depending on the degree of integration. That is, as shown in FIG. 11, the simulation apparatus 100 may include a first control circuit 330a and a second control circuit 340a, and each function is the first processor 330 shown in the above embodiment. And the same as the second processor 340.
The simulation program may be recorded on a processorreadable recording medium. As the recording medium, a “nontemporary tangible medium” such as a tape, a disk, a card, a semiconductor memory, a programmable logic circuit, and the like. Etc. can be used. The simulation program may be supplied to the processor via any transmission medium (such as a communication network or a broadcast wave) that can transmit the simulation program. The present invention can also be realized in the form of a data signal embedded in a carrier wave, in which the simulation program is embodied by electronic transmission.
The simulation program can be implemented using, for example, a script language such as ActionScript or JavaScript (registered trademark), an objectoriented programming language such as ObjectiveC or Java (registered trademark), or a markup language such as HTML5.
(4) The configurations described in the above embodiments and supplements may be combined as appropriate.
DESCRIPTION OF SYMBOLS 100 Simulation apparatus 301 Input reception part 302 Output part 310 Memory  storage part 320 Main processor 321 Main memory 330 1st processor 331 1st memory 340 2nd processor 341 2nd memory 350 3rd processor 351 3rd memory
Claims (9)
 A simulation device that executes an arithmetic model representing a target system of simulation,
A first processor for executing a first calculation process included in the calculation model and outputting a first integration value as a result of an integration calculation;
A second processor that executes a second arithmetic process different from the first arithmetic process included in the arithmetic model, and that outputs a second integral value that is a result of an integral operation; and
The first processor repeatedly executes the first arithmetic processing;
The second processor repeatedly executes the second arithmetic processing;
When the first processor outputs the first integral value, the first processor performs a synchronization process with the second processor,
When the second processor outputs the second integral value, the second processor performs a synchronization process with the first processor,
When the synchronization processing ends, the first processor performs an operation of adding the first integral value and the second integral value with the second integral value as an input,
When the synchronization process ends, the second processor performs an operation of adding the first integral value and the second integral value with the first integral value as an input,
A simulation apparatus for executing in parallel the first arithmetic processing by the first processor and the second arithmetic processing by the second processor.  The first calculation process, according to claim initially performs a calculation for adding the first integration value and the second integral value, finally, it is characterized by an arithmetic processing for executing the integration operation 1 simulation device according to.
 2. The calculation process according to claim 1, wherein the second calculation process is a calculation process that first adds the first integration value and the second integration value, and finally executes the integration calculation. Or the simulation apparatus of 2 .
 The target system is a vehicle system,
The first processor executes a simulation related to engine control included in the vehicle system as the first arithmetic processing,
The second processor executes a simulation related to transmission control included in the vehicle system as the second arithmetic processing,
The calculation using the first integral value and the second integral value is a calculation related to a simulation of a shaft connecting the engine related to the engine control and the transmission related to the transmission control. The simulation apparatus according to any one of claims 1 to 3 .  The simulation apparatus further includes:
A third processor for executing a third calculation process included in the calculation model that includes an integration calculation and outputs a third integration value that is a result of the integration calculation;
The third calculation process includes a calculation of adding the second integration value and the third integration value with the second integration value as an input,
The second calculation process further includes a calculation of adding the second integration value and the third integration value with the third integration value as an input,
The simulation apparatus according to claim 4 , wherein the first processor and the second processor execute a first arithmetic process and a second arithmetic process in parallel, respectively.  The third processor executes a simulation related to the movement of the vehicle ahead of the transmission as the third arithmetic processing,
6. The simulation according to claim 5 , wherein the calculation using the second integral value and the third integral value is a calculation related to a simulation of a shaft connecting the transmission and a motion system of the vehicle. apparatus.  The simulation apparatus further simulation apparatus according to any one of claims 1 to 6, characterized in that an output unit for outputting the operation result of the processor each outside.
 A simulation method of an arithmetic model representing a target system of simulation,
A first processor performing a first calculation process included in the calculation model and outputting a first integration value that is a result of the integration calculation included in the first calculation process;
A second processor performing a second calculation process included in the calculation model and outputting a second integration value that is a result of the integration calculation included in the second calculation process;
The first processor and the second processor performing synchronization processing;
A step in which the first processor receives the first integral value and the second integral value as input and executes a first calculation process including a calculation of adding the first integral value and the second integral value; When,
A step in which the second processor receives the first integral value and the second integral value as input, and executes a second calculation process including a calculation for adding the first integral value and the second integral value. And including
A simulation method in which the first calculation process and the second calculation process are executed in parallel.  A simulation program for simulating an arithmetic model representing a target system of simulation,
In a computer comprising a first processor and a second processor,
A function of causing the first processor to execute a first calculation process included in the calculation model, the first calculation process outputting a first integration value that is a result of an integration calculation;
Causing the second processor to execute a second calculation process that is different from the first calculation process included in the calculation model and outputs a second integral value that is a result of the integral calculation. Function and
A function of executing a synchronization process between the first processor and the second processor;
A function of causing the first processor to execute the first calculation process including the calculation of adding the first integration value and the second integration value with the first integration value and the second integration value as inputs. When,
A function of causing the second processor to execute the second calculation process including the calculation of adding the first integration value and the second integration value with the first integration value and the second integration value as inputs. When,
A simulation program for realizing a function of executing the first arithmetic processing and the second arithmetic processing in parallel.
Priority Applications (1)
Application Number  Priority Date  Filing Date  Title 

JP2016127466A JP6600280B2 (en)  20160628  20160628  Simulation device, simulation method, simulation program 
Applications Claiming Priority (1)
Application Number  Priority Date  Filing Date  Title 

JP2016127466A JP6600280B2 (en)  20160628  20160628  Simulation device, simulation method, simulation program 
Publications (2)
Publication Number  Publication Date 

JP2018005318A JP2018005318A (en)  20180111 
JP6600280B2 true JP6600280B2 (en)  20191030 
Family
ID=60949310
Family Applications (1)
Application Number  Title  Priority Date  Filing Date 

JP2016127466A Active JP6600280B2 (en)  20160628  20160628  Simulation device, simulation method, simulation program 
Country Status (1)
Country  Link 

JP (1)  JP6600280B2 (en) 
Family Cites Families (2)
Publication number  Priority date  Publication date  Assignee  Title 

US8694293B2 (en) *  20080630  20140408  Toyota Technical Development Corporation  Simulation support method, computerreadable storage medium storing simulation support program, and simulation support apparatus 
JP5920842B2 (en) *  20131128  20160518  インターナショナル・ビジネス・マシーンズ・コーポレーションＩｎｔｅｒｎａｔｉｏｎａｌ Ｂｕｓｉｎｅｓｓ Ｍａｃｈｉｎｅｓ Ｃｏｒｐｏｒａｔｉｏｎ  Simulation apparatus, simulation method, and program 

2016
 20160628 JP JP2016127466A patent/JP6600280B2/en active Active
Also Published As
Publication number  Publication date 

JP2018005318A (en)  20180111 
Similar Documents
Publication  Publication Date  Title 

KR101687081B1 (en)  Processing method and apparatus for singlechannel convolution layer, and processing method and apparatus for multichannel convolution layer  
US8438553B2 (en)  Paralleling processing method, system and program  
TWI591549B (en)  Batch processing in a neural network processor  
TW201830297A (en)  Rotating data for neural network computations  
Göddeke et al.  Accelerating double precision FEM simulations with GPUs  
Ansari et al.  Highperformance architecture of elliptic curve scalar multiplication  
US8255884B2 (en)  Optimized scalar promotion with load and splat SIMD instructions  
EP2490141B1 (en)  Method of, and apparatus for, stream scheduling in a parallel pipelined stream processor  
TW201706871A (en)  Computing convolutions using a neural network processor  
Azarderakhsh et al.  Parallel and highspeed computations of elliptic curve cryptography using hybriddouble multipliers  
US20140289445A1 (en)  Hardware accelerator system and method  
US8891757B2 (en)  Programmable cryptographic integrated circuit  
Goddeke et al.  GPU acceleration of an unmodified parallel finite element NavierStokes solver  
WO2002061636A2 (en)  System, method and article of manufacture for parameterized expression libraries  
US20170255464A1 (en)  Merged floating point operation using a modebit  
TWI470545B (en)  Apparatus,processor,system,method,instruction,and logic for performing range detection  
CN111860812A (en)  Apparatus and method for performing convolutional neural network training  
TW201729124A (en)  Vector computation unit in a neural network processor  
Mueller et al.  Virtual prototyping of cyberphysical systems  
Mukherjee et al.  A logarithmic complexity divideandconquer algorithm for multiflexible articulated body dynamics  
JP2009521059A (en)  Perform cyclic redundancy check operations according to user level instructions  
US20100049486A1 (en)  Systems and Methods for Simulating Plant Operations  
JP5731937B2 (en)  Vector floating point argument reduction  
Blockmans et al.  A nonlinear parametric model reduction method for efficient gear contact simulations  
Rogers et al.  Computation of viscous flow for a Boeing 777 aircraft in landing configuration 
Legal Events
Date  Code  Title  Description 

A621  Written request for application examination 
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180627 

RD02  Notification of acceptance of power of attorney 
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20180704 

A521  Written amendment 
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180704 

A977  Report on retrieval 
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190208 

RD04  Notification of resignation of power of attorney 
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190213 

RD04  Notification of resignation of power of attorney 
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190221 

A131  Notification of reasons for refusal 
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190305 

A521  Written amendment 
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190416 

TRDD  Decision of grant or rejection written  
A01  Written decision to grant a patent or to grant a registration (utility model) 
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190910 

A61  First payment of annual fees (during grant procedure) 
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191004 

R150  Certificate of patent or registration of utility model 
Ref document number: 6600280 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 