WO2020250419A1 - 制御装置、制御方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体 - Google Patents

制御装置、制御方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
WO2020250419A1
WO2020250419A1 PCT/JP2019/023651 JP2019023651W WO2020250419A1 WO 2020250419 A1 WO2020250419 A1 WO 2020250419A1 JP 2019023651 W JP2019023651 W JP 2019023651W WO 2020250419 A1 WO2020250419 A1 WO 2020250419A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
data
load
compaction
register
Prior art date
Application number
PCT/JP2019/023651
Other languages
English (en)
French (fr)
Inventor
裕太 井手口
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2019/023651 priority Critical patent/WO2020250419A1/ja
Publication of WO2020250419A1 publication Critical patent/WO2020250419A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Definitions

  • the present disclosure relates to a non-transitory computer-readable medium in which a control device, a control method, and a control program are stored.
  • Patent Document 1 An arithmetic processing unit has been proposed in which only the target data element to be calculated is loaded into a register in units of data elements from continuous or discontinuous locations in the memory, and the calculation target data series is collected (for example). , Patent Document 1).
  • An object of the present disclosure is to provide a non-temporary computer-readable medium in which a control device, a control method, and a control program are stored, which can collect a data series to be calculated at high speed.
  • the control device is one-dimensional data composed of a plurality of data elements stored in a first memory and arranged in a predetermined order including a plurality of target data elements to be processed.
  • a load control unit that executes control to load a series into a register with a load unit data unit consisting of a predetermined number of data elements as a load unit.
  • a compaction control unit that controls compaction processing for extracting the target data element from each load unit data unit loaded in the register. To be equipped.
  • the control method according to the second aspect is a control method executed by a control device that controls the collection of target data elements that are the calculation targets of the arithmetic processing unit.
  • a one-dimensional data series composed of a plurality of data elements stored in a memory and arranged in a predetermined order including a plurality of the target data elements, and a load unit consisting of a predetermined number of data elements. Load it into the register as Extracting the target data element from each load unit data unit loaded in the register, including.
  • the non-transitory computer-readable medium is a control device that controls the collection of target data elements that are the calculation targets of the arithmetic processing unit.
  • a one-dimensional data series composed of a plurality of data elements stored in a memory and arranged in a predetermined order including a plurality of the target data elements, and a load unit consisting of a predetermined number of data elements. Load it into the register as Extracting the target data element from each load unit data unit loaded in the register, Stores a control program that executes processing, including.
  • FIG. 1 is a block diagram showing an example of a control device according to the first embodiment.
  • the control device 10 has a load control unit 11 and a compaction control unit 12.
  • the control device 10 is a device that controls an arithmetic processing unit (not shown).
  • the arithmetic processing unit (not shown) includes a memory (first memory) (not shown) and a register (not shown).
  • the load control unit 11 executes control to load the "one-dimensional data series" stored in the first memory (not shown) into a register (not shown) with the "load unit data unit” as the load unit.
  • the "one-dimensional data series” is a data series composed of a plurality of data elements (data elements) arranged in a predetermined order including a plurality of "target data elements” to be processed.
  • a “load unit data unit” is a data unit composed of a predetermined number of data elements. That is, the load control unit 11 controls the “vector load” of the load unit data unit.
  • the compaction control unit 12 controls the "compact processing” for extracting the "target data element” from each load unit data unit loaded in the register (not shown). That is, the "compact processing” is a processing for extracting a data element satisfying the "predetermined condition" (that is, the above-mentioned target data element) from a plurality of data elements included in the load unit data unit.
  • the "compact processing” is a processing for extracting a data element satisfying the "predetermined condition" (that is, the above-mentioned target data element) from a plurality of data elements included in the load unit data unit.
  • the load control unit 11 in the control device 10 uses the "one-dimensional data series" stored in the first memory (not shown) as the "load unit data unit". Control to load into a register (not shown) as a load unit is executed.
  • the compaction control unit 12 controls "compact processing” for extracting the "target data element” from each load unit data unit loaded in the register (not shown).
  • this control device 10 With the configuration of this control device 10, it is possible to collect the calculation target data series at high speed. That is, in order to load in units of data elements and collect the calculation target data series as in Patent Document 1, it is necessary to specify the address of each data element and load the data elements. Therefore, before collecting the calculation target data series. It can take a long time. On the other hand, the control device 10 specifies the start address of the load unit data unit that is the target of the vector load, loads the load unit data unit, and then applies the “compact processing” to the load unit data unit. Therefore, the calculation target data series can be collected at high speed.
  • FIG. 2 is a diagram showing an example of an arithmetic processing unit including a control device according to the second embodiment.
  • the arithmetic processing unit 20 includes a memory (first memory) 21, a register 22, a buffer 25, a memory (second memory) 27, and a control device 30.
  • the register 22 may be realized by the register included in the control device 30, and the memory 21, the buffer 25, and the memory 27 may be realized by the cache memory included in the main storage device and the control device 30.
  • the memory 21 stores a "one-dimensional data series".
  • the "one-dimensional data series” is data composed of a plurality of data elements (data elements) arranged in a predetermined order including a plurality of "target data elements" to be processed. It is a series.
  • the register 22 includes load registers 23-1 to 23-N (N is a natural number of 2 or more). Further, the register 22 includes compaction registers 24-1 to 24-N (N is a natural number of 2 or more).
  • the load registers 23-1 to 23-N correspond to N "divided data series" in which the "one-dimensional data series” is divided into N (N is a natural number of 2 or more). Further, the load registers 23-1 to 23-N correspond to the compaction registers 24-1 to 24-N, respectively.
  • the load registers 23-1 to 23-N may be simply referred to as the load register 23.
  • the compaction registers 24-1-1 to 24-N may be simply referred to as the compaction registers 24.
  • the buffer 25 includes buffers 26-1 to 26-N (N is a natural number of 2 or more).
  • the buffers 26-1 to 26-N correspond to the above N divided data series, respectively.
  • buffers 26-1 to 26-N may be simply referred to as buffer 26.
  • the memory 27 stores the partial data series stored in the buffers 26-1 to 26-N, respectively.
  • the control device 30 includes a load control unit 31, a compaction control unit 32, a count unit 33, a store control unit (first store control unit) 34, an address calculation unit (first address calculation unit) 35, and an address calculation. It has a unit (second address calculation unit) 36 and a store control unit (second store control unit) 37.
  • the load control unit 31 divides the load unit data unit from the N divided data series and includes the load unit data unit so that a plurality of load unit data units are not continuously loaded from the same divided data series.
  • the load register 23 corresponding to the data series is sequentially loaded.
  • the load unit data unit is a data unit composed of a predetermined number of data elements. For example, the load control unit 31 cycles through the load unit data units from the N divided data series in the load order of the N divided data series, and the load unit data units are in the predetermined order in each divided data series.
  • the load registers 23-1 to 23-N are sequentially loaded so that they are loaded in order in the direction.
  • the load unit data unit included in the divided data series of the identification number k (1 ⁇ k ⁇ N) is loaded into the load register 23-k.
  • the compaction control unit 32 moves all the target data elements included in the load unit data unit loaded in each load register 23 to the compaction register 24 corresponding to each load register 23. On the other hand, the compaction control unit 32 does not move the "non-target data element" included in the load unit data unit loaded in each load register 23 to the compaction register 24 corresponding to each load register 23. As a result, in the compaction register 24, a "data unit after compaction processing" can be obtained. That is, the data unit after compaction processing corresponding to the load unit data unit loaded in the load register 23-k is obtained in the compaction register 24-k corresponding to the load register 23-k.
  • the counting unit 33 counts the number of "target data elements" included in the "data unit after compaction processing".
  • the store control unit 34 stores the data unit after compaction processing obtained by the compaction register 24-k in the area indicated by the "current store address" in the buffer 26-k.
  • the address calculation unit 35 determines the buffer 26- based on the number of "target data elements" included in the compaction-processed data unit stored in the buffer 26-k and the "previous store address" in the buffer 26-k. Calculate the "current store address” in k.
  • This "previous store address” is the store address used as the "current store address” when the data unit after compaction processing was previously stored in the buffer 26-k. That is, the previous store address for the buffer 26-k used in the store control unit 34 is updated by the current store address for the buffer 26-k calculated by the address calculation unit 35.
  • the load control unit 31 loads the load unit data unit from the N divided data series, and the load unit data so that a plurality of load unit data units from the same divided data series are not continuously loaded.
  • the units are sequentially loaded into the load register 23 corresponding to the divided data series including the unit. Therefore, at the timing when the address calculation unit 35 tries to calculate the "current store address" for the buffer 26-k, the "previous store address" for the buffer 26-k is fixed.
  • the store control unit 34 can store the data unit after compaction processing obtained by the compaction register 24-k in the area indicated by the "current store address" in the buffer 26-k at high speed. ..
  • each buffer 26 has at least A "partial data series" consisting of one compaction-processed data unit will be stored.
  • the address calculation unit 36 calculates a "store address" for storing each partial data series in the memory 27 based on the number of target data elements counted by the count unit 33 for each partial data series.
  • the address calculation unit 36 since the number of target data elements included in the partial data series is calculated when the partial data series is stored in the buffer 26, the address calculation unit 36 has a short period of time in the memory 27 for each partial data series. Can be calculated as the "store address" to store.
  • the store control unit 37 stores each partial data series in the store area of the memory 27 indicated by the store address calculated for each partial data series by the address calculation unit 36.
  • FIG. 3 is a timing chart showing an example of the processing operation of the arithmetic processing unit according to the second embodiment.
  • 4 to 14 are diagrams provided for explaining an example of the processing operation of the arithmetic processing unit according to the second embodiment.
  • N the case where the above N is 2 will be described.
  • the "one-dimensional data series” handled here will be explained.
  • the "one-dimensional data series” stored in the memory 21 is a divided data series 1 including the load unit data units LDU1 to LDU3 and a divided data series 2 including the load unit data units LDU4 to LDU6. And is included.
  • the load unit data units LDU1 to LDU6 are arranged in the order described above.
  • the shaded squares in each load unit data unit shown in FIG. 4 indicate the above-mentioned “target data element”.
  • the load unit data unit LDU1 is started to be loaded into the load register 23-1 under the control of the load control unit 31. Further, at the timing t2, the load to the load register 23-2 of the load unit data unit LDU4 is started by the control of the load control unit 31.
  • L1 indicates the load of the load unit data unit LDU1.
  • C1 indicates the compaction processing of the load unit data unit LDU1.
  • A1 indicates an address calculation process for calculating the "current store address”.
  • P1 indicates a counting process for counting the number of target data elements included in the load unit data unit LDU1.
  • S1 indicates a store process for storing the data unit after the compaction process obtained from the load unit data unit LDU1 in the buffer 26. The same applies to the load unit data units LDU2 to LDU6.
  • the compaction process for the load unit data unit LDU1 is started by the control of the compaction control unit 32. Further, at the timing t4, the compaction process for the load unit data unit LDU4 is started by the control of the compaction control unit 32. Further, at the timing t3, the address calculation unit 35 starts the calculation of the "current store address" in the buffer 26-1. Further, at the timing t4, the address calculation unit 35 starts the calculation of the "current store address” in the buffer 26-2.
  • the data unit after compaction processing obtained from the load unit data unit LDU1 and the load unit data unit LDU4 is the data unit first stored in the buffers 26-1 and 26-2 with respect to the "one-dimensional data series". is there. Therefore, for example, a predetermined address value may be used for the "current store address" here.
  • the storage of the compaction-processed data unit obtained from the load unit data unit LDU1 in the buffer 26-1 is started by the control of the store control unit 34. .. In this store, the current store address calculated at timing t3 is used. Further, at the timing t5, the counting unit 33 starts counting the number of target data elements included in the load unit data unit LDU1. Further, at the timing t6, under the control of the store control unit 34, the storage of the data unit after the compaction processing obtained from the load unit data unit LDU4 in the buffer 26-2 is started. In this store, the current store address calculated at timing t4 is used. Further, at the timing t6, the counting unit 33 starts counting the number of target data elements included in the load unit data unit LDU4.
  • the load unit data unit LDU2 is started to be loaded into the load register 23-1 under the control of the load control unit 31. Further, at the timing t8, the load to the load register 23-2 of the load unit data unit LDU5 is started by the control of the load control unit 31.
  • the compaction process for the load unit data unit LDU2 is started under the control of the compaction control unit 32. Further, at the timing t10, the compaction process for the load unit data unit LDU5 is started by the control of the compaction control unit 32. Further, at the timing t9, the address calculation unit 35 starts the calculation of the "current store address” in the buffer 26-1. Further, at the timing t10, the address calculation unit 35 starts the calculation of the "current store address” in the buffer 26-2.
  • the target included in the “previous store address” used in the calculation of the “current store address” in the buffer 26-1 and the data unit after the compaction process stored in the buffer 26-1 last time. The number of data elements is fixed. Therefore, the address calculation unit 35 can start the calculation of the "current store address” in the buffer 26-1 at the timing t9. The same can be said for the calculation of the "current store address” in the buffer 26-2 at the timing t10.
  • the storage of the compaction-processed data unit obtained from the load unit data unit LDU2 in the buffer 26-1 is started by the control of the store control unit 34. .. In this store, the current store address calculated at timing t9 is used. Further, at the timing t11, the counting unit 33 starts counting the number of target data elements included in the load unit data unit LDU2. Further, at the timing t12, under the control of the store control unit 34, the storage of the data unit after the compaction processing obtained from the load unit data unit LDU5 in the buffer 26-2 is started. In this store, the current store address calculated at timing t10 is used. Further, at the timing t12, the counting unit 33 starts counting the number of target data elements included in the load unit data unit LDU5.
  • the load unit data unit LDU3 is started to be loaded into the load register 23-1 under the control of the load control unit 31. Further, at the timing t14, the load to the load register 23-2 of the load unit data unit LDU6 is started by the control of the load control unit 31.
  • the compaction process for the load unit data unit LDU3 is started by the control of the compaction control unit 32.
  • the compaction process for the load unit data unit LDU6 is started by the control of the compaction control unit 32.
  • the address calculation unit 35 starts the calculation of the "current store address” in the buffer 26-1.
  • the address calculation unit 35 starts the calculation of the "current store address” in the buffer 26-2.
  • the target included in the “previous store address” used in the calculation of the “current store address” in the buffer 26-1 and the data unit after the compaction process stored in the buffer 26-1 last time.
  • the address calculation unit 35 can start the calculation of the "current store address” in the buffer 26-1 at the timing t15. The same can be said for the calculation of the "current store address” in the buffer 26-2 at the timing t16.
  • the storage of the compaction-processed data unit obtained from the load unit data unit LDU3 in the buffer 26-1 is started by the control of the store control unit 34. .. In this store, the current store address calculated at timing t15 is used. Further, at the timing t17, the counting unit 33 starts counting the number of target data elements included in the load unit data unit LDU3. Further, at the timing t18, under the control of the store control unit 34, the storage of the data unit after the compaction processing obtained from the load unit data unit LDU6 in the buffer 26-2 is started. In this store, the current store address calculated at timing t16 is used. Further, at the timing t18, the counting unit 33 starts counting the number of target data elements included in the load unit data unit LDU6.
  • the address calculation unit 36 in the memory 27 The calculation of the "store address" for storing each partial data series can be started immediately.
  • the two partial data series stored in the buffers 26-1 and 26-2 are stored by the address calculation unit 36 for each partial data series. It is stored in the store area of the memory 27 indicated by the address.
  • FIG. 15 is a timing chart according to a comparative example.
  • the load, compaction, and current store address of the load unit data unit LDU1 to the load register 23-1 Calculation, counting the number, and storing in the memory 27 (corresponding to the store in the buffer 26-1 in FIG. 3) can be performed.
  • the data unit after the compaction processing obtained from the load unit data unit LDU2 can be stored in the memory 27 for the first time at the timing t27. This is because the count of the number of target data elements included in the load unit data unit LDU1 is completed at the timing t27.
  • the current address can be calculated at the timing t4 (corresponding to the timing t24 in FIG. 15), so that the current address is immediately loaded at the timing t6 when the compaction C2 is completed.
  • the data unit after compaction processing obtained from the unit data unit LDU2 can be stored. That is, according to the arithmetic processing unit 20, the arithmetic target data series can be collected at a higher speed than in the comparative example. The larger N is, the greater this effect is.
  • FIG. 16 is a diagram showing a hardware configuration example of the control device.
  • the control device includes a processor 101 and a memory 102.
  • the processor 101 may be, for example, a microprocessor, an MPU (Micro Processing Unit), or a CPU (Central Processing Unit).
  • the processor 101 may include a plurality of processors.
  • the memory 102 is composed of a combination of a volatile memory and a non-volatile memory.
  • the memory 102 may include storage located away from the processor 101. In this case, the processor 101 may access the memory 102 via an I / O interface (not shown).
  • the control devices 10 and 30 of the first embodiment and the second embodiment can each have the hardware configuration shown in FIG.
  • the calculation unit 36 and the store control unit 37 may be realized by the processor 101 reading and executing the program stored in the memory 102.
  • the memory 21, the register 22, the buffer 25, and the memory 27 may be realized by the memory 102.
  • the program is stored using various types of non-transitory computer readable medium and can be supplied to the control devices 10 and 30.
  • non-transitory computer-readable media examples include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks).
  • examples of non-temporary computer-readable media include CD-ROM (Read Only Memory), CD-R, and CD-R / W.
  • examples of non-transitory computer-readable media include semiconductor memory.
  • the semiconductor memory includes, for example, a mask ROM, a PROM (Programmable ROM), an EPROM (Erasable PROM), a flash ROM, and a RAM (Random Access Memory).
  • the program may be supplied to the control devices 10 and 30 by various types of temporary computer readable media (transitory computer readable medium). Examples of temporary computer-readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the control devices 10 and 30 via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • Control unit 11 Load control unit 12 Compaction control unit 20 Arithmetic processing unit 21 Memory (first memory) 22 Registers 23 Load Registers 24 Compaction Registers 25 Buffers 26 Buffers 27 Memory (Second Memory) 30 Control device 31 Load control unit 32 Compaction control unit 33 Count unit 34 Store control unit (1st store control unit) 35 Address calculation unit (1st address calculation unit) 36 Address calculation unit (2nd address calculation unit) 37 Store control unit (second store control unit)

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Advance Control (AREA)

