WO2022124010A1 - 演算制御装置、演算制御方法、および記録媒体 - Google Patents

演算制御装置、演算制御方法、および記録媒体 Download PDF

Info

Publication number
WO2022124010A1
WO2022124010A1 PCT/JP2021/041830 JP2021041830W WO2022124010A1 WO 2022124010 A1 WO2022124010 A1 WO 2022124010A1 JP 2021041830 W JP2021041830 W JP 2021041830W WO 2022124010 A1 WO2022124010 A1 WO 2022124010A1
Authority
WO
WIPO (PCT)
Prior art keywords
arithmetic
sequence
arithmetic processing
quasi
processing
Prior art date
Application number
PCT/JP2021/041830
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 JP2022568132A priority Critical patent/JPWO2022124010A5/ja
Priority to US18/039,471 priority patent/US20230418601A1/en
Publication of WO2022124010A1 publication Critical patent/WO2022124010A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead

Definitions

  • the present invention relates to an arithmetic control device, an arithmetic control method, and a recording medium, and more particularly to an arithmetic control device, an arithmetic control method, and a recording medium that generate a quasi-random number sequence based on a specific sequence.
  • Quasi-random numbers are used in various technical fields such as computational physics.
  • Related techniques that utilize quasi-random numbers include, for example, physics simulation, computer graphics generation, and pricing of financial derivative products.
  • Non-Patent Document 1 describes a method of calculating a Sobol sequence using a Gray code. Further, Patent Document 1 describes a method of generating a quasi-random number sequence based on a generalized Niederreiter sequence. The generalized Niederreiter sequence includes the Faule sequence as well as the Sobol sequence.
  • Patent Document 1 describes that a plurality of arithmetic units share and calculate a sequence. More specifically, in Patent Document 1, first, the section of the sequence in charge of each arithmetic unit is defined. Next, each arithmetic unit executes arithmetic processing for calculating a specific sequence in parallel from the starting point of the section of the sequence in charge. As a result, the time required for the arithmetic processing for calculating a specific sequence can be shortened.
  • each arithmetic unit executes a matrix operation and a matrix vector product operation in order to obtain an initial value that is a starting point of a sequence section in charge of each arithmetic unit. Since the load of this matrix operation is large, the advantage of parallel arithmetic processing that the processing time for calculating a specific sequence can be shortened is impaired.
  • the present invention has been made in view of the above problems, and an object thereof is to shorten the processing time for calculating a specific sequence by parallel arithmetic processing.
  • the arithmetic control device is a preparatory processing means for determining the starting point of each arithmetic processing of a plurality of arithmetic units by using a recurrence formula, and a parallel arithmetic processing using the plurality of arithmetic units.
  • a parallel arithmetic processing means that calculates a specific sequence by solving a given mathematical expression from the starting point of the arithmetic processing for each arithmetic unit, and a quasi-random sequence that generates a quasi-random sequence based on the specific sequence. It is equipped with a generation means.
  • a recurrence formula is used to determine the starting point of each arithmetic processing of a plurality of arithmetic units, and in the parallel arithmetic processing using the plurality of arithmetic units, each arithmetic unit is used.
  • a specific sequence is calculated by solving a given mathematical expression from the starting point of the arithmetic processing of the above, and a quasi-random sequence is generated based on the specific sequence.
  • the recording medium uses a recurrence formula to determine the starting point of each arithmetic processing of a plurality of arithmetic units, and a parallel arithmetic processing using the plurality of arithmetic units.
  • a recurrence formula to determine the starting point of each arithmetic processing of a plurality of arithmetic units, and a parallel arithmetic processing using the plurality of arithmetic units.
  • the quasi-random number sequence includes a "lowdiscrepancy sequence”, a “low discrepancy sequence”, and a “low discrepancy sequence”.
  • Equation 1 The generalized kneader lighter sequence can be expressed as in Equation 1. (Formula 1)
  • b is an integer of 2 or more
  • n is a positive integer
  • T is an nth-order square matrix having a unique integer component
  • ai is an n-dimensional vector having an integer component of 0 or more and less than b.
  • G is defined as an nth-order square matrix in which all diagonal components are 1, all upper and sub-diagonal components are -1, and all other components are 0. (Formula 3)
  • Equation 4 the vector ai described above has the properties shown in Equation 4.
  • is the Kronecker delta
  • ki is the smallest j that satisfies ai , j ⁇ b-1.
  • x'i is defined by the formula 5. (Formula 5)
  • Equation 6 is obtained by applying the relational expressions shown in Equations 4 and 5 to Equation 1. (Formula 6)
  • T is an nth-order square matrix with n eigenvalue components (n is a positive integer).
  • Te ki is the ki column of the matrix T.
  • k i is the minimum j ( ⁇ 1) that satisfies a i, j ⁇ b-1.
  • x'i + 1 is calculated from the immediately preceding x'i according to Equation 6.
  • Parallel arithmetic processing means that a plurality of arithmetic units share a certain arithmetic processing and execute arithmetic processing in parallel. In this case, the starting point of the arithmetic processing by each arithmetic unit is first determined.
  • Formula 7 is obtained by applying the relational expressions shown in the above formulas 5 and 6 to the above formula 1. (Formula 7)
  • each arithmetic unit uses mathematical expression 7 to determine the starting point of arithmetic processing.
  • each arithmetic unit is in charge of d numbers in the sequence expressed by the formula 6 (d is a positive integer).
  • FIG. 1 is a block diagram showing a configuration of an arithmetic control device 10 according to the present embodiment.
  • the arithmetic control device 10 includes a preparation processing unit 11, a parallel arithmetic processing unit 12 including a plurality of arithmetic units, and a quasi-random number sequence generation unit 13.
  • the preparatory processing unit 11 determines the starting point of each arithmetic processing of the plurality of arithmetic units by using a recurrence formula (as an example, the mathematical formula 8 described later).
  • a recurrence formula as an example, the mathematical formula 8 described later.
  • the preparatory process means a process of finding the starting point of a section of a sequence in which a plurality of arithmetic units are in charge of each. An example of the preparatory process will be described later.
  • the preparation processing unit 11 outputs information indicating the starting point of the section of the sequence in charge of each of the plurality of arithmetic units to the parallel arithmetic processing unit 12.
  • the parallel arithmetic processing unit 12 calculates a specific sequence by solving a given mathematical expression from the starting point of the arithmetic processing for each arithmetic unit in the parallel arithmetic processing using a plurality of arithmetic units.
  • Parallel arithmetic processing means arithmetic processing executed in parallel by a plurality of arithmetic units. An example of parallel arithmetic processing will be described later.
  • the parallel arithmetic processing unit 12 outputs the calculated specific sequence of data to the quasi-random number sequence generation unit 13.
  • the quasi-random number sequence generation unit 13 generates a quasi-random number sequence based on a specific sequence.
  • the specific sequence is the generalized kneader-writer sequence shown in Equation 1.
  • the particular sequence may be a Sobol sequence or a Faule sequence.
  • the specific sequence is not particularly limited as long as it is used to generate a quasi-random number sequence.
  • the data of the quasi-random number sequence may be transmitted to a subsequent stage or an external device (not shown) for performing arithmetic processing (for example, physical simulation) using the quasi-random number sequence.
  • Equation 8 is a recurrence formula showing the relationship between the two initial values ( x'i + b m and x'i ). (Formula 8)
  • Tem + ki and Tem are the m + kith column and the mth column of the above-mentioned matrix T, respectively. Both em + ki and em are n -dimensional vectors.
  • the parallel arithmetic processing unit 12 calculates a specific sequence from the starting point obtained by the previous preparatory processing according to the mathematical formula 6.
  • Equation 6 is reprinted below. (Formula 6)
  • FIG. 5 shows the flow of arithmetic processing in the related technique.
  • the initial value which is the starting point of the arithmetic processing by the p arithmetic instruments is obtained.
  • p arithmetic units calculate a specific sequence represented by the mathematical formula 6 according to the mathematical formula 6 from the starting point of each arithmetic processing.
  • Equation 7 includes an operation (TG) ai of the matrix vector product.
  • the matrix TG contains n ⁇ n components.
  • FIG. 2 shows the flow of arithmetic processing in this embodiment.
  • the initial value that is the starting point of the arithmetic processing by the p arithmetic units is obtained by the preparatory processing using the mathematical formula 8.
  • p arithmetic units execute parallel arithmetic processing.
  • the configuration according to the present embodiment is superior to the related technique described in Patent Document 1 in that 2n (p-1) ⁇ 2n 2- It is when n and when p ⁇ n + 1/2.
  • the configuration according to the present embodiment is superior to the related technique described in Patent Document 1.
  • the conditions described here are just examples. Under different conditions, the situation in which the configuration according to this embodiment becomes dominant may differ.
  • FIG. 3 is a flowchart showing a flow of processing executed by each part of the arithmetic control device 10.
  • the preparation processing unit 11 uses a recurrence formula to determine the starting point of each arithmetic processing of the plurality of arithmetic units (S1).
  • the parallel arithmetic processing unit 12 calculates a specific sequence by solving a given mathematical expression from the starting point of the arithmetic processing for each arithmetic unit using a plurality of arithmetic units (S2).
  • the quasi-random number sequence generation unit 13 After that, the quasi-random number sequence generation unit 13 generates a quasi-random number sequence based on a specific sequence (S3).
  • the preparatory processing unit 11 uses a recurrence formula to determine the starting point of each arithmetic processing of the plurality of arithmetic units.
  • the parallel arithmetic processing unit 12 calculates a specific sequence by solving a given mathematical expression from the starting point of arithmetic processing for each arithmetic unit using a plurality of arithmetic units.
  • the quasi-random number sequence generation unit 13 generates a quasi-random number sequence based on a specific sequence.
  • a plurality of arithmetic units calculate a specific sequence from each starting point. Perform parallel arithmetic processing to do so.
  • the processing time for calculating a specific sequence by the parallel arithmetic processing can be shortened as compared with the configuration in which the plurality of arithmetic units independently calculate the starting points of the parallel arithmetic processing.
  • Each component of the arithmetic control device 10 described in the above embodiment shows a block of functional units. Some or all of these components are realized by, for example, the information processing apparatus 900 as shown in FIG. FIG. 4 is a block diagram showing an example of the hardware configuration of the information processing apparatus 900.
  • the information processing apparatus 900 includes the following configuration as an example.
  • -CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • -Program 904 loaded into RAM 903
  • a storage device 905 that stores the program 904.
  • Drive device 907 that reads and writes the recording medium 906.
  • -Communication interface 908 for connecting to the communication network 909.
  • -I / O interface 910 for inputting / outputting data -Bus 911 connecting each component
  • Each component of the arithmetic control device 10 described in the above embodiment is realized by the CPU 901 reading and executing the program 904 that realizes these functions.
  • the program 904 that realizes the functions of each component is stored in, for example, a storage device 905 or ROM 902 in advance, and the CPU 901 is loaded into the RAM 903 and executed as needed.
  • the program 904 may be supplied to the CPU 901 via the communication network 909, or may be stored in the recording medium 906 in advance, and the drive device 907 may read the program and supply the program to the CPU 901.
  • the arithmetic control device 10 described in the above embodiment is realized as hardware. Therefore, it is possible to obtain the same effect as the effect described in the above embodiment.
  • the quasi-random number sequence is used, for example, in physics calculations in various science and technology such as computational physics, as well as in the generation of computer graphics and the pricing of financial derivative products.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

