This application is based upon and claims the benefit of the prior Japanese Patent Application No. 2018-080924, filed on Apr. 19, 2018, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to an information processing apparatus, an information processing method, and an information processing program.
A finite-difference time-domain (FDTD) method, which is used for the analysis and simulation of electromagnetic fields, is a method of calculating electric fields and magnetic fields by dividing a space into cells in a lattice form and solving the Maxwell equations with respect to time and space by a differential method. In the FDTD method, a calculation is performed using a computer. Recent computers have a hierarchical memory structure in which a high-speed small capacity memory and a low-speed large capacity memory are combined as in, for example, a cache memory and a main memory. Meanwhile, in the FDTD method, the data at the previous time stored in the main memory is used to alternately update the electric fields and the magnetic fields every time.
Related technologies are disclosed in, for example, Japanese Laid-open Patent Publication Nos. 2006-139723 and 2009-245057.
According to an aspect of the embodiments, an information processing apparatus that performs a process of an N-dimensional FDTD method, the information processing apparatus includes a memory; and a processor coupled to the memory and configured to: update a cell in a +1 direction of a predetermined coordinate of an N-dimension, store an updated value in a cache memory, and after storing the updated value, update the cell of the predetermined coordinate using the updated value stored in the cache memory.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
In the FDTD method, since there are many times of reading data and recording update data at the previous time, memory access becomes a bottleneck. Especially, in a hierarchical memory structure, when the data of the previous time stored in the low-speed main memory is used, the access delay increases, which hinders speeding up a process.
Embodiments of an information processing apparatus and an information processing method described in the present disclosure will be described in detail below with reference to the accompanying drawings. Here, the disclosed technology is not limited by the embodiments. In addition, the embodiments may be appropriately combined with each other within a range that does not cause any inconsistency.
First, calculation of an electric field and a magnetic field in the FDTD method will be described with reference to
Similarly, in the code 17, for one cell, data is read five times and written twice, and a calculation is performed eight times so as to update the magnetic field H. Assuming that the data of each cell is 4 bytes, a memory access of 28 bytes occurs for eight operations. That is, a memory access of 3.5 bytes occurs for each operation. A memory performance and a calculation performance of a graphics processing unit (GPU) are, for example, a memory performance of 732 GB/s and a calculation performance of 10.6. Tflops in P100 of NVIDIA (registered trademark) Corporation. That is, a memory access of 0.69 bytes occurs for every operation in P100. In this way, the memory performance required by the FDTD method is slightly larger than that of the existing GPU, and a memory access becomes a bottleneck in the FDTD method.
Next, a hierarchical memory structure will be described with reference to
Subsequently, the configuration of the information processing apparatus 100 will be described. As illustrated in
The communication circuit 110 is implemented by, for example, a network interface card (NIC). The communication circuit 110 is a communication interface that is connected to another information processing apparatus via a network (not illustrated) either in a wired or wireless manner, and is responsible for communication of information with another information processing apparatus. The communication circuit 110 receives data to be analyzed from, for example, another terminal. Further, the communication circuit 110 transmits the analysis result to another terminal.
The display circuit 111 is a display device that displays various types of information. The display circuit 111 is implemented by, for example, a liquid crystal display as a display device. The display circuit 111 displays various screens such as a display screen input from the control circuit 130.
The operation circuit 112 is an input device that receives various operations from the user of the information processing apparatus 100. The operation circuit 112 is implemented by, for example, a keyboard or a mouse as an input device. The operation circuit 112 outputs the operation input by the user to the control circuit 130 as operation information. The operation circuit 112 may be implemented by, for example, a touch panel as an input device, and the display device of the display circuit 111 and the input device of the operation circuit 112 may be integrated with each other.
The memory 120 is implemented by, for example, a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk or an optical disk. The memory 120 includes an electric field memory 121 and a magnetic field memory 122. In addition, the memory 120 stores information used for processing in the control circuit 130. Further, in the present embodiment, descriptions have been made on an assumption of a state where the electric field memory 121 and the magnetic field memory 122 are stored in the main memory, but after completion of the calculation by the FDTD method, the data may be stored in a storage device such as a hard disk or a flash memory.
The electric field memory 121 stores an electric field component for each cell (element) with respect to the area to be analyzed in the FDTD method.
The magnetic field memory 122 stores a magnetic field component for each cell (element) with respect to the area to be analyzed in the FDTD method.
The control circuit 130 is implemented by executing a program stored in an internal storage device with the RAM as a work area by, for example, a central processing unit (CPU) or a micro processing unit (MPU). Further, the control circuit 130 may be implemented by an integrated circuit such as, for example, an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).
The control circuit 130 includes setting circuit 131 and an update circuit 132, and implements or executes the information processing function and operation described below. Further, the internal configuration of the control circuit 130 is not limited to the configuration illustrated in
The setting circuit 131 sets, for example, the parameter of the space to be analyzed input from the user as the update circuit 132. The parameter includes, for example, the permeability of the space, the conductivity, the initial states of the electric field and the magnetic field, or the updating equations corresponding to the sources of the electric field and the magnetic field. Further, the setting circuit 131 initializes the arrays corresponding to the respective cells of the electric field memory 121 and the magnetic field memory 122.
When the initialization of the array by the setting circuit 131 has been completed, the update circuit 132 starts updating the electric field component (electric field E) and the magnetic field component (magnetic field H) for each cell in the space to be analyzed. In the following description, the electric field E and the magnetic field H are also referred to as an electric field component and a magnetic field component, respectively. Further, in the following description, the electric field component and the magnetic field component are collectively referred to as an electromagnetic field component. Here, the constraints on the update order will be described with reference to
When starting updating the electromagnetic field component, the update circuit 132 determines whether updating of the electromagnetic field components of all the cells has been completed. When it is determined that updating of the electromagnetic field components of all the cells has not been completed, the update circuit 132 selects one cell which has not been updated in the order of the dependence relationship of the updating equation of the magnetic field. That is, the update circuit 132 selects one cell which has not been updated according to the pattern of the cell update order illustrated in
In the meantime, when it is determined that updating of the electromagnetic field components of all the cells has been completed, the update circuit 132 determines whether the calculation of all the steps has been completed. When it is determined that the calculation of all the steps has not been completed, the update circuit 132 advances the step of time by one step so as to update the electromagnetic field components of all the cells for the next step. Further, when it is determined that the calculation of all the steps has ended, the update circuit 132 ends updating the electromagnetic field components.
Here, the transition of the memory state for each method of updating the electromagnetic field components will be described with reference to
Next, when the CPU 20 reads the electric field data Ec3 and the magnetic field data Hc2 from the main memory 22, the electric field data Ec3 and the magnetic field data Hc2 are cached in the cache memory 21. At this time, the electric field data Ec2 stored in the cache memory 21 is overwritten by the electric field data Ec3. The CPU 20 stores the updated electric field data Ec4 in the cache memory 21. Thereafter, the CPU 20 repeats the process until the electric field data of the main memory 22 are all updated.
When updating of the electric field components has been completed, the CPU 20 starts updating the magnetic field components. When the CPU 20 reads the electric field data Ec2 and Ec4, and the magnetic field data Hc1 from the main memory 22, the electric field data Ec2 and Ec4, and the magnetic field data Hc1 are cached in the cache memory 21. That is, since the electric field data Ec2 and Ec4 which are once stored in the cache memory 21 at the time of updating the electric field component are overwritten by the subsequent process, the CPU 20 is read again from the main memory 22. The CPU 20 stores the updated magnetic field data Hc3 in the cache memory 21. The magnetic field data Hc3 of the cache memory 21 overwrites and updates the magnetic field data Hc1 of the main memory 22. In this way, in the example of
When the CPU 20a reads the electric field data Er1 and the magnetic field data Hr1 and Hr2 from the main memory 22, the electric field data Er1 and the magnetic field data Hr1 and Hr2 are cached in the cache memory 21. The CPU 20a stores the updated electric field data Er2 and magnetic field data Hr3 in the cache memory 21. The electric field data Er2 and the magnetic field data Hr3 of the cache memory 21 overwrite and update the electric field data Er1 and the magnetic field data Hr1 of the main memory 22, respectively. That is, immediately after the cached electric field component of the cell of interest is updated to the electric field data Er2, the CPU 20a updates the magnetic field component to the magnetic field data Hr3 by referring to the electric field data Er2 stored in the cache memory 21.
Next, when the CPU 20a reads the electric field data Er3 and the magnetic field data Hr4 from the main memory 22, the electric field data Er3 and the magnetic field data Hr4 are cached in the cache memory 21. At this time, the magnetic field data Hr3 stored in the cache memory 21 is overwritten with the magnetic field data Hr4. The CPU 20a stores the updated electric field data Er4 and magnetic field data Hr5 in the cache memory 21. At this time, the electric field data Er3 and the magnetic field data Hr2 stored in the cache memory 21 are overwritten by the electric field data Er4 and the magnetic field data Hr5, respectively. Thereafter, the CPU 20a repeats the process until the electric field data and the magnetic field data of the main memory 22 are all updated. In this way, in the example of
In other words, the update circuit 132 updates the cells in the +1 direction of predetermined coordinates in N dimensions, stores the updated values in the cache memory 21, and then updates the cells at the predetermined coordinates using the stored values. Further, the update circuit 132 updates the electric field component of the cell at the predetermined coordinates, and updates the magnetic field components of the cells at the predetermined coordinates using the electric field component after the update of the cell having the predetermined coordinate and the cell in the +1 direction of the predetermined coordinate, and the electric field component before the update of the cell of the predetermined coordinate. The update circuit 132 also updates the cells in an order from the cell whose coordinate value in the area to be analyzed is the maximum value to the cell whose coordinate value is the minimum value.
Next, descriptions will be made on the operation of the information processing apparatus 1 according to the first embodiment.
The setting circuit 131 initializes the arrays corresponding to the respective cells of the electric field memory 121 and the magnetic field memory 122 (step S1).
When the initialization of the array by the setting circuit 131 has been completed, the update circuit 132 starts updating the electromagnetic field component for each cell in the space to be analyzed. The update circuit 132 determines whether updating of the electromagnetic field components of all the cells has been completed (step S2). When it is determined that the updating of the electromagnetic field components of all the cells has not been completed (“No” in step S2), the update circuit 132 selects one cell which has not been updated in an order of the dependence relationship of the updating equation of the magnetic field (step S3).
The update circuit 132 updates the electric field component of the selected cell (step S4). The update circuit 132 updates the magnetic field component of the selected cell (step S5) and returns to step S2.
In the meantime, when it is determined that updating of the electromagnetic field components of all cells has been completed (“Yes” in step S2), the update circuit 132 determines whether the calculation of all the steps has ended (step S6). When it is determined that the calculation of all the steps has not ended (“No” in step S6), the update circuit 132 advances the step of time by one, and returns to step S2.
When it is determined that the calculation of all the steps has ended (“Yes” in step S6), the update circuit 132 ends updating the electromagnetic field component for each cell in the space to be analyzed. As a result, the information processing apparatus 100 may reduce the number of memory accesses at the time of updating in the FDTD method. Further, the information processing apparatus 100 may update the electromagnetic field component of each cell by one scanning of the main memory.
In addition, in the first embodiment, the cache memory 21 has been described as one hierarchy, but the present disclosure is not limited to this. For example, a multi-layer cache memory such as a three-layer cache memory from the L1 cache to the L3 cache may be used.
As described above, the information processing apparatus 100 is an information processing apparatus that performs a process of the N-dimensional FDTD method. That is, the information processing apparatus 100 updates the cells in the +1 direction of the predetermined coordinates of the N dimension, stores the updated values in the cache memory, and then uses the stored values to update the cells of the predetermined coordinates. As a result, the information processing apparatus 100 may reduce the number of memory accesses at the time of updating in the FDTD method.
In addition, the information processing apparatus 100 updates the electric field components of the cell at the predetermined coordinates and updates the magnetic field components of the cell at the predetermined coordinates using the electric field component after the update of the cell at the predetermined coordinates and the cell in the +1 direction of the predetermined coordinates, and the magnetic field component before the update of the cell at the predetermined coordinates. As a result, the information processing apparatus 100 may acquire a portion of data used at the time of updating the electromagnetic field component from the cache memory.
Further, the information processing apparatus 100 updates the cells in an order from the cell whose coordinate value is the maximum value in the area to be analyzed to the cell whose coordinate value is the minimum value. As a result, the information processing apparatus 100 may acquire a portion of data used at the time of updating the electromagnetic field component from the cache memory.
In the first embodiment, descriptions have been made on the updating of the electromagnetic field component in the CPU 20a. However, such descriptions may well be applied to the updating of the electromagnetic field component using the GPU, and the embodiment in this case will be described as a second embodiment. The same components as those of the information processing apparatus 100 according to the first embodiment are denoted by the same reference numerals, and redundant descriptions of the configurations and operations are omitted.
Similarly to the setting circuit 131 of the first embodiment, the setting circuit 231 sets, for example, the parameter of the space to be analyzed input from the user as the GPU 240. Further, the setting circuit 231 initializes the arrays E and H corresponding to the respective cells of the electric field memory 121 and the magnetic field memory 122, and the time t. The setting circuit 231 outputs the initialized electric field data and magnetic field data to the GPU 240. Further, the electric field data and the magnetic field data may transfer a direct memory access (DMA) from the electric field memory 121 and the magnetic field memory 122 to the GPU 240.
When outputting the electric field data and the magnetic field data to the GPU 240, the setting circuit 231 calls a GPU function and instructs the GPU 240 to execute the process of updating E and H. Upon receiving the update completion notice from the GPU 240, the setting circuit 231 refers to the electric field memory 121 and the magnetic field memory 122 and displays the analysis result on, for example, the display circuit 111. Further, the electric field data and the magnetic field data after the process of updating E and H in the GPU 240 are stored from the GPU 240 in the electric field memory 121 and the magnetic field memory 122 using, for example, the DMA transfer.
Here, the configuration of the GPU will be described with reference to
A grid 35 in
Referring back to the description of
The electric field data is stored in the electric field 241a when performing the process of updating E and H with the GPU 240. The electric field data is updated at any time as the electric field component is updated. The electric field 241a is updated by each block 242 in units of processing blocks including a plurality of cells.
The magnetic field data is stored in the magnetic field 241b when performing the process of updating E and H with the GPU 240. The magnetic field data is updated at any time as the magnetic field component is updated. Similarly to the electric field 241a, the magnetic field 241b is updated by each block 242 in units of processing blocks including a plurality of cells.
The counter 241c is a counter for exclusive control and designates a processing block to be updated by each block 242 using the counter value. That is, the counter 241c is used to dynamically allocate processing blocks in ascending order of dependence relationship of updating equations of the magnetic field to the block 242 that is started asynchronously. That is, all the blocks 242 in the counter 241c share one counter.
The management array 241d is an arrangement that manages the update state of each of the electric field component and the magnetic field component. The management array 241d has a value at time t for each of the processing blocks of the electric field 241a and the magnetic field 241b. That is, the management array 241d confirms the update state of the other block 242 and may wait. That is, since the magnetic field component in the updating of the electric field component and the electric field component in the updating of the magnetic field component are referred to from the area of the other block 242 (processing block), the management array 241d is used as a flag indicating whether the reference point has been updated.
The block 242 corresponds to the streaming processor 32 in the hardware configuration of the GPU 30 in
Each block 242 corresponds to the update circuit 132 of the first embodiment and starts updating the electric field component and the magnetic field component for each processing block in the space to be analyzed according to an instruction from the setting circuit 231. That is, the block 242 updates the electromagnetic field components in an order of the dependence relationship of the updating equations of the magnetic field in units of processing blocks including a plurality of cells. That is, the pattern of the update order of each processing block according to the second embodiment corresponds to the pattern of the update order of each cell according to the first embodiment.
The block 242 executes an updating process of the electromagnetic field component (the process of updating E and H) according to calling of the GPU function of the setting circuit 231. The block 242 executes an exclusive increment operation of the counter 241c. That is, the counter 241c does not accept access from the other block 242 until a certain block 242 acquires the counter value before the increment and increments the counter 241c.
The block 242 determines whether updating of all processing blocks (elements) has ended. When it is determined that updating of all the processing blocks has ended, the block 242 increments the time t. The block 242 determines whether the time t is equal to or less than the predetermined time T. When it is determined that the time t is equal to or less than the predetermined time T, the block 242 executes the process of updating E and H for the incremented time t. When it is determined that the time t is greater than the predetermined time T, the block 242 ends the process of updating E and H.
In the meantime, when it is determined that updating of all the processing blocks has not ended, the block 242 calculates the calculation coordinates based on the counter value of the counter 241c. The block 242 refers to the management array 241d and determines whether updating of the processing block to be referred to when updating the electric field component of the processing block of interest has been completed. When it is determined that the updating of the processing block to be referred to has not been completed, the block 242 continues to refer to the management array 241d.
When it is determined that the updating of the processing block to be referred to has been completed, the block 242 updates the electric field component of the processing block of interest. When the updating of the electric field component of the processing block of interest has been completed, the block 242 refers to the management array 241d and determines whether updating of the processing block to be referred to in the updating of the magnetic field component of the processing block of interest has been completed. When it is determined that the updating of the processing block to be referred to has not been completed, the block 242 continues to refer to the management array 241d.
When it is determined that the updating of the processing block to be referred to has been completed, the block 242 updates the magnetic field component of the processing block of interest. When the magnetic field component of the processing block of interest has been updated, the block 242 determines that the updating of the electromagnetic field component of the processing block of interest has been completed, and proceeds to a process of updating E and H of the next processing block.
Here, an updating method of updating a magnetic field after updating an electric field in the related art will be described with reference to
The CPU 38 initializes the arrays E and H corresponding to the electromagnetic field components and sets time t=0 (step S11). The CPU 38 outputs the initialized data to the GPU 39. The GPU 39 stores the initialized data in the global memory 40. The CPU 38 calls the GPU function (step S12). The GPU 39 updates the electric field component according to the call (step S13). At this time, the block 41 processes “block 0” to “block 3” of the electric field component at the time t, and the GPU 39 stores the blocks in the same area of the global memory 40 as the electric field component at the time t+1.
When the updating of the electric field component has been completed, the CPU 38 calls the GPU function again (step S14). The GPU 39 updates the magnetic field component according to the call (step S15). The block 41 processes “block 0” to “block 3” of the magnetic field component at the time t, and the GPU 39 stores the blocks in the same area of the global memory 40 as the magnetic field component at the time t+1. At this time, the value of the electric field component updated by the other block 41 is referred to when updating the magnetic field component. Also, the value of the magnetic field component updated by the other block 41 is similarly referred to when updating the electric field component. Therefore, in the example of
As described above, in the example of
Subsequently, the transition of the memory state in the updating process according to the second embodiment will be described with reference to
As illustrated in
As illustrated in
As illustrated in
As illustrated in
As illustrated in
As illustrated in
As illustrated in
As illustrated in
As illustrated in
As illustrated in
Further, the block 242-1 updates the portion corresponding to the processing block “block 0” of the management array 241d-H of the magnetic field to the time t=1. Similarly, the block 242-2 updates the position corresponding to the processing block “block 1” of the management array 241d-H of the magnetic field to the time t=1 (step S37). That is, the block 242-1 and the block 242-2 determine a processing block (cell) to be updated based on the value of the counter 241c, and store the update result of the determined processing block (cell) in the management array 241d.
The blocks 242-1 and 242-2 repeat steps S21 to S37 for all processing blocks of the electric field 241a and the magnetic field 241b. Thereafter, the blocks 242-1 and 242-2 repeat the steps S21 to S37 until the predetermined time T, thereby obtaining the analysis result up to the predetermined time T.
Subsequently, descriptions will be made on the operation of the information processing apparatus 200 according to the second embodiment.
The setting circuit 231 initializes the arrays E and H corresponding to the respective cells of the electric field memory 121 and the magnetic field memory 122, and the time t (step S51). The setting circuit 231 outputs the initialized electric field data and magnetic field data to the GPU 240 (step S52). When outputting the electric field data and the magnetic field data to the GPU 240, the setting circuit 231 calls the GPU function and instructs the GPU 240 to execute the process of updating E and H (step S53).
The GPU 240 executes the process of updating E and H (step S54), and stores the electric field data and the magnetic field data after the process of updating E and H in the electric field memory 121 and the magnetic field memory 122. The GPU 240 notifies the setting circuit 231 of the completion of update (step S55).
Upon receiving the update completion notice from the GPU 240, the setting circuit 231 refers to the electric field memory 121 and the magnetic field memory 122, and displays the analysis result on, for example, the display circuit 111. As a result, the information processing apparatus 200 may reduce the number of memory accesses at the time of updating in the FDTD method.
Here, the process of updating E and H in the GPU 240 will be described with reference to
The block 242 of the GPU 240 executes the process of updating E and H according to the call of the GPU function of the setting circuit 231. The block 242 executes the exclusive increment operation of the counter 241c (step S541).
The block 242 determines whether updating of all the processing blocks has ended (step S542). When it is determined that updating of all processing blocks has not ended (“No” in step S542), the block 242 calculates calculation coordinates based on the counter value of the counter 241c (step S543). The block 242 refers to the management array 241d (step S544) and determines whether updating of the processing block to be referred to when updating the electric field component of the processing block of interest has been completed (step S545). When it is determined that the updating of the processing block to be referred to has not been completed (“No” in step S545), the block 242 returns to step S544.
When it is determined that the updating of the processing block to be referred to has been completed (“Yes” in step S545), the block 242 updates the electric field component of the processing block of interest (step S546). When the updating of the electric field component of the processing block of interest has been completed, the block 242 refers to the management array 241d (step S547) and determines whether updating of the processing block to be referred to when updating the magnetic field component of the processing block of interest has been completed (step S548). When it is determined that the updating of the processing block to be referred to has not been completed (“No” in step S548), the block 242 returns to step S547.
When it is determined that the updating of the processing block to be referred to has been completed (“Yes” in step S548), the block 242 updates the magnetic field component of the processing block of interest (step S549) and returns to step S541.
In the meantime, when it is determined that the updating of all the processing blocks has ended in step S542 (“Yes” in step S542), the block 242 increments the time t (step S550). The block 242 determines whether the time t is equal to or less than the predetermined time T (step S551). When it is determined that the time t is equal to or less than the predetermined time T (“Yes” in step S551), the block 242 returns to step S541 to execute the process of updating E and H for the incremented time t. When it is determined that the time t is greater than the predetermined time T (“No” in step S551), the block 242 stores the electric field data and the magnetic field data after the updating process in the electric field memory 121 and the magnetic field memory 122 so as to end the process of updating E and H. In addition, the block 242 notifies the setting circuit 231 of the completion of update. As a result, the information processing apparatus 200 may reduce the number of memory accesses at the time of updating in the FDTD method.
In the second embodiment, the configuration of the GPU of NVIDIA Corporation has been described as an example, but the present disclosure is not limited to this. For example, the shared memory 242a may have a structure including a plurality of layers. In addition, like a GPU of AMD (registered trademark) Corporation, the shared memory 242a may have a configuration which includes a shader engine having plural sets of computer unit group and an L1 cache, and an L2 cache and a main memory accessible from each computer unit group. Further, the computer unit includes a high-speed memory called a local data share corresponding to the shared memory 242a.
As described above, the information processing apparatus 200 includes a block 242 corresponding to a plurality of update circuits, a counter for exclusive control of the cell to be updated (processing block), and a management array that manages the update state of the cell (processing block). Further, the information processing apparatus 200 determines a cell to be updated (processing block) based on the value of the counter, and stores the update result of the determined cell (processing block) in the management array. As a result, even when a parallel processing is performed, the information processing apparatus 200 may reduce the number of memory accesses at the time of updating in the FDTD method.
Further, in the information processing apparatus 200, the block 242 corresponding to the update circuit is the block 36 corresponding to the streaming processor 32, and the cache memory 21 is the shared memory 242a of the streaming processor 32. As a result, the information processing apparatus 200 may reduce the number of memory accesses at the time of updating in the FDTD method using the GPU.
In the information processing apparatus 200, the counter 241c and the management array 241d are arranged in the global memory 241 accessible from the plurality of blocks 242. As a result, the information processing apparatus 200 may appropriately allocate the updating process of the electromagnetic field component to each block 242.
Further, in the information processing apparatus 200, the block 242 corresponds to an area including a plurality of cells (processing block), and a plurality of threads perform a parallel processing within the area so as to update the cell. As a result, the information processing apparatus 200 may increase the utilization efficiency of the core 33 and increase the processing speed.
Further, each constituent element of each unit illustrated in the drawings is not necessarily physically configured as illustrated in the drawings. That is, the specific forms of distribution and integration of each unit are not limited to those illustrated in the drawings, but all or a part thereof may be distributed or integrated functionally or physically in arbitrary units according to various loads or usage situations. For example, the setting circuit 131 and the update circuit 132 may be integrated with each other. Also, each illustrated process is not limited to the above-described order, but may be performed simultaneously within a range that does not contradict the process contents, and may be executed with the reversed order.
Further, various processing functions performed by each device may be executed wholly or arbitrarily on a CPU (or a micro-computer such as an MPU or a micro controller unit (MCU)). It is also needless to say that all or a part of the various processing functions may be executed on a program analyzed and executed by a CPU (or a micro-computer such as an MPU or an MCU), or on a hardware by wired logic.
The various processes described in each of the above-described embodiments may be implemented by executing a program prepared in advance by a computer. Therefore, hereinafter, descriptions will be made on an example of a computer that executes a program having the same functions as those of the above-described embodiments.
As illustrated in
An information processing program having the same functions as the respective processing units of the setting circuit 131 and the update circuit 132 illustrated in
The input device 302 receives the input of various information such as operation information from, for example, the administrator of the computer 300. The monitor 303 displays various screens such as a display screen with respect to, for example, the administrator of the computer 300. For example, a printing device is connected to the interface device 305. For example, the communication device 306 has the same function as the communication circuit 110 illustrated in
The CPU 301 reads each program stored in the hard disk device 308, and develops and executes the program in the RAM 307, thereby performing various processes. In addition, these programs may cause the computer 300 to function as the setting circuit 131 and the update circuit 132 illustrated in
The above-described information processing program is not necessarily stored in the hard disk device 308. For example, the computer 300 may read and execute a program stored in a storage medium readable by the computer 300. A storage medium readable by the computer 300 is, for example, a portable recording medium such as a CD-ROM, a digital versatile disc (DVD), a universal serial bus (USB) memory, a semiconductor memory such as a flash memory, or a hard disk drive. The information processing program may be stored in a device connected to, for example, a public line, the Internet, or a LAN, and the computer 300 may read and execute the information processing program from such a device.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to an illustrating of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2018-080924 | Apr 2018 | JP | national |