Abstract

制御装置(10)にてロード制御部(11)は、第1メモリに記憶されている「一次元データ系列」を、「ロード単位データユニット」をロード単位としてレジスタにロードさせる制御を実行する。コンパクション制御部(12)は、レジスタにロードされた各ロード単位データユニットから「対象データ要素」を抽出するための「コンパクション処理」を制御する。「一次元データ系列」は、演算処理の対象である複数の「対象データ要素」を一部に含んで所定の順序に並べられた複数のデータ要素から成る、データ系列である。「ロード単位データユニット」は、所定数のデータ要素から成るデータユニットである。

Description

制御装置、制御方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体
 本開示は、制御装置、制御方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体に関する。
 メモリ内の連続する場所又は不連続な場所から、演算対象である対象データ要素のみをレジスタにデータ要素単位でロードして、演算対象データ系列を収集する、演算処理装置が提案されている(例えば、特許文献1)。
特開2013-080490号公報
 しかしながら、特許文献1に開示されている技術では、演算対象である対象データ要素のみをレジスタにデータ要素単位でロードして演算対象データ系列を収集するため、演算対象データ系列の収集までに長い時間を要する可能性がある。
 本開示の目的は、演算対象データ系列を高速に収集することができる、制御装置、制御方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体を提供することにある。
 第1の態様にかかる制御装置は、第1メモリに記憶され且つ演算処理の対象である複数の対象データ要素を一部に含んで所定の順序に並べられた複数のデータ要素から成る一次元データ系列を、所定数のデータ要素から成るロード単位データユニットをロード単位としてレジスタにロードさせる制御を実行するロード制御部と、
 前記レジスタにロードされた各ロード単位データユニットから前記対象データ要素を抽出するためのコンパクション処理を制御するコンパクション制御部と、
 を具備する。
 第2の態様にかかる制御方法は、演算処理装置の演算対象である対象データ要素の収集を制御する制御装置によって実行される制御方法であって、
 メモリに記憶され且つ複数の前記対象データ要素を一部に含んで所定の順序に並べられた複数のデータ要素から成る一次元データ系列を、所定数のデータ要素から成るロード単位データユニットをロード単位としてレジスタにロードさせること、及び、
 前記レジスタにロードされた各ロード単位データユニットから前記対象データ要素を抽出させること、
 を含む。
 第3の態様にかかる非一時的なコンピュータ可読媒体は、演算処理装置の演算対象である対象データ要素の収集を制御する制御装置に、
 メモリに記憶され且つ複数の前記対象データ要素を一部に含んで所定の順序に並べられた複数のデータ要素から成る一次元データ系列を、所定数のデータ要素から成るロード単位データユニットをロード単位としてレジスタにロードさせること、及び、
 前記レジスタにロードされた各ロード単位データユニットから前記対象データ要素を抽出させること、
 を含む、処理を実行させる、制御プログラムを格納する。
 本開示により、演算対象データ系列を高速に収集することができる、制御装置、制御方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体を提供することができる。