並列演算処理により特定の数列を算出するための処理時間を短縮する。準備処理部(11)は、漸化式を用いて、複数の演算器のそれぞれの演算処理の起点を決定し、並列演算処理部(12)は、複数の演算器を用いた並列演算処理において、演算器ごとの演算処理の起点から、所与の数式を解くことによって、特定の数列を算出し、準乱数列生成部(13)は、特定の数列に基づいて、準乱数列を生成する。

Description

演算制御装置、演算制御方法、および記録媒体
 本発明は、演算制御装置、演算制御方法、および記録媒体に関し、特に、特定の数列に基づいて、準乱数列を生成する演算制御装置、演算制御方法、および記録媒体に関する。
 計算物理をはじめとする様々な技術領域において、準乱数列が利用されている。準乱数列を利用する関連する技術として、例えば、物理シミュレーションのほか、コンピュータグラフィックスの生成、および、金融派生商品の価格付けなどが挙げられる。
 関連する技術では、数式を演算することによって、数列(数系列)を算出し、算出した数列から、準乱数列を生成する。準乱数列を生成するために、様々な数列が利用される。一例では、非特許文献1には、グレイコードを用いて、ソボル列を算出する手法が記載されている。また、特許文献1には、一般化されたニーダーライター列(generalized Niederreiter sequence)に基づいて、準乱数列を生成する手法が記載されている。一般化されたニーダーライター列は、ソボル列のほかに、ファウレ列(Faure sequence)などを含む。
 さらに、特許文献1には、複数の演算器が、数列を分担して算出することが記載されている。より詳細には、特許文献1では、まず、各演算器が担当する数列の区間を定める。次に、各演算器が、担当する数列の区間の起点から、並列的に、特定の数列を算出するための演算処理を実行する。これにより、特定の数列を算出するための演算処理に要する時間を短縮することができる。
国際公開第1996/018144号
Antonov, I.A. and Saleev, V.M. (1979) "An economic method of computing LPτ-sequences"
 特許文献1に記載の関連する技術では、各演算器が担当する数列の区間の起点となる初期値を求めるために、それぞれの演算器が行列演算および行列ベクトル積の演算を実行する。この行列演算の負荷が大きいために、特定の数列を算出するための処理時間を短縮できるという並列演算処理の利点を損なっている。
 本発明は、上記の課題に鑑みてなされたものであり、その目的は、並列演算処理により特定の数列を算出するための処理時間を短縮することにある。
 本発明の一態様に係わる演算制御装置は、漸化式を用いて、複数の演算器のそれぞれの演算処理の起点を決定する準備処理手段と、前記複数の演算器を用いた並列演算処理において、演算器ごとの前記演算処理の起点から、所与の数式を解くことによって、特定の数列を算出する並列演算処理手段と、前記特定の数列に基づいて、準乱数列を生成する準乱数列生成手段とを備えている。
 本発明の一態様に係わる演算制御方法は、漸化式を用いて、複数の演算器のそれぞれの演算処理の起点を決定し、前記複数の演算器を用いた並列演算処理において、演算器ごとの前記演算処理の起点から、所与の数式を解くことによって、特定の数列を算出し、前記特定の数列に基づいて、準乱数列を生成することを含む。
 本発明の一態様に係わる記録媒体は、漸化式を用いて、複数の演算器のそれぞれの演算処理の起点を決定する処理と、前記複数の演算器を用いた並列演算処理において、演算器ごとの前記演算処理の起点から、所与の数式を解くことによって、特定の数列を算出する処理と、前記特定の数列に基づいて、準乱数列を生成する処理とをコンピュータに実行させるためのプログラムを格納している。
 本発明の一態様によれば、複数の演算器の並列演算処理により特定の数列を算出するための処理時間を短縮することができる。