第1実施形態における制御装置の一例を示すブロック図である。 第2実施形態における制御装置を含む演算処理装置の一例を示す図である。 第2実施形態における演算処理装置の処理動作の一例を示すタイミングチャートである。 第2実施形態における演算処理装置の処理動作の一例の説明に供する図である。 第2実施形態における演算処理装置の処理動作の一例の説明に供する図である。 第2実施形態における演算処理装置の処理動作の一例の説明に供する図である。 第2実施形態における演算処理装置の処理動作の一例の説明に供する図である。 第2実施形態における演算処理装置の処理動作の一例の説明に供する図である。 第2実施形態における演算処理装置の処理動作の一例の説明に供する図である。 第2実施形態における演算処理装置の処理動作の一例の説明に供する図である。 第2実施形態における演算処理装置の処理動作の一例の説明に供する図である。 第2実施形態における演算処理装置の処理動作の一例の説明に供する図である。 第2実施形態における演算処理装置の処理動作の一例の説明に供する図である。 第2実施形態における演算処理装置の処理動作の一例の説明に供する図である。 比較例に係るタイミングチャートである。 制御装置のハードウェア構成例を示す図である。
 以下、図面を参照しつつ、実施形態について説明する。なお、実施形態において、同一又は同等の要素には、同一の符号を付し、重複する説明は省略される。