一実施形態に係わる演算制御装置の構成を示すブロック図である。 一実施形態に係わる準備処理および並列演算処理の一例を示す図である。 一実施形態に係わる演算制御装置の動作を示すフローチャートである。 一実施形態に係わる演算制御装置のハードウェア構成の一例を示す図である。 関連する技術の一例を示す図である。
 以下の説明において、準乱数列は、「超一様分布列」、「低食い違い量列」、および「低ディスクレパンシ列」を含む。
 (数列についての説明)
 まず、準乱数列を生成するための数列について、説明する。準乱数列を生成するために用いられる数列として、非特許文献1に記載されたソボル列のほかに、ファウレ列(Faure sequence)、また、一般化されたニーダーライター列(generalized Niederreiter sequence)が知られている。
 一般化されたニーダーライター列は、数式1のように表現することができる。
(数式1)
Figure JPOXMLDOC01-appb-I000001
 bは2以上の整数、nは正の整数、Tは固有の整数成分を持つn次正方行列である。また、aは0以上b未満の整数成分を持つn次元ベクトルである。なお、数式1のmod bはbを法とする加算または乗算を行うことを意味し、以降の数式においても同様である。
 準乱数列は、数式1から、x/2(i=0,1,2・・・,b-1)と求められる。
 ベクトルaの第j成分(j=1~i)を、ai,jとおく。ai,jは、iのb進数表現における下位からj桁目(ただしj=1のときは最下位の桁)の値である。ai,jは、数式2に基づいて規定される。
(数式2)
Figure JPOXMLDOC01-appb-I000002
 数式3に示すように、対角成分がすべて1、上副対角成分がすべて-1、それ以外の成分がすべて0のn次正方行列であるGを定義する。