<第1実施形態>
 図1は、第1実施形態における制御装置の一例を示すブロック図である。図1において制御装置10は、ロード制御部11と、コンパクション制御部12とを有している。制御装置10は、不図示の演算処理装置を制御する装置である。該不図示の演算処理装置は、メモリ(第1メモリ)(不図示)と、レジスタ(不図示)とを含んでいる。
 ロード制御部11は、第1メモリ(不図示)に記憶されている「一次元データ系列」を、「ロード単位データユニット」をロード単位としてレジスタ(不図示)にロードさせる制御を実行する。「一次元データ系列」は、演算処理の対象である複数の「対象データ要素」を一部に含んで所定の順序に並べられた複数のデータ要素(data element)から成る、データ系列である。「ロード単位データユニット」は、所定数のデータ要素から成るデータユニットである。すなわち、ロード制御部11は、ロード単位データユニットの「ベクトルロード」を制御する。
 コンパクション制御部12は、レジスタ(不図示)にロードされた各ロード単位データユニットから「対象データ要素」を抽出するための「コンパクション処理」を制御する。すなわち、「コンパクション処理」は、ロード単位データユニットに含まれる複数のデータ要素から「所定の条件」を満たすデータ要素(つまり、上記の対象データ要素)を抽出する処理である。
 以上のように第1実施形態によれば、制御装置10にてロード制御部11は、第1メモリ(不図示)に記憶されている「一次元データ系列」を、「ロード単位データユニット」をロード単位としてレジスタ(不図示)にロードさせる制御を実行する。コンパクション制御部12は、レジスタ(不図示)にロードされた各ロード単位データユニットから「対象データ要素」を抽出するための「コンパクション処理」を制御する。
 この制御装置10の構成により、演算対象データ系列を高速に収集することができる。すなわち、特許文献1のようにデータ要素単位でロードして演算対象データ系列を収集するためには、各データ要素のアドレスを指定してロードする必要があるため、演算対象データ系列の収集までに長い時間を要する可能性がある。一方で、制御装置10は、ベクトルロードの対象であるロード単位データユニットの先頭アドレスを指定してロード単位データユニットをロードしてから該ロード単位データユニットに「コンパクション処理」を適用させる。このため、演算対象データ系列を高速に収集することができる。