(数式3)
Figure JPOXMLDOC01-appb-I000003
 数式3を用いて表現すると、上述のベクトルaは、数式4に示す性質を有する。
(数式4)
Figure JPOXMLDOC01-appb-I000004

Figure JPOXMLDOC01-appb-I000005
 δはクロネッカーのデルタであり、kは、ai,j≠b-1を満たす最小のjである。x′を数式5で定義する。
(数式5)
Figure JPOXMLDOC01-appb-I000006

Figure JPOXMLDOC01-appb-I000007

Figure JPOXMLDOC01-appb-I000008
 数式4および数式5に示す関係式を、数式1に適用することによって、数式6が得られる。
(数式6)
Figure JPOXMLDOC01-appb-I000009
 Tは、n個の固有値の成分を持つn次正方行列である(nは正の整数)。Tekiは、行列Tの第k列となる。kは、ai,j≠b-1を満たす最小のj(≧1)である。x′i+1は、数式6にしたがい、直前のx′から算出される。
 準乱数列は、上記の数式5または数式6から、x′/2(i=0,1,2・・・,b-1)と求められる。
 複数の演算器が、数式6を解くために、並列演算処理を実行することを考える。並列演算処理とは、複数の演算器が、ある1つの演算処理を分担して、並列的に演算処理を実行することである。この場合、各演算器による演算処理の起点を、まずは決定する。
 まず、特許文献1に記載された関連する技術について説明する。上記の数式5および数式6に示す関係式を、上記の数式1に適用することによって、数式7が得られる。
(数式7)
Figure JPOXMLDOC01-appb-I000010
 関連する技術では、各演算器が、数式7を用いて、演算処理の起点を決定する。例えば、各演算器が、数式6で表現される数列のうち、d個の数を担当する(dは正の整数)。この場合、1つ目の演算器は、i=0の場合のx′を初期値として算出する。2つ目以降の演算器は、i=d,2d,3d,・・・の各場合のx′を初期値として算出する。
 数式7は、行列ベクトル積の演算(TG)aを含んでいるため、演算器にとっての負荷が大きい。この点が、特許文献1に記載された関連する技術の欠点である。以下で、本実施形態に係る構成を説明する。
 (演算制御装置10)
 図1は、本実施形態に係わる演算制御装置10の構成を示すブロック図である。図1に示すように、演算制御装置10は、準備処理部11、複数の演算器を含む並列演算処理部12、及び準乱数列生成部13を備えている。
 準備処理部11は、漸化式(一例として、後述の数式8)を用いて、複数の演算器のそれぞれの演算処理の起点を決定する。以下では、準備処理部11が実行する処理を準備処理と呼ぶ。準備処理とは、複数の演算器がそれぞれ担当する数列の区間の起点を求める処理を意味する。準備処理の一例を後述する。
 準備処理部11は、複数の演算器がそれぞれ担当する数列の区間の起点を示す情報を、並列演算処理部12へ出力する。
 並列演算処理部12は、複数の演算器を用いた並列演算処理において、演算器ごとの演算処理の起点から、所与の数式を解くことによって、特定の数列を算出する。並列演算処理とは、複数の演算器が並列的に実行する演算処理を意味する。並列演算処理の一例を後述する。
 並列演算処理部12は、算出した特定の数列のデータを準乱数列生成部13へ出力する。
 準乱数列生成部13は、特定の数列に基づいて、準乱数列を生成する。特定の数列は、数式1に示す一般化されたニーダーライター列である。あるいは、特定の数列は、ソボル列またはファウレ列であってもよい。しかしながら、特定の数列は、準乱数列を生成するための用いられるものであれば、特に限定されない。なお、準乱数列のデータは、準乱数列を用いる演算処理(例えば物理シミュレーション)を行う後段または外部機器(図示せず)へ送信されてよい。
 (準備処理および並列演算処理)
 上述した準備処理および並列演算処理の一例について、補足して説明する。
 各演算器が担当する数列の区間を示す数dを、それぞれd=bとする。mは正の整数である。このとき、各演算器による演算処理の起点となる初期値は、数式8に基づいて、算出することができる。数式8は、2つの初期値(x′i+b とx′)の間の関係を示す漸化式である。
(数式8)
Figure JPOXMLDOC01-appb-I000011
 Tem+ki、Teは、それぞれ、上述した行列Tの第m+k列、第m列となる。em+ki、eは、どちらもn次元ベクトルである。上述の準備処理において、準備処理部11は、数式8にしたがい、第i+1番目の演算器による演算処理の起点となる初期値として、x′i+b (i=0,1,・・・,b-b-1)を算出する。
 次に、並列演算処理では、並列演算処理部12が、先の準備処理によって得られた起点から、数式6にしたがい、特定の数列を算出する。ここで、数式6を下に再掲する。
(数式6)
Figure JPOXMLDOC01-appb-I000012
 図2および図5を参照して、本実施形態に係わる構成と、関連する技術とを対比して説明する。具体的には、本実施形態に係わる構成と、特許文献1に記載された関連する技術との間で、各演算器による演算処理の起点を決定するための処理に要する時間を比較する。ここでは、並列演算処理を実行する演算器の数をpとする。
 図5は、関連する技術における演算処理の流れを示す。関連する技術では、まず、数式7にしたがい、p個の演算器による演算処理の起点となる初期値を求める。そして、p個の演算器が、それぞれの演算処理の起点から、数式6にしたがい、数式6によって表される特定の数列を算出する。数式7には、行列ベクトル積の演算(TG)aが含まれている。行列TGは、n×n個の成分を含む。
 したがって、特許文献1に記載された関連する技術では、p個の初期値を求めるために実施される加減算と乗算の総数(以下、演算数と呼ぶ)は、p×n×(2n-1)=p(2n-n)となる。p個の演算器が並列演算処理を行う場合、p個の初期値を求めるために要する時間は、p(2n-n)÷p=(2n-n)となる。
 図2は、本実施形態における演算処理の流れを示す。本実施形態では、数式8を用いる準備処理により、p個の演算器による演算処理の起点となる初期値を求める。その後、p個の演算器が、並列演算処理を実行する。数式8は、行列Tとn次元ベクトルとの間のベクトル演算を2つ含む。1つの初期値を求めるための演算数は、2×n=2nとなる。
 p個の初期値(うち1つ目は既知)を求める準備処理に要する演算数の合計は、2n×(p-1)=2n(p-1)になる。数式8は漸化式であるから、p個の初期値が1つずつ順番に得られる。p個の初期値を求めるために要する時間は、2n(p-1)となる。
 p個の初期値を求めるために要する時間に関して、本実施形態に係わる構成のほうが、特許文献1に記載された関連する技術よりも優位になるのは、2n(p-1)<2n-nのときであり、p<n+1/2のときである。
 上記の数式6に示す数列が、浮動小数点算術(IEEE Standard for Floating-Point Arithmetic)に関する国際規格IEEE 754における倍精度の数値として出力される場合、b≧253を満たす必要がある。したがって、n≧53log2となる。特定の数列がソボル列である場合、b=2であるから、n≧53となる。つまり、pが53以下であるならば、p<n+1/2の条件が満たされる。
 すなわち、演算器の数pが53個以下である場合、本実施形態に係わる構成のほうが、特許文献1に記載された関連する技術よりも優位になる。ただし、ここで説明した条件はあくまで一例である。異なる条件の下では、本実施形態に係わる構成が優位になる状況は異なりうる。
 (演算制御装置10の動作)
 図3を参照して、本実施形態に係わる演算制御装置10の動作を説明する。図3は、演算制御装置10の各部が実行する処理の流れを示すフローチャートである。
 図3に示すように、まず、準備処理部11は、漸化式を用いて、複数の演算器のそれぞれの演算処理の起点を決定する(S1)。
 次に、並列演算処理部12は、複数の演算器を用いて、演算器ごとの演算処理の起点から、所与の数式を解くことによって、特定の数列を算出する(S2)。
 その後、準乱数列生成部13は、特定の数列に基づいて、準乱数列を生成する(S3)。
 以上で、本実施形態に係わる演算制御装置10の動作は終了する。
 (本実施形態の効果)
 本実施形態では、準備処理部11は、漸化式を用いて、複数の演算器のそれぞれの演算処理の起点を決定する。並列演算処理部12は、複数の演算器を用いて、演算器ごとの演算処理の起点から、所与の数式を解くことによって、特定の数列を算出する。準乱数列生成部13は、特定の数列に基づいて、準乱数列を生成する。
 以上のように、本実施形態の構成によれば、漸化式を用いる準備処理によって、並列演算処理の起点をまず決定したのち、複数の演算器が、それぞれの起点から、特定の数列を算出するための並列演算処理を実行する。これにより、複数の演算器が、並列演算処理のそれぞれの起点を独立に算出する構成と比較して、並列演算処理により特定の数列を算出するための処理時間を短縮することができる。
 (ハードウェア構成について)
 前記実施形態で説明した演算制御装置10の各構成要素は、機能単位のブロックを示している。これらの構成要素の一部又は全部は、例えば図4に示すような情報処理装置900により実現される。図4は、情報処理装置900のハードウェア構成の一例を示すブロック図である。
 図4に示すように、情報処理装置900は、一例として、以下のような構成を含む。
  ・CPU(Central Processing Unit)901
  ・ROM(Read Only Memory)902
  ・RAM(Random Access Memory)903
  ・RAM903にロードされるプログラム904
  ・プログラム904を格納する記憶装置905
  ・記録媒体906の読み書きを行うドライブ装置907
  ・通信ネットワーク909と接続する通信インタフェース908
  ・データの入出力を行う入出力インタフェース910
  ・各構成要素を接続するバス911
 前記実施形態で説明した演算制御装置10の各構成要素は、これらの機能を実現するプログラム904をCPU901が読み込んで実行することで実現される。各構成要素の機能を実現するプログラム904は、例えば、予め記憶装置905やROM902に格納されており、必要に応じてCPU901がRAM903にロードして実行される。なお、プログラム904は、通信ネットワーク909を介してCPU901に供給されてもよいし、予め記録媒体906に格納されており、ドライブ装置907が当該プログラムを読み出してCPU901に供給してもよい。
 上記の構成によれば、前記実施形態において説明した演算制御装置10が、ハードウェアとして実現される。したがって、前記実施形態において説明した効果と同様の効果を奏することができる。
 以上、実施形態(及び実施例)を参照して本願発明を説明したが、本願発明は上記実施形態(及び実施例)に限定されるものではない。上記実施形態(及び実施例)の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2020年12月7日に出願された日本出願特願2020-202595を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 準乱数列を利用する計算として、例えば、多重積分がある。準乱数列は、例えば、計算物理をはじめとする様々な科学技術での物理演算のほか、コンピュータグラフィックスの生成、および、金融派生商品の価格付けなどで利用される。
  10 演算制御装置
  11 準備処理部
  12 並列演算処理部
  13 準乱数列生成部