<第2実施形態>
 <演算処理装置の構成例>
 図2は、第2実施形態における制御装置を含む演算処理装置の一例を示す図である。図2において演算処理装置20は、メモリ(第1メモリ)21と、レジスタ22と、バッファ25と、メモリ(第2メモリ)27と、制御装置30とを含んでいる。例えば、レジスタ22は、制御装置30に含まれるレジスタによって実現されてもよく、メモリ21、バッファ25、及びメモリ27は、主記憶装置及び制御装置30に含まれるキャッシュメモリによって実現されてもよい。
 メモリ21は、「一次元データ系列」を記憶している。「一次元データ系列」は、上記の通り、演算処理の対象である複数の「対象データ要素」を一部に含んで所定の順序に並べられた複数のデータ要素(data element)から成る、データ系列である。
 レジスタ22は、ロードレジスタ23-1~23-N(Nは、2以上の自然数)を含む。また、レジスタ22は、コンパクションレジスタ24-1~24-N(Nは、2以上の自然数)を含む。ロードレジスタ23-1~23-Nは、「一次元データ系列」がN(Nは、2以上の自然数)個に分割された、N個の「分割データ系列」にそれぞれ対応する。また、ロードレジスタ23-1~23-Nは、コンパクションレジスタ24-1~24-Nとそれぞれ対応する。なお、以下では、ロードレジスタ23-1~23-Nを区別しない場合、ロードレジスタ23-1~23-Nを単にロードレジスタ23と呼ぶことがある。また、コンパクションレジスタ24-1~24-Nを区別しない場合、コンパクションレジスタ24-1~24-Nを単にコンパクションレジスタ24と呼ぶことがある。
 バッファ25は、バッファ26-1~26-N(Nは、2以上の自然数)を含む。バッファ26-1~26-Nは、上記のN個の分割データ系列にそれぞれ対応する。なお、以下では、バッファ26-1~26-Nを区別しない場合、バッファ26-1~26-Nを単にバッファ26と呼ぶことがある。
 メモリ27は、バッファ26-1~26-Nにそれぞれストアされた部分データ系列を、ストアする。
 制御装置30は、ロード制御部31と、コンパクション制御部32と、カウント部33と、ストア制御部(第1ストア制御部)34と、アドレス算出部(第1アドレス算出部)35と、アドレス算出部(第2アドレス算出部)36と、ストア制御部(第2ストア制御部)37とを有している。
 ロード制御部31は、N個の分割データ系列から、ロード単位データユニットを、同じ分割データ系列から複数のロード単位データユニットが連続してロードされないように、ロード単位データユニットが含まれていた分割データ系列に対応するロードレジスタ23に順次ロードさせる。ロード単位データユニットは、上記の通り、所定数のデータ要素から成るデータユニットである。例えば、ロード制御部31は、N個の分割データ系列から、ロード単位データユニットを、N個の分割データ系列のロード順が巡回し且つ各分割データ系列においてロード単位データユニットが上記所定の順序の方向に順番にロードされるように、ロードレジスタ23-1~23-Nへ順次ロードさせる。なお、識別番号k(1≦k≦N)の分割データ系列に含まれていたロード単位データユニットは、ロードレジスタ23-kにロードされる。
 コンパクション制御部32は、各ロードレジスタ23にロードされたロード単位データユニットに含まれる、すべての対象データ要素を各ロードレジスタ23に対応するコンパクションレジスタ24に移動させる。一方、コンパクション制御部32は、各ロードレジスタ23にロードされたロード単位データユニットに含まれる、演算処理の対象でない「非対象データ要素」を各ロードレジスタ23に対応するコンパクションレジスタ24に移動させない。これにより、コンパクションレジスタ24において、「コンパクション処理後のデータユニット」が得られる。すなわち、ロードレジスタ23-kにロードされたロード単位データユニットに対応する、コンパクション処理後のデータユニットが、ロードレジスタ23-kに対応するコンパクションレジスタ24-kにおいて得られる。
 カウント部33は、「コンパクション処理後のデータユニット」に含まれる「対象データ要素」の個数をカウントする。
 ストア制御部34は、コンパクションレジスタ24-kにて得られたコンパクション処理後のデータユニットを、バッファ26-kにおける、「現ストアアドレス」が示す領域に、ストアさせる。
 アドレス算出部35は、バッファ26-kにストアされるコンパクション処理後のデータユニットに含まれる「対象データ要素」の個数と、バッファ26-kにおける「前ストアアドレス」とに基づいて、バッファ26-kにおける「現ストアアドレス」を算出する。この「前ストアアドレス」は、バッファ26-kにコンパクション処理後のデータユニットを前回ストアしたときに「現ストアアドレス」として用いられたストアアドレスである。すなわち、ストア制御部34において用いられるバッファ26-kについての前ストアアドレスが、アドレス算出部35にて算出されたバッファ26-kについての現ストアアドレスによって更新される。ここで、上記の通り、ロード制御部31は、N個の分割データ系列から、ロード単位データユニットを、同じ分割データ系列から複数のロード単位データユニットが連続してロードされないように、ロード単位データユニットが含まれていた分割データ系列に対応するロードレジスタ23に順次ロードさせる。このため、アドレス算出部35がバッファ26-kについての「現ストアアドレス」の算出を試みるタイミングでは、バッファ26-kについての「前ストアアドレス」は確定していることになる。これにより、ストア制御部34は、コンパクションレジスタ24-kにて得られたコンパクション処理後のデータユニットを、バッファ26-kにおける、「現ストアアドレス」が示す領域に、高速にストアさせることができる。
 以上で説明した、ロード制御部31、コンパクション制御部32、カウント部33、ストア制御部34、及びアドレス算出部35の処理が「一次元データ系列」について行われることによって、各バッファ26には少なくとも1つのコンパクション処理後のデータユニットから成る「部分データ系列」がストアされることになる。
 アドレス算出部36は、各部分データ系列についてカウント部33にてカウントされた対象データ要素の個数に基づいて、メモリ27において各部分データ系列をストアする「ストアアドレス」を算出する。ここで、バッファ26に部分データ系列がストアされる時点で部分データ系列に含まれる対象データ要素の個数は算出されているので、アドレス算出部36は、短い期間で、メモリ27において各部分データ系列をストアする「ストアアドレス」を算出することができる。
 ストア制御部37は、アドレス算出部36によって各部分データ系列について算出されたストアアドレスの示すメモリ27のストア領域に、各部分データ系列をストアさせる。
 <演算処理装置の動作例>
 以上の構成を有する演算処理装置20の処理動作の一例について説明する。図3は、第2実施形態における演算処理装置の処理動作の一例を示すタイミングチャートである。図4~14は、第2実施形態における演算処理装置の処理動作の一例の説明に供する図である。なお、ここでは、上記のNが2であるケースを説明する。
 まず、ここで扱う「一次元データ系列」について説明する。図4に示すように、メモリ21に記憶されている「一次元データ系列」は、ロード単位データユニットLDU1~LDU3を含む分割データ系列1と、ロード単位データユニットLDU4~LDU6を含む分割データ系列2とを含んでいる。「一次元データ系列」においては、上記の所定の順序として、ロード単位データユニットLDU1~LDU6の順番に並べられている。図4に示す各ロード単位データユニットにおいて網掛けされた四角は、上記の「対象データ要素」を示している。
 図3及び図5に示すように、タイミングt1にて、ロード制御部31の制御によって、ロード単位データユニットLDU1のロードレジスタ23-1へのロードが開始される。また、タイミングt2にて、ロード制御部31の制御によって、ロード単位データユニットLDU4のロードレジスタ23-2へのロードが開始される。ここで、図3において、L1は、ロード単位データユニットLDU1のロードを示す。また、C1は、ロード単位データユニットLDU1のコンパクション処理を示す。また、A1は、「現ストアアドレス」を算出するアドレス算出処理を示す。また、P1は、ロード単位データユニットLDU1に含まれる対象データ要素の個数をカウントするカウント処理を示す。また、S1は、ロード単位データユニットLDU1から得られたコンパクション処理後のデータユニットをバッファ26へストアするストア処理を示す。なお、ロード単位データユニットLDU2~LDU6についても同様である。
 図3及び図6に示すように、タイミングt3にて、コンパクション制御部32の制御によって、ロード単位データユニットLDU1に対するコンパクション処理が開始される。また、タイミングt4にて、コンパクション制御部32の制御によって、ロード単位データユニットLDU4に対するコンパクション処理が開始される。また、タイミングt3にて、アドレス算出部35によって、バッファ26-1における「現ストアアドレス」の算出が開始される。また、タイミングt4にて、アドレス算出部35によって、バッファ26-2における「現ストアアドレス」の算出が開始される。ここで、ロード単位データユニットLDU1及びロード単位データユニットLDU4から得られるコンパクション処理後のデータユニットは、「一次元データ系列」に関して、バッファ26-1,26-2に最初にストアされるデータユニットである。このため、ここでの「現ストアアドレス」には、例えば、予め決定されたアドレス値が用いられてもよい。
 図3及び図7に示すように、タイミングt5にて、ストア制御部34の制御によって、ロード単位データユニットLDU1から得られたコンパクション処理後のデータユニットのバッファ26-1へのストアが開始される。このストアでは、タイミングt3にて算出された現ストアアドレスが用いられる。また、タイミングt5にて、カウント部33による、ロード単位データユニットLDU1に含まれていた対象データ要素の個数のカウントが開始される。また、タイミングt6にて、ストア制御部34の制御によって、ロード単位データユニットLDU4から得られたコンパクション処理後のデータユニットのバッファ26-2へのストアが開始される。このストアでは、タイミングt4にて算出された現ストアアドレスが用いられる。また、タイミングt6にて、カウント部33による、ロード単位データユニットLDU4に含まれていた対象データ要素の個数のカウントが開始される。
 図3及び図8に示すように、タイミングt7にて、ロード制御部31の制御によって、ロード単位データユニットLDU2のロードレジスタ23-1へのロードが開始される。また、タイミングt8にて、ロード制御部31の制御によって、ロード単位データユニットLDU5のロードレジスタ23-2へのロードが開始される。
 図3及び図9に示すように、タイミングt9にて、コンパクション制御部32の制御によって、ロード単位データユニットLDU2に対するコンパクション処理が開始される。また、タイミングt10にて、コンパクション制御部32の制御によって、ロード単位データユニットLDU5に対するコンパクション処理が開始される。また、タイミングt9にて、アドレス算出部35によって、バッファ26-1における「現ストアアドレス」の算出が開始される。また、タイミングt10にて、アドレス算出部35によって、バッファ26-2における「現ストアアドレス」の算出が開始される。ここで、タイミングt9では、バッファ26-1における「現ストアアドレス」の算出に用いられる、「前ストアアドレス」及び前回バッファ26-1にストアされたコンパクション処理後のデータユニットに含まれていた対象データ要素の個数が確定している。このため、アドレス算出部35は、タイミングt9にてバッファ26-1における「現ストアアドレス」の算出を開始することができる。タイミングt10での、バッファ26-2における「現ストアアドレス」の算出についても、同じことが言える。
 図3及び図10に示すように、タイミングt11にて、ストア制御部34の制御によって、ロード単位データユニットLDU2から得られたコンパクション処理後のデータユニットのバッファ26-1へのストアが開始される。このストアでは、タイミングt9にて算出された現ストアアドレスが用いられる。また、タイミングt11にて、カウント部33による、ロード単位データユニットLDU2に含まれていた対象データ要素の個数のカウントが開始される。また、タイミングt12にて、ストア制御部34の制御によって、ロード単位データユニットLDU5から得られたコンパクション処理後のデータユニットのバッファ26-2へのストアが開始される。このストアでは、タイミングt10にて算出された現ストアアドレスが用いられる。また、タイミングt12にて、カウント部33による、ロード単位データユニットLDU5に含まれていた対象データ要素の個数のカウントが開始される。
 図3及び図11に示すように、タイミングt13にて、ロード制御部31の制御によって、ロード単位データユニットLDU3のロードレジスタ23-1へのロードが開始される。また、タイミングt14にて、ロード制御部31の制御によって、ロード単位データユニットLDU6のロードレジスタ23-2へのロードが開始される。
 図3及び図12に示すように、タイミングt15にて、コンパクション制御部32の制御によって、ロード単位データユニットLDU3に対するコンパクション処理が開始される。また、タイミングt16にて、コンパクション制御部32の制御によって、ロード単位データユニットLDU6に対するコンパクション処理が開始される。また、タイミングt15にて、アドレス算出部35によって、バッファ26-1における「現ストアアドレス」の算出が開始される。また、タイミングt16にて、アドレス算出部35によって、バッファ26-2における「現ストアアドレス」の算出が開始される。ここで、タイミングt15では、バッファ26-1における「現ストアアドレス」の算出に用いられる、「前ストアアドレス」及び前回バッファ26-1にストアされたコンパクション処理後のデータユニットに含まれていた対象データ要素の個数が確定している。このため、アドレス算出部35は、タイミングt15にてバッファ26-1における「現ストアアドレス」の算出を開始することができる。タイミングt16での、バッファ26-2における「現ストアアドレス」の算出についても、同じことが言える。
 図3及び図13に示すように、タイミングt17にて、ストア制御部34の制御によって、ロード単位データユニットLDU3から得られたコンパクション処理後のデータユニットのバッファ26-1へのストアが開始される。このストアでは、タイミングt15にて算出された現ストアアドレスが用いられる。また、タイミングt17にて、カウント部33による、ロード単位データユニットLDU3に含まれていた対象データ要素の個数のカウントが開始される。また、タイミングt18にて、ストア制御部34の制御によって、ロード単位データユニットLDU6から得られたコンパクション処理後のデータユニットのバッファ26-2へのストアが開始される。このストアでは、タイミングt16にて算出された現ストアアドレスが用いられる。また、タイミングt18にて、カウント部33による、ロード単位データユニットLDU6に含まれていた対象データ要素の個数のカウントが開始される。
 そして、タイミングt19にて、ロード単位データユニットLDU6から得られたコンパクション処理後のデータユニットのバッファ26-2へのストアが完了する。すなわち、タイミングt19にて、「一次元データ系列」から得られた2つの部分データ系列のバッファ26-1,26-2へのストアが完了する。
 ここで、タイミングt19では、バッファ26-1,26-2にストアされた2つの部分データ系列に含まれる対象データ要素の個数のカウントが完了しているので、アドレス算出部36は、メモリ27において各部分データ系列をストアする「ストアアドレス」の算出を直ぐに開始することができる。
 そして、図14に示すように、ストア制御部37の制御によって、バッファ26-1,26-2にストアされた2つの部分データ系列が、アドレス算出部36によって各部分データ系列について算出されたストアアドレスの示すメモリ27のストア領域にストアされる。
 〈比較例〉
 ここで、比較例について説明する。この比較例は、演算処理装置20がバッファ25を有さないケース、つまり、コンパクション処理後のデータユニットがバッファ25を経ずにメモリ27へ直接ストアされるケースである。図15は、比較例に係るタイミングチャートである。
 比較例においても、図13のタイミングt1,t3,t5と同様に、タイミングt21,t23,t25にて、ロード単位データユニットLDU1についての、ロードレジスタ23-1へのロード、コンパクション、現ストアアドレスの算出、個数のカウント、及び、メモリ27へのストア(図3のバッファ26-1へのストアに対応)を行うことができる。一方で、比較例においては、ロード単位データユニットLDU2から得られるコンパクション処理後のデータユニットを、タイミングt27にて初めてメモリ27へストアすることができる。これは、タイミングt27にてロード単位データユニットLDU1に含まれていた対象データ要素の個数のカウントが完了するためである。
 これに対して、上記の通り、演算処理装置20では、タイミングt4(図15のタイミングt24に対応)にて現アドレスの算出を行うことができるので、コンパクションC2が完了するタイミングt6にて直ぐにロード単位データユニットLDU2から得られるコンパクション処理後のデータユニットをストアすることができる。すなわち、演算処理装置20によれば、比較例に比べて、演算対象データ系列を高速に収集することができる。なお、上記のNが大きいほど、この効果は大きくなる。
 <他の実施形態>
 図16は、制御装置のハードウェア構成例を示す図である。図16において制御装置は、プロセッサ101と、メモリ102とを有している。プロセッサ101は、例えば、マイクロプロセッサ、MPU(Micro Processing Unit)、又はCPU(Central Processing Unit)であってもよい。プロセッサ101は、複数のプロセッサを含んでもよい。メモリ102は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ102は、プロセッサ101から離れて配置されたストレージを含んでもよい。この場合、プロセッサ101は、図示されていないI/Oインタフェースを介してメモリ102にアクセスしてもよい。
 第1実施形態及び第2実施形態の制御装置10,30は、それぞれ、図16に示したハードウェア構成を有することができる。第1実施形態及び第2実施形態の制御装置10,30のロード制御部11,31と、コンパクション制御部12,32と、カウント部33と、ストア制御部34と、アドレス算出部35と、アドレス算出部36と、ストア制御部37とは、プロセッサ101がメモリ102に記憶されたプログラムを読み込んで実行することにより実現されてもよい。メモリ21と、レジスタ22と、バッファ25と、メモリ27とは、メモリ102によって実現されてもよい。プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、制御装置10,30に供給することができる。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、非一時的なコンピュータ可読媒体の例は、CD-ROM(Read Only Memory)、CD-R、CD-R/Wを含む。さらに、非一時的なコンピュータ可読媒体の例は、半導体メモリを含む。半導体メモリは、例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によって制御装置10,30に供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムを制御装置10,30に供給できる。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 10 制御装置
 11 ロード制御部
 12 コンパクション制御部
 20 演算処理装置
 21 メモリ(第1メモリ)
 22 レジスタ
 23 ロードレジスタ
 24 コンパクションレジスタ
 25 バッファ
 26 バッファ
 27 メモリ(第2メモリ)
 30 制御装置
 31 ロード制御部
 32 コンパクション制御部
 33 カウント部
 34 ストア制御部(第1ストア制御部)
 35 アドレス算出部(第1アドレス算出部)
 36 アドレス算出部(第2アドレス算出部)
 37 ストア制御部(第2ストア制御部)