Claims (6)

  1.  漸化式を用いて、複数の演算器のそれぞれの演算処理の起点を決定する準備処理手段と、
     前記複数の演算器を用いた並列演算処理において、演算器ごとの前記演算処理の起点から、所与の数式を解くことによって、特定の数列を算出する並列演算処理手段と、
     前記特定の数列に基づいて、準乱数列を生成する準乱数列生成手段と
     を備えた演算制御装置。
  2.  前記漸化式は、前記複数の演算器のそれぞれの前記演算処理の起点である初期値の間の関係を示す
     ことを特徴とする請求項1に記載の演算制御装置。
  3.  前記特定の数列は、一般化されたニーダーライター列である
     ことを特徴とする請求項1または2に記載の演算制御装置。
  4.  前記準乱数列は、超一様分布列、低食い違い量列、および低ディスクレパンシ列を含む
     ことを特徴とする請求項1から3のいずれか1項に記載の演算制御装置。
  5.  漸化式を用いて、複数の演算器のそれぞれの演算処理の起点を決定し、
     前記複数の演算器を用いた並列演算処理において、演算器ごとの前記演算処理の起点から、所与の数式を解くことによって、特定の数列を算出し、
     前記特定の数列に基づいて、準乱数列を生成する
     演算方法。
  6.  漸化式を用いて、複数の演算器のそれぞれの演算処理の起点を決定する処理と、
     前記複数の演算器を用いた並列演算処理において、演算器ごとの前記演算処理の起点から、所与の数式を解くことによって、特定の数列を算出する処理と、
     前記特定の数列に基づいて、準乱数列を生成する処理と
     をコンピュータに実行させるためのプログラムを格納した、一時的でない記録媒体。