Claims (8)

  1.  第1メモリに記憶され且つ演算処理の対象である複数の対象データ要素を一部に含んで所定の順序に並べられた複数のデータ要素から成る一次元データ系列を、所定数のデータ要素から成るロード単位データユニットをロード単位としてレジスタにロードさせる制御を実行するロード制御部と、
     前記レジスタにロードされた各ロード単位データユニットから前記対象データ要素を抽出するためのコンパクション処理を制御するコンパクション制御部と、
     を具備する制御装置。
  2.  前記レジスタは、前記一次元データ系列が分割された複数の分割データ系列にそれぞれ対応する複数のロードレジスタと、前記複数のロードレジスタにそれぞれ対応する複数のコンパクションレジスタとを含み、
     前記ロード制御部は、前記一次元データ系列が分割された複数の分割データ系列から、前記ロード単位データユニットを、同じ前記分割データ系列から複数の前記ロード単位データユニットが連続してロードされないように、前記ロード単位データユニットが含まれていた分割データ系列に対応するロードレジスタに順次ロードさせ、
     前記コンパクション制御部は、各ロードレジスタにロードされたロード単位データユニットに含まれる、すべての前記対象データ要素を前記各ロードレジスタに対応するコンパクションレジスタに移動させる一方、前記演算処理の対象でない非対象データ要素を前記各ロードレジスタに対応するコンパクションレジスタに移動させないことにより、コンパクション処理後のデータユニットを形成させる、
     請求項1記載の制御装置。
  3.  前記ロード制御部は、前記複数の分割データ系列から、前記ロード単位データユニットを、前記複数の分割データ系列のロード順が巡回し且つ各分割データ系列において前記ロード単位データユニットが前記所定の順序の方向に順番にロードされるように、前記複数のロードレジスタへ順次ロードさせる、
     請求項2記載の制御装置。
  4.  前記コンパクション処理後のデータユニットを、前記複数の分割データ系列にそれぞれ対応する複数のバッファのうちで該コンパクション処理後のデータユニットが含まれていた前記分割データ系列に対応する前記バッファにおける、現ストアアドレスが示す領域に、ストアさせる第1ストア制御部と、
     前記バッファに前回ストアされた前記コンパクション処理後のデータユニットに含まれる前記対象データ要素の個数と前回のストアアドレスとに基づいて前記現ストアアドレスを算出するアドレス算出部と、
     をさらに具備する、
     請求項2又は3に記載の制御装置。
  5.  前記複数の分割データ系列におけるすべての前記ロード単位データユニットに対応する前記コンパクション処理後のデータユニットが前記複数のバッファにストアされたときに、各部分データ系列が前記複数のバッファのそれぞれにストアされた前記コンパクション処理後のデータユニットから成る複数の部分データ系列を、第2メモリにストアさせる第2ストア制御部、をさらに具備する請求項4記載の制御装置。
  6.  請求項1から5のいずれか1項に記載の制御装置を具備する演算処理装置。
  7.  演算処理装置の演算対象である対象データ要素の収集を制御する制御装置によって実行される制御方法であって、
     メモリに記憶され且つ複数の前記対象データ要素を一部に含んで所定の順序に並べられた複数のデータ要素から成る一次元データ系列を、所定数のデータ要素から成るロード単位データユニットをロード単位としてレジスタにロードさせること、及び、
     前記レジスタにロードされた各ロード単位データユニットから前記対象データ要素を抽出させること、
     を含む制御方法。
  8.  演算処理装置の演算対象である対象データ要素の収集を制御する制御装置に、
     メモリに記憶され且つ複数の前記対象データ要素を一部に含んで所定の順序に並べられた複数のデータ要素から成る一次元データ系列を、所定数のデータ要素から成るロード単位データユニットをロード単位としてレジスタにロードさせること、及び、
     前記レジスタにロードされた各ロード単位データユニットから前記対象データ要素を抽出させること、
     を含む、処理を実行させる、制御プログラムが格納された非一時的なコンピュータ可読媒体。
PCT/JP2019/023651 2019-06-14 2019-06-14 制御装置、制御方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体 WO2020250419A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/023651 WO2020250419A1 (ja) 2019-06-14 2019-06-14 制御装置、制御方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/023651 WO2020250419A1 (ja) 2019-06-14 2019-06-14 制御装置、制御方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
WO2020250419A1 true WO2020250419A1 (ja) 2020-12-17

Family

ID=73781583

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/023651 WO2020250419A1 (ja) 2019-06-14 2019-06-14 制御装置、制御方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体

Country Status (1)

Country Link
WO (1) WO2020250419A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0330064A (ja) * 1989-06-27 1991-02-08 Koufu Nippon Denki Kk ベクトルデータ処理装置
JP2015225427A (ja) * 2014-05-27 2015-12-14 ルネサスエレクトロニクス株式会社 プロセッサ及びデータ収集方法
JP2017045151A (ja) * 2015-08-24 2017-03-02 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JP2018523238A (ja) * 2015-07-31 2018-08-16 エイアールエム リミテッド メモリと複数のベクトルレジスタ間の複数のデータ構造を転送する装置および方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0330064A (ja) * 1989-06-27 1991-02-08 Koufu Nippon Denki Kk ベクトルデータ処理装置
JP2015225427A (ja) * 2014-05-27 2015-12-14 ルネサスエレクトロニクス株式会社 プロセッサ及びデータ収集方法
JP2018523238A (ja) * 2015-07-31 2018-08-16 エイアールエム リミテッド メモリと複数のベクトルレジスタ間の複数のデータ構造を転送する装置および方法
JP2017045151A (ja) * 2015-08-24 2017-03-02 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Similar Documents