PCT/JP2021/041830 2020-12-07 2021-11-15 演算制御装置、演算制御方法、および記録媒体 WO2022124010A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022568132A JPWO2022124010A5 (ja) 2021-11-15 演算制御装置、演算方法、およびプログラム
US18/039,471 US20230418601A1 (en) 2020-12-07 2021-11-15 Arithmetic and control device, arithmetic and control method, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-202595 2020-12-07
JP2020202595 2020-12-07

Publications (1)

Publication Number Publication Date
WO2022124010A1 true WO2022124010A1 (ja) 2022-06-16

Family

ID=81974343

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/041830 WO2022124010A1 (ja) 2020-12-07 2021-11-15 演算制御装置、演算制御方法、および記録媒体

Country Status (2)

Country Link
US (1) US20230418601A1 (ja)
WO (1) WO2022124010A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996018144A1 (fr) * 1994-12-05 1996-06-13 International Business Machines Corporation DISPOSITIF ET PROCEDE DE PRODUCTION QUASI-ALEATOIRE DE NOMBRES, ET DISPOSITIF ET PROCEDE D'INTEGRATION MULTIPLE DE LA FONCTION f

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996018144A1 (fr) * 1994-12-05 1996-06-13 International Business Machines Corporation DISPOSITIF ET PROCEDE DE PRODUCTION QUASI-ALEATOIRE DE NOMBRES, ET DISPOSITIF ET PROCEDE D'INTEGRATION MULTIPLE DE LA FONCTION f

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TEZUKA, SHU; FUSHIMI, MASANORI: "Multiple Integration using Low-Discrepancy Sequences Generated by Fibonacci Polynomials", IPSJ SIG NOTES, vol. 92, no. 26, 21 March 1992 (1992-03-21), JP , pages 27 - 32, XP009537614, ISSN: 0919-6072 *

Also Published As

Publication number Publication date
US20230418601A1 (en) 2023-12-28
JPWO2022124010A1 (ja) 2022-06-16

Similar Documents

Publication Publication Date Title
EP4152215A1 (en) Quantum state preparation circuit generation method and apparatus, chip, device, and program product
CN112884153B (zh) 处理数据的方法和相关装置
AU2022283685A1 (en) Quantum neural network training method and system, electronic device, and medium
CN111914378B (zh) 一种单振幅量子计算模拟方法及装置
US20190138922A1 (en) Apparatus and methods for forward propagation in neural networks supporting discrete data
CN115577791B (zh) 基于量子系统的信息处理方法及装置
Lloyd et al. A cubic differential system with nine limit cycles
CN115759269B (zh) 特征信息的确定方法、装置、设备以及存储介质
WO2020223850A1 (en) System and method for quantum circuit simulation
Chang et al. Least-squares solutions to polynomial systems of equations with quantum annealing
WO2023103754A1 (zh) 量子体系下的热化态制备方法、设备及存储介质
US11526761B2 (en) Neural network training with decreased memory consumption and processor utilization
JP2018163396A (ja) 区分線形近似関数生成装置および方法
WO2022124010A1 (ja) 演算制御装置、演算制御方法、および記録媒体
US11080365B2 (en) Solving lattice problems using annealing
JP7091930B2 (ja) テンソルデータ計算装置、テンソルデータ計算方法及びプログラム
CN114021729B (zh) 量子电路操作方法及系统、电子设备和介质
CN116932991A (zh) 一种形式化的多标量乘法分析与计算加速方法
Wicaksono et al. Implementation of Shor’s quantum factoring algorithm using projectQ framework
JP6067596B2 (ja) ペアリング演算装置、マルチペアリング演算装置、プログラム
Larasati et al. Simulation of modular exponentiation circuit for shor's algorithm in qiskit
US20190073584A1 (en) Apparatus and methods for forward propagation in neural networks supporting discrete data
US9355363B2 (en) Systems and methods for virtual parallel computing using matrix product states
CN116340714B (zh) 一种张量数据处理方法及相关装置
US20230281267A1 (en) Calculation device, calculation program, recording medium, and calculation method

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: 21903114

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18039471

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2022568132

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21903114

Country of ref document: EP

Kind code of ref document: A1