Publication Publication Date Title
US11200724B2 (en) Texture processor based ray tracing acceleration method and system
US9286074B2 (en) NOP instruction compressing apparatus and method in a VLIW machine
US20180143878A1 (en) De-duplicated virtual machine image transfer
WO2017079769A1 (en) Transfer descriptor for memory access commands
CN113505848A (zh) 模型训练方法和装置
WO2019201029A1 (zh) 备选框更新方法及装置
JP7014230B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN102810133A (zh) 网络游戏中的射线查询方法和场景服务器
EP3971781A1 (en) Method and apparatus with neural network operation
JP2017010255A (ja) 画像認識装置および画像認識方法
WO2020250419A1 (ja) 制御装置、制御方法、及び制御プログラムが格納された非一時的なコンピュータ可読媒体
US10049487B2 (en) Identifying duplicate indices in an input index stream
KR20130142661A (ko) 시프트 알고리즘을 이용하여 대용량 소스 이미지의 특징점 정보를 추출하는 장치 및 방법
CN107515724B (zh) 用于再现存储系统的输入输出的方法和设备
US10185659B2 (en) Memory allocation system for multi-tier memory
EP2801913A1 (en) Memory control apparatus and method
US20170344607A1 (en) Apparatus and method for controlling skew in distributed etl job
US10416899B2 (en) Systems and methods for low latency hardware memory management
CN106502775B (zh) 一种分时调度dsp算法的方法和系统
US20140013312A1 (en) Source level debugging apparatus and method for a reconfigurable processor
JP6064756B2 (ja) 性能データ収集プログラム、装置、及び方法
CN110188773B (zh) 图像处理方法及装置
CN115964084A (zh) 数据交互方法、电子设备、存储介质
US20170316595A1 (en) Method for providing rigging tool and apparatus for providing rigging tool
CN107330866B (zh) 高光区域的消除方法、装置及终端

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19932293

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19932293

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP