JP6912703B2 - 演算方法、演算装置、演算プログラム及び演算システム - Google Patents
演算方法、演算装置、演算プログラム及び演算システム Download PDFInfo
- Publication number
- JP6912703B2 JP6912703B2 JP2017033409A JP2017033409A JP6912703B2 JP 6912703 B2 JP6912703 B2 JP 6912703B2 JP 2017033409 A JP2017033409 A JP 2017033409A JP 2017033409 A JP2017033409 A JP 2017033409A JP 6912703 B2 JP6912703 B2 JP 6912703B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- unit
- division
- stored
- arithmetic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
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)
- Complex Calculations (AREA)
- Multi Processors (AREA)
Description
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成を示す図である。図1に示す情報処理システム10は、情報処理装置1と情報処理装置2とを有する。そして、情報処理装置1は、プロセッサ111と、メモリ112とを有し、情報処理装置2は、CPU101と、メモリ102とを有する。なお、以下、プロセッサ111が富士通社製のDLU(登録商標)であるものとして説明を行う。
図3は、DPU00からDPU23における部分行列の記憶を説明する図である。具体的に、図3は、第1行列MAと第2行列MBとの積の算出が行われる際の部分行列の記憶を説明する図である。なお、以下、第1行列MAと第2行列MBとの積の算出結果が第3行列MCであるものとして説明を行う。
次に、DPU00からDPU23に対して部分行列を記憶する際の具体例について説明を行う。図4は、DPU00からDPU23に対して部分行列を記憶する際の具体例について説明する図である。なお、図4では、第1行列MAのうち、DPU00、DPU01、DPU02及びDPU03に記憶される部分行列と、第2行列MBのうち、DPU00、DPU04、DPU08、DPU12、DPU16及びDPU20に記憶される部分行列と、第3行列MCのうち、DPU00に記憶される部分行列についてのみ表記している。また、図4に示す例において、MA1からMA12、MB1からMB12及びMC1は、第1行列MA及び第2行列MBからそれぞれ分割された行列(以下、分割行列とも呼ぶ)である。さらに、第3行列MCの各成分の初期値は、それぞれ0であるものとする。
次に、第1行列MAと第2行列MBとの積(第3行列MC)の算出について説明を行う。
次に、情報処理システム10のハードウエア構成について説明する。図5は、情報処理システム10のハードウエア構成を説明する図である。
次に、DLU111の機能ブロック図について説明する。図6は、DLU111の機能ブロック図である。DLU111は、図6に示すように、プログラム120と協働することにより、第1行列分割部121と、第2行列分割部122と、行列記憶部123と、行列演算部124と、行列送受信部125と、行列出力部126として動作する。
次に、第1の実施の形態の概略について説明する。図7及び図8は、第1の実施の形態における行列演算処理の概略を説明するフローチャートである。
次に、S4及びS5の処理の具体例について説明を行う。図9から図11は、S4及びS5の処理の具体例を説明する図である。図9から図11に示す例において、第1行列MA、第2行列MB及び第3行列MCは、図3及び図4で説明した第1行列MA、第2行列MB及び第3行列MCにそれぞれ対応する。また、図9に示す例において、第1行列MAにおけるA0等は、S2の処理で生成された分割行列(第1分割行列)であり、第2行列MBにおけるB0等は、S3の処理で生成された分割行列(第2分割行列)である。さらに、図9に示す例において、第3行列MCにおけるC0等は、各DPUに記憶される部分行列である。
A[y][(x+y*(L/N))%L] ・・・ (1)
具体的に、DLU111は、例えば、図10に示すように、分割行列A12、A13、A14、A15、A16、A17、A18、A19、A20、A21、A22及びA23を、分割行列A22、A23、A12、A13、A14、A15、A16、A17、A18、A19、A20及びA21の順になるように再配置してから各DPUに記憶する(S4)。
B[(L−y+x*(L/M))%L][x] ・・・ (2)
具体的に、DLU111は、例えば、図10に示すように、分割行列B1、B5、B9、B13、B17、B21、B25、B29、B33、B37、B41及びB45を、分割行列B37、B41、B45、B1、B5、B9、B13、B17、B21、B25、B29及びB33の順になるように再配置してから各DPUに記憶する。
A[y][((L−1)−x+(N−y)*(L/N))%L] ・・・ (3)
具体的に、DLU111は、例えば、図11に示すように、分割行列A0、A1、A2、A3、A4、A5、A6、A7、A8、A9、A10及びA11を、分割行列A11、A10、A9、A8、A7、A6、A5、A4、A3、A2、A1及びA0の順になるように再配置してから各DPUに記憶する。また、DLU111は、例えば、分割行列A12、A13、A14、A15、A16、A17、A18、A19、A20、A21、A22及びA23を、分割行列A21、A20、A19、A18、A17、A16、A15、A14、A13、A12、A23及びA22の順になるように再配置してから各DPUに記憶する。
B[((L−1)−y+(M−x)*(L/M))%L][x] ・・・ (4)
具体的に、DLU111は、例えば、図11に示すように、分割行列B0、B4、B8、B12、B16、B20、B24、B28、B32、B36、B40及びB44を、分割行列B44、B40、B36、B32、B28、B24、B20、B16、B12、B8、B4及びB0の順になるように再配置してから各DPUに記憶する。また、DLU111は、例えば、分割行列B1、B5、B9、B13、B17、B21、B25、B29、B33、B37、B41及びB45を、分割行列B33、B29、B25、B21、B17、B13、B9、B5、B1、B45、B41及びB37の順になるように再配置してから各DPUに記憶する。
次に、S11からS15の処理の具体例について説明を行う。図12から図14は、S11からS15の処理の具体例を説明する図である。図12等におけるA0等は、図9等で説明した分割行列A0に対応する。また、図12等におけるDPU00等は、図2等で説明したDPU00に対応する。なお、以下、S4及びS5において図11で説明した分割行列の再配置が行われたものとして説明を行う。
次に、第1の実施の形態の詳細について説明する。図15から図18は、第1の実施の形態における行列演算処理の詳細を説明するフローチャートである。また、図19から図30は、第1の実施の形態における行列演算処理の詳細を説明する図である。図19から図30を参照しながら、図15から図18に示す行列演算処理を説明する。
次に、S34からS41の処理の詳細について説明を行う。図17及び図18は、S34からS41の処理の詳細を説明するフローチャートである。
次に、S61からS74の処理の具体例について説明を行う。図23から図28は、S61からS74の処理の具体例について説明を行う図である。具体的に、図23から図28は、DPU00において行われるS61からS74の処理の具体例を説明する図である。なお、図23から図28では、単位分割値及び単位分割行列の一部についてのみ表記する。
行方向に配置されたM(Mは1以上の整数)個の演算器と列方向に配置されたN(Nは1以上の整数)個の演算器とがそれぞれトラース接続されたM×N個の演算器を有する情報処理装置において、第1行列と第2行列との積を算出する演算方法であって、
前記第1行列を、前記行方向において前記Mと前記Nとの最小公倍数で分割し、前記列方向において前記Nで分割することによって1以上の第1分割行列を生成し、
前記第2行列を、前記行方向において前記Mで分割し、前記列方向において前記最小公倍数で分割することによって1以上の第2分割行列を生成し、
前記第1行列において同一列に位置する前記1以上の第1分割行列が、前記情報処理装置において異なる列に配置された前記演算器に記憶されるように、生成された前記1以上の第1分割行列を前記演算器の記憶部にそれぞれ記憶し、
前記第2行列において同一行に位置する前記1以上の第2分割行列が、前記情報処理装置において異なる行に配置された前記演算器に記憶されるように、生成された前記1以上の第2分割行列を前記記憶部にそれぞれ記憶し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列と前記1以上の第2分割行列との第1の積を、各演算器の前記記憶部に記憶された第1結果行列に加算し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列を、前記行方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第2分割行列を、前記列方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信し、
前記演算器毎に、他の演算器から前記1以上の第1分割行列と前記1以上の第2分割行列とを受信したことに応じて、受信した前記1以上の第1分割行列と前記1以上の第2分割行列との第2の積を、各演算器の前記記憶部に記憶された前記第1結果行列に加算し、
前記第1分割行列を送信する工程と、前記第2分割行列を送信する工程と、前記第2の積を加算する工程とを、各演算器の前記記憶部に記憶された前記1以上の第1分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算され、各演算器の前記記憶部に記憶された前記1以上の第2分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算されるまで繰り返す、
ことを特徴とする演算方法。
付記1において、さらに、
他の演算器から前記1以上の第1分割行列または前記1以上の第2分割行列を受信した場合、受信した前記1以上の第1分割行列または前記1以上の第2分割行列を前記記憶部に記憶し、
前記第2の積を加算する工程では、
前記演算器毎に、各演算器の前記記憶部から、最も先に受信した前記1以上の第1分割行列と前記1以上の第2分割行列とを順次取得し、
前記演算器毎に、取得した前記1以上の第1分割行列と前記1以上の第2分割行列との前記第2の積を、各演算器の前記記憶部に記憶された前記第1結果行列に順次加算する、
ことを特徴とする演算方法。
付記1において、
前記第1分割行列を生成する工程では、前記第1行列を、前記行方向において前記最小公倍数と第1整数とを乗算した数で分割し、前記列方向において前記Nと第2整数とを乗算した数で分割することによって前記1以上の第1分割行列を生成し、
前記第2分割行列を生成する工程では、前記第2行列を、前記行方向において前記Mと第3整数とを乗算した数で分割し、前記列方向において前記最小公倍数と第4整数とを乗算した数で分割することによって前記1以上の第2分割行列の生成を行い、
前記第1分割行列を記憶する工程では、前記第1行列において同一列に位置する前記第2整数毎の第1分割行列が、前記情報処理装置において異なる列に配置された前記演算器に記憶され、前記行方向の数が前記第1整数であって前記列方向の数が前記第2整数である第1分割行列が前記記憶部のそれぞれに記憶されるように、前記1以上の第1分割行列を前記記憶部にそれぞれ記憶し、
前記第2分割行列を記憶する工程では、前記第2行列において同一行に位置する前記第3整数毎の第2分割行列が、前記情報処理装置において異なる行に配置された前記演算器に記憶され、前記行方向の数が前記第3整数であって前記列方向の数が前記第4整数である第2分割行列が前記記憶部のそれぞれに記憶されるように、前記1以上の第2分割行列を前記記憶部にそれぞれ記憶する、
ことを特徴とする演算方法。
付記1において、
前記第2分割行列を生成する工程では、前記第2行列を、前記行方向において前記Mと第1整数とを乗算した数で分割し、前記列方向において前記最小公倍数と第2整数とを乗算した数で分割することによって前記1以上の第2分割行列の生成を行い、
前記第2分割行列を記憶する工程では、前記第2行列において同一行に位置する前記1以上の第2分割行列が、前記情報処理装置において異なる行に配置された前記演算器に記憶されるように、前記1以上の第2分割行列のうち、前記行方向の数が前記Mであって前記列方向の数が前記最小公倍数である前記1以上の第2分割行列を前記記憶部にそれぞれ記憶し、さらに、
前記第2分割行列を記憶する工程と、前記第1の積を加算する工程と、前記第1分割行列を送信する工程と、前記第2分割行列を送信する工程と、前記第2の積を加算する工程と、前記積の加算を繰り返す工程とを、各工程が前記1以上の第2分割行列の全てについて行われるまで繰り返す、
ことを特徴とする演算方法。
付記4において、
前記各工程を繰り返す工程では、次に各工程が行われる前記1以上の第2分割行列についての前記第2分割行列を記憶する工程を並行して行う、
ことを特徴とする演算方法。
付記1において、
前記演算器のそれぞれは、トラース接続されたk個(kは1以上の整数)の単位演算器を有し、
前記第1の積を加算する工程では、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列を、行方向及び列方向のそれぞれにおいて前記kで分割することによって、1以上の単位分割値を生成し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列において同一列に位置する前記1以上の単位分割値が同一の前記単位演算器に記憶されるように、生成された前記1以上の単位分割値を前記単位演算器の単位記憶部のそれぞれに記憶し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第2分割行列を、列方向において前記kで分割することによって、1以上の単位分割行列を生成し、
前記演算器毎に、生成された前記1以上の単位分割行列を前記単位演算器の前記単位記憶部のそれぞれに記憶し、
前記単位演算器毎に、各単位演算器の前記単位記憶部に記憶された前記1以上の単位分割値のうち、各単位演算器を識別する識別情報に対応する単位分割値と、各単位演算器の前記単位記憶部に記憶された前記1以上の単位分割行列との第3の積を、各単位演算器の前記単位記憶部に記憶された第2結果行列に加算し、
前記単位演算器毎に、各単位演算器の前記単位記憶部に記憶された前記1以上の単位分割行列を、トラース接続された他の単位演算器のうち、直接接続された単位演算器に送信し、
前記単位演算器毎に、他の単位演算器から前記1以上の単位分割行列を受信したことに応じて、他の単位演算器から受信した前記1以上の単位分割行列と、各単位演算器の前記単位記憶部に記憶された前記1以上の単位分割値のうち、受信した前記1以上の単位分割行列を最初に記憶していた他の単位演算器を識別する識別情報に対応する単位分割値との第4の積を、前記単位記憶部に記憶された前記第2結果行列に加算し、
前記単位分割行列を送信する工程と、前記第4の積を加算する工程とを、各単位演算器の前記単位記憶部に記憶された前記1以上の単位分割行列から算出される積が、トラース接続された前記単位演算器のそれぞれにおいて前記第2結果行列に加算されるまで繰り返し、
前記第1分割行列を送信する工程では、前記単位演算器毎に、各単位演算器の前記単位記憶部のそれぞれに記憶された前記第2結果行列からなる行列を、前記1以上の第1分割行列として送信し、
前記第2分割行列を送信する工程では、前記単位演算器毎に、各単位演算器の前記単位記憶部のそれぞれに記憶された前記第2結果行列からなる行列を、前記1以上の第2分割行列として送信する、
ことを特徴とする演算方法。
付記6において、
前記単位演算器は、各単位演算器を識別する第1識別情報を有し、
前記単位分割値を記憶する工程では、前記単位演算器毎に、前記単位分割値と各単位分割値を識別する第2識別情報とを対応付けて記憶し、
前記第3の積を加算する工程では、
前記単位演算器毎に、各単位演算器に対応する前記第1識別情報を特定し、
前記単位演算器毎に、各単位演算器の前記単位記憶部に記憶された前記単位分割値のうち、特定した前記第1識別情報に対応する単位分割値と、各単位演算器の前記単位記憶部に記憶された前記単位分割行列との前記第3の積を、各単位演算器の前記単位記憶部に記憶された前記第2結果行列に加算し、
前記第4の積を加算する工程では、
前記単位演算器毎に、受信した前記単位分割行列を最初に記憶していた他の単位演算器に対応する第2識別情報を特定し、
前記単位演算器毎に、受信した前記単位分割行列と、各単位演算器の前記単位記憶部に記憶された前記単位分割値のうち、特定した前記第2識別情報に対応する単位分割値との前記第4の積を、前記単位記憶部に記憶された前記第2結果行列に加算する、
ことを特徴とする演算方法。
付記1において、さらに、
前記積の加算を繰り返す工程の後、前記第1結果行列を出力する、
ことを特徴とする演算方法。
行方向に配置されたM(Mは1以上の整数)個の演算器と列方向に配置されたN(Nは1以上の整数)個の演算器とがそれぞれトラース接続されたM×N個の演算器を有する情報処理装置において、
第1行列を、前記行方向において前記Mと前記Nとの最小公倍数で分割し、前記列方向において前記Nで分割することによって1以上の第1分割行列を生成する第1行列分割部と、
第2行列を、前記行方向において前記Mで分割し、前記列方向において前記最小公倍数で分割することによって1以上の第2分割行列を生成する第2行列分割部と、
前記第1行列において同一列に位置する前記1以上の第1分割行列が、前記情報処理装置において異なる列に配置された前記演算器に記憶されるように、生成された前記1以上の第1分割行列を前記演算器の記憶部にそれぞれ記憶し、前記第2行列において同一行に位置する前記1以上の第2分割行列が、前記情報処理装置において異なる行に配置された前記演算器に記憶されるように、生成された前記1以上の第2分割行列を前記記憶部にそれぞれ記憶する行列記憶部と、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列と前記1以上の第2分割行列との第1の積を、各演算器の前記記憶部に記憶された第1結果行列に加算する行列演算部と、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列を、前記行方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信し、前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第2分割行列を、前記列方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信する行列送受信部と、を有し、
前記行列演算部は、前記演算器毎に、他の演算器から前記1以上の第1分割行列と前記1以上の第2分割行列とを受信したことに応じて、受信した前記1以上の第1分割行列と前記1以上の第2分割行列との第2の積を、各演算器の前記記憶部に記憶された前記第1結果行列に加算し、
前記行列送受信部は、前記1以上の第1分割行列の送信と、前記1以上の第2分割行列の送信とを、各演算器の前記記憶部に記憶された前記1以上の第1分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算され、各演算器の前記記憶部に記憶された前記1以上の第2分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算されるまで繰り返し、
前記行列演算部は、前記第2の積の加算を、各演算器の前記記憶部に記憶された前記1以上の第1分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算され、各演算器の前記記憶部に記憶された前記1以上の第2分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算されるまで繰り返す、
ことを特徴とする演算装置。
行方向に配置されたM(Mは1以上の整数)個の演算器と列方向に配置されたN(Nは1以上の整数)個の演算器とがそれぞれトラース接続されたM×N個の演算器を有する情報処理装置に、第1行列と第2行列との積を算出する処理を実行させる演算プログラムであって、
前記第1行列を、前記行方向において前記Mと前記Nとの最小公倍数で分割し、前記列方向において前記Nで分割することによって1以上の第1分割行列を生成し、
前記第2行列を、前記行方向において前記Mで分割し、前記列方向において前記最小公倍数で分割することによって1以上の第2分割行列を生成し、
前記第1行列において同一列に位置する前記1以上の第1分割行列が、前記情報処理装置において異なる列に配置された前記演算器に記憶されるように、生成された前記1以上の第1分割行列を前記演算器の記憶部にそれぞれ記憶し、
前記第2行列において同一行に位置する前記1以上の第2分割行列が、前記情報処理装置において異なる行に配置された前記演算器に記憶されるように、生成された前記1以上の第2分割行列を前記記憶部にそれぞれ記憶し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列と前記1以上の第2分割行列との第1の積を、各演算器の前記記憶部に記憶された第1結果行列に加算し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列を、前記行方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第2分割行列を、前記列方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信し、
前記演算器毎に、他の演算器から前記1以上の第1分割行列と前記1以上の第2分割行列とを受信したことに応じて、受信した前記1以上の第1分割行列と前記1以上の第2分割行列との第2の積を、各演算器の前記記憶部に記憶された前記第1結果行列に加算し、
前記第1分割行列を送信する処理と、前記第2分割行列を送信する処理と、前記第2の積を加算する処理とを、各演算器の前記記憶部に記憶された前記1以上の第1分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算され、各演算器の前記記憶部に記憶された前記1以上の第2分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算されるまで繰り返す、
処理を前記情報処理装置に実行させることを特徴とする演算プログラム。
行方向に配置されたM(Mは1以上の整数)個の演算器と列方向に配置されたN(Nは1以上の整数)個の演算器とがそれぞれトラース接続されたM×N個の演算器を有する情報処理装置と、
第1行列及び第2行列を記憶する記憶装置と、を有し、
前記情報処理装置は、
前記記憶装置に記憶された前記第1行列を、前記行方向において前記Mと前記Nとの最小公倍数で分割し、前記列方向において前記Nで分割することによって1以上の第1分割行列を生成する第1行列分割部と、
前記記憶装置に記憶された前記第2行列を、前記行方向において前記Mで分割し、前記列方向において前記最小公倍数で分割することによって1以上の第2分割行列を生成する第2行列分割部と、
前記第1行列において同一列に位置する前記1以上の第1分割行列が、前記情報処理装置において異なる列に配置された前記演算器に記憶されるように、生成された前記1以上の第1分割行列を前記演算器の記憶部にそれぞれ記憶し、前記第2行列において同一行に位置する前記1以上の第2分割行列が、前記情報処理装置において異なる行に配置された前記演算器に記憶されるように、生成された前記1以上の第2分割行列を前記記憶部にそれぞれ記憶する行列記憶部と、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列と前記1以上の第2分割行列との第1の積を、各演算器の前記記憶部に記憶された第1結果行列に加算する行列演算部と、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列を、前記行方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信し、前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第2分割行列を、前記列方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信する行列送受信部と、を有し、
前記行列演算部は、前記演算器毎に、他の演算器から前記1以上の第1分割行列と前記1以上の第2分割行列とを受信したことに応じて、受信した前記1以上の第1分割行列と前記1以上の第2分割行列との第2の積を、各演算器の前記記憶部に記憶された前記第1結果行列に加算し、
前記行列送受信部は、前記1以上の第1分割行列の送信と、前記1以上の第2分割行列の送信とを、各演算器の前記記憶部に記憶された前記1以上の第1分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算され、各演算器の前記記憶部に記憶された前記1以上の第2分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算されるまで繰り返し、
前記行列演算部は、前記第2の積の加算を、各演算器の前記記憶部に記憶された前記1以上の第1分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算され、各演算器の前記記憶部に記憶された前記1以上の第2分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算されるまで繰り返す、
ことを特徴とする演算システム。
101:CPU 102:メモリ
111:DLU 112:メモリ
Claims (10)
- 行方向に配置されたM(Mは1以上の整数)個の演算器と列方向に配置されたN(Nは1以上の整数、かつ、N≠M)個の演算器とがそれぞれトラース接続されたM×N個の演算器を有する情報処理装置において、第1行列と第2行列との積を算出する演算方法であって、
前記第1行列を、前記行方向において前記Mと前記Nとの最小公倍数で分割し、前記列方向において前記Nで分割することによって1以上の第1分割行列を生成し、
前記第2行列を、前記行方向において前記Mで分割し、前記列方向において前記最小公倍数で分割することによって1以上の第2分割行列を生成し、
前記第1行列において同一列に位置する前記1以上の第1分割行列が、前記情報処理装置において異なる列に配置された前記演算器に記憶されるように、生成された前記1以上の第1分割行列を前記演算器の記憶部にそれぞれ記憶し、
前記第2行列において同一行に位置する前記1以上の第2分割行列が、前記情報処理装置において異なる行に配置された前記演算器に記憶されるように、生成された前記1以上の第2分割行列を前記記憶部にそれぞれ記憶し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列と前記1以上の第2分割行列との第1の積を、各演算器の前記記憶部に記憶された第1結果行列に加算し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列を、前記行方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第2分割行列を、前記列方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信し、
前記演算器毎に、他の演算器から前記1以上の第1分割行列と前記1以上の第2分割行列とを受信したことに応じて、受信した前記1以上の第1分割行列と前記1以上の第2分割行列との第2の積を、各演算器の前記記憶部に記憶された前記第1結果行列に加算し、
前記第1分割行列を送信する工程と、前記第2分割行列を送信する工程と、前記第2の積を加算する工程とを、各演算器の前記記憶部に記憶された前記1以上の第1分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算され、各演算器の前記記憶部に記憶された前記1以上の第2分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算されるまで繰り返す、
ことを特徴とする演算方法。 - 請求項1において、さらに、
他の演算器から前記1以上の第1分割行列または前記1以上の第2分割行列を受信した場合、受信した前記1以上の第1分割行列または前記1以上の第2分割行列を前記記憶部に記憶し、
前記第2の積を加算する工程では、
前記演算器毎に、各演算器の前記記憶部から、最も先に受信した前記1以上の第1分割行列と前記1以上の第2分割行列とを順次取得し、
前記演算器毎に、取得した前記1以上の第1分割行列と前記1以上の第2分割行列との前記第2の積を、各演算器の前記記憶部に記憶された前記第1結果行列に順次加算する、
ことを特徴とする演算方法。 - 請求項1において、
前記第1分割行列を生成する工程では、前記第1行列を、前記行方向において前記最小公倍数と第1整数とを乗算した数で分割し、前記列方向において前記Nと第2整数とを乗算した数で分割することによって前記1以上の第1分割行列を生成し、
前記第2分割行列を生成する工程では、前記第2行列を、前記行方向において前記Mと第3整数とを乗算した数で分割し、前記列方向において前記最小公倍数と第4整数とを乗算した数で分割することによって前記1以上の第2分割行列の生成を行い、
前記第1分割行列を記憶する工程では、前記第1行列において同一列に位置する前記第2整数毎の第1分割行列が、前記情報処理装置において異なる列に配置された前記演算器に記憶され、前記行方向の数が前記第1整数であって前記列方向の数が前記第2整数である第1分割行列が前記記憶部のそれぞれに記憶されるように、前記1以上の第1分割行列を前記記憶部にそれぞれ記憶し、
前記第2分割行列を記憶する工程では、前記第2行列において同一行に位置する前記第3整数毎の第2分割行列が、前記情報処理装置において異なる行に配置された前記演算器に記憶され、前記行方向の数が前記第3整数であって前記列方向の数が前記第4整数である第2分割行列が前記記憶部のそれぞれに記憶されるように、前記1以上の第2分割行列を前記記憶部にそれぞれ記憶する、
ことを特徴とする演算方法。 - 請求項1において、
前記第2分割行列を生成する工程では、前記第2行列を、前記行方向において前記Mと第1整数とを乗算した数で分割し、前記列方向において前記最小公倍数と第2整数とを乗算した数で分割することによって前記1以上の第2分割行列の生成を行い、
前記第2分割行列を記憶する工程では、前記第2行列において同一行に位置する前記1以上の第2分割行列が、前記情報処理装置において異なる行に配置された前記演算器に記憶されるように、前記1以上の第2分割行列のうち、前記行方向の数が前記Mであって前記列方向の数が前記最小公倍数である前記1以上の第2分割行列を前記記憶部にそれぞれ記憶し、さらに、
前記第2分割行列を記憶する工程と、前記第1の積を加算する工程と、前記第1分割行列を送信する工程と、前記第2分割行列を送信する工程と、前記第2の積を加算する工程と、前記積の加算を繰り返す工程とを、各工程が前記1以上の第2分割行列の全てについて行われるまで繰り返す、
ことを特徴とする演算方法。 - 請求項4において、
前記各工程を繰り返す工程では、次に各工程が行われる前記1以上の第2分割行列についての前記第2分割行列を記憶する工程を並行して行う、
ことを特徴とする演算方法。 - 請求項1において、
前記演算器のそれぞれは、トラース接続されたk個(kは1以上の整数)の単位演算器を有し、
前記第1の積を加算する工程では、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列を、行方向及び列方向のそれぞれにおいて前記kで分割することによって、1以上の単位分割値を生成し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列において同一列に位置する前記1以上の単位分割値が同一の前記単位演算器に記憶されるように、生成された前記1以上の単位分割値を前記単位演算器の単位記憶部のそれぞれに記憶し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第2分割行列を、列方向において前記kで分割することによって、1以上の単位分割行列を生成し、
前記演算器毎に、生成された前記1以上の単位分割行列を前記単位演算器の前記単位記憶部のそれぞれに記憶し、
前記単位演算器毎に、各単位演算器の前記単位記憶部に記憶された前記1以上の単位分割値のうち、各単位演算器を識別する識別情報に対応する単位分割値と、各単位演算器の前記単位記憶部に記憶された前記1以上の単位分割行列との第3の積を、各単位演算器の前記単位記憶部に記憶された第2結果行列に加算し、
前記単位演算器毎に、各単位演算器の前記単位記憶部に記憶された前記1以上の単位分割行列を、トラース接続された他の単位演算器のうち、直接接続された単位演算器に送信し、
前記単位演算器毎に、他の単位演算器から前記1以上の単位分割行列を受信したことに応じて、他の単位演算器から受信した前記1以上の単位分割行列と、各単位演算器の前記単位記憶部に記憶された前記1以上の単位分割値のうち、受信した前記1以上の単位分割行列を最初に記憶していた他の単位演算器を識別する識別情報に対応する単位分割値との第4の積を、前記単位記憶部に記憶された前記第2結果行列に加算し、
前記単位分割行列を送信する工程と、前記第4の積を加算する工程とを、各単位演算器の前記単位記憶部に記憶された前記1以上の単位分割行列から算出される積が、トラース接続された前記単位演算器のそれぞれにおいて前記第2結果行列に加算されるまで繰り返し、
前記第1分割行列を送信する工程では、前記単位演算器毎に、各単位演算器の前記単位記憶部のそれぞれに記憶された前記第2結果行列からなる行列を、前記1以上の第1分割行列として送信し、
前記第2分割行列を送信する工程では、前記単位演算器毎に、各単位演算器の前記単位記憶部のそれぞれに記憶された前記第2結果行列からなる行列を、前記1以上の第2分割行列として送信する、
ことを特徴とする演算方法。 - 請求項6において、
前記単位演算器は、各単位演算器を識別する第1識別情報を有し、
前記単位分割値を記憶する工程では、前記単位演算器毎に、前記単位分割値と各単位分割値を識別する第2識別情報とを対応付けて記憶し、
前記第3の積を加算する工程では、
前記単位演算器毎に、各単位演算器に対応する前記第1識別情報を特定し、
前記単位演算器毎に、各単位演算器の前記単位記憶部に記憶された前記単位分割値のうち、特定した前記第1識別情報に対応する単位分割値と、各単位演算器の前記単位記憶部に記憶された前記単位分割行列との前記第3の積を、各単位演算器の前記単位記憶部に記憶された前記第2結果行列に加算し、
前記第4の積を加算する工程では、
前記単位演算器毎に、受信した前記単位分割行列を最初に記憶していた他の単位演算器に対応する第2識別情報を特定し、
前記単位演算器毎に、受信した前記単位分割行列と、各単位演算器の前記単位記憶部に記憶された前記単位分割値のうち、特定した前記第2識別情報に対応する単位分割値との前記第4の積を、前記単位記憶部に記憶された前記第2結果行列に加算する、
ことを特徴とする演算方法。 - 行方向に配置されたM(Mは1以上の整数)個の演算器と列方向に配置されたN(Nは1以上の整数、かつ、N≠M)個の演算器とがそれぞれトラース接続されたM×N個の演算器を有する情報処理装置において、
第1行列を、前記行方向において前記Mと前記Nとの最小公倍数で分割し、前記列方向において前記Nで分割することによって1以上の第1分割行列を生成する第1行列分割部と、
第2行列を、前記行方向において前記Mで分割し、前記列方向において前記最小公倍数で分割することによって1以上の第2分割行列を生成する第2行列分割部と、
前記第1行列において同一列に位置する前記1以上の第1分割行列が、前記情報処理装置において異なる列に配置された前記演算器に記憶されるように、生成された前記1以上の第1分割行列を前記演算器の記憶部にそれぞれ記憶し、前記第2行列において同一行に位置する前記1以上の第2分割行列が、前記情報処理装置において異なる行に配置された前記演算器に記憶されるように、生成された前記1以上の第2分割行列を前記記憶部にそれぞれ記憶する行列記憶部と、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列と前記1以上の第2分割行列との第1の積を、各演算器の前記記憶部に記憶された第1結果行列に加算する行列演算部と、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列を、前記行方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信し、前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第2分割行列を、前記列方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信する行列送受信部と、を有し、
前記行列演算部は、前記演算器毎に、他の演算器から前記1以上の第1分割行列と前記1以上の第2分割行列とを受信したことに応じて、受信した前記1以上の第1分割行列と前記1以上の第2分割行列との第2の積を、各演算器の前記記憶部に記憶された前記第1結果行列に加算し、
前記行列送受信部は、前記1以上の第1分割行列の送信と、前記1以上の第2分割行列の送信とを、各演算器の前記記憶部に記憶された前記1以上の第1分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算され、各演算器の前記記憶部に記憶された前記1以上の第2分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算されるまで繰り返し、
前記行列演算部は、前記第2の積の加算を、各演算器の前記記憶部に記憶された前記1以上の第1分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算され、各演算器の前記記憶部に記憶された前記1以上の第2分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算されるまで繰り返す、
ことを特徴とする演算装置。 - 行方向に配置されたM(Mは1以上の整数)個の演算器と列方向に配置されたN(Nは1以上の整数、かつ、N≠M)個の演算器とがそれぞれトラース接続されたM×N個の演算器を有する情報処理装置に、第1行列と第2行列との積を算出する処理を実行させる演算プログラムであって、
前記第1行列を、前記行方向において前記Mと前記Nとの最小公倍数で分割し、前記列方向において前記Nで分割することによって1以上の第1分割行列を生成し、
前記第2行列を、前記行方向において前記Mで分割し、前記列方向において前記最小公倍数で分割することによって1以上の第2分割行列を生成し、
前記第1行列において同一列に位置する前記1以上の第1分割行列が、前記情報処理装置において異なる列に配置された前記演算器に記憶されるように、生成された前記1以上の第1分割行列を前記演算器の記憶部にそれぞれ記憶し、
前記第2行列において同一行に位置する前記1以上の第2分割行列が、前記情報処理装置において異なる行に配置された前記演算器に記憶されるように、生成された前記1以上の第2分割行列を前記記憶部にそれぞれ記憶し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列と前記1以上の第2分割行列との第1の積を、各演算器の前記記憶部に記憶された第1結果行列に加算し、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列を、前記行方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信し
、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第2分割行列を、前記列方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信し、
前記演算器毎に、他の演算器から前記1以上の第1分割行列と前記1以上の第2分割行列とを受信したことに応じて、受信した前記1以上の第1分割行列と前記1以上の第2分割行列との第2の積を、各演算器の前記記憶部に記憶された前記第1結果行列に加算し、
前記第1分割行列を送信する処理と、前記第2分割行列を送信する処理と、前記第2の積を加算する処理とを、各演算器の前記記憶部に記憶された前記1以上の第1分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算され、各演算器の前記記憶部に記憶された前記1以上の第2分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算されるまで繰り返す、
処理を前記情報処理装置に実行させることを特徴とする演算プログラム。 - 行方向に配置されたM(Mは1以上の整数)個の演算器と列方向に配置されたN(Nは1以上の整数、かつ、N≠M)個の演算器とがそれぞれトラース接続されたM×N個の演算器を有する情報処理装置と、
第1行列及び第2行列を記憶する記憶装置と、を有し、
前記情報処理装置は、
前記記憶装置に記憶された前記第1行列を、前記行方向において前記Mと前記Nとの最小公倍数で分割し、前記列方向において前記Nで分割することによって1以上の第1分割行列を生成する第1行列分割部と、
前記記憶装置に記憶された前記第2行列を、前記行方向において前記Mで分割し、前記列方向において前記最小公倍数で分割することによって1以上の第2分割行列を生成する第2行列分割部と、
前記第1行列において同一列に位置する前記1以上の第1分割行列が、前記情報処理装置において異なる列に配置された前記演算器に記憶されるように、生成された前記1以上の第1分割行列を前記演算器の記憶部にそれぞれ記憶し、前記第2行列において同一行に位置する前記1以上の第2分割行列が、前記情報処理装置において異なる行に配置された前記演算器に記憶されるように、生成された前記1以上の第2分割行列を前記記憶部にそれぞれ記憶する行列記憶部と、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列と前記1以上の第2分割行列との第1の積を、各演算器の前記記憶部に記憶された第1結果行列に加算する行列演算部と、
前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第1分割行列を、前記行方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信し、前記演算器毎に、各演算器の前記記憶部に記憶された前記1以上の第2分割行列を、前記列方向においてトラース接続された他の演算器のうち、直接接続された演算器に送信する行列送受信部と、を有し、
前記行列演算部は、前記演算器毎に、他の演算器から前記1以上の第1分割行列と前記1以上の第2分割行列とを受信したことに応じて、受信した前記1以上の第1分割行列と前記1以上の第2分割行列との第2の積を、各演算器の前記記憶部に記憶された前記第1結果行列に加算し、
前記行列送受信部は、前記1以上の第1分割行列の送信と、前記1以上の第2分割行列の送信とを、各演算器の前記記憶部に記憶された前記1以上の第1分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算され、各演算器の前記記憶部に記憶された前記1以上の第2分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算されるまで繰り返し、
前記行列演算部は、前記第2の積の加算を、各演算器の前記記憶部に記憶された前記1以上の第1分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算され、各演算器の前記記憶部に記憶された前記1以上の第2分割行列から算出される積が、トラース接続された前記演算器のそれぞれにおいて前記第1結果行列に加算されるまで繰り返す、
ことを特徴とする演算システム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017033409A JP6912703B2 (ja) | 2017-02-24 | 2017-02-24 | 演算方法、演算装置、演算プログラム及び演算システム |
EP18156090.5A EP3370162B1 (en) | 2017-02-24 | 2018-02-09 | Computing method, information processing apparatus, computing program, and information processing system |
US15/894,995 US10558730B2 (en) | 2017-02-24 | 2018-02-13 | Computing method, information processing apparatus, computing program, and information processing system |
CN201810155419.2A CN108509384B (zh) | 2017-02-24 | 2018-02-23 | 计算方法、信息处理装置、计算程序及信息处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017033409A JP6912703B2 (ja) | 2017-02-24 | 2017-02-24 | 演算方法、演算装置、演算プログラム及び演算システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018139045A JP2018139045A (ja) | 2018-09-06 |
JP6912703B2 true JP6912703B2 (ja) | 2021-08-04 |
Family
ID=61192728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017033409A Active JP6912703B2 (ja) | 2017-02-24 | 2017-02-24 | 演算方法、演算装置、演算プログラム及び演算システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10558730B2 (ja) |
EP (1) | EP3370162B1 (ja) |
JP (1) | JP6912703B2 (ja) |
CN (1) | CN108509384B (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018174931A1 (en) * | 2017-03-20 | 2018-09-27 | Intel Corporation | Systems, methods, and appartus for tile configuration |
US11138291B2 (en) * | 2017-09-26 | 2021-10-05 | Oracle International Corporation | Assymetric allocation of SRAM and data layout for efficient matrix multiplication |
CN109992743B (zh) * | 2017-12-29 | 2020-06-16 | 华为技术有限公司 | 矩阵乘法器 |
US11093580B2 (en) * | 2018-10-31 | 2021-08-17 | Advanced Micro Devices, Inc. | Matrix multiplier with submatrix sequencing |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06175986A (ja) * | 1992-12-10 | 1994-06-24 | Nippon Telegr & Teleph Corp <Ntt> | 行列演算の並列処理方法 |
CN102411558B (zh) * | 2011-10-31 | 2015-05-13 | 中国人民解放军国防科学技术大学 | 面向向量处理器的大矩阵相乘的向量化实现方法 |
CN103294648B (zh) * | 2013-05-08 | 2016-06-01 | 中国人民解放军国防科学技术大学 | 支持多mac运算部件向量处理器的分块矩阵乘法向量化方法 |
CN103440121B (zh) * | 2013-08-20 | 2016-06-29 | 中国人民解放军国防科学技术大学 | 一种面向向量处理器的三角矩阵乘法向量化方法 |
CN104572587B (zh) * | 2014-12-23 | 2017-11-14 | 中国电子科技集团公司第三十八研究所 | 数据矩阵相乘的加速运算方法和装置 |
CN104899182B (zh) * | 2015-06-09 | 2017-10-31 | 中国人民解放军国防科学技术大学 | 一种支持可变分块的矩阵乘加速方法 |
US9805001B2 (en) * | 2016-02-05 | 2017-10-31 | Google Inc. | Matrix processing apparatus |
-
2017
- 2017-02-24 JP JP2017033409A patent/JP6912703B2/ja active Active
-
2018
- 2018-02-09 EP EP18156090.5A patent/EP3370162B1/en active Active
- 2018-02-13 US US15/894,995 patent/US10558730B2/en active Active
- 2018-02-23 CN CN201810155419.2A patent/CN108509384B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20180246854A1 (en) | 2018-08-30 |
EP3370162A3 (en) | 2018-09-12 |
US10558730B2 (en) | 2020-02-11 |
EP3370162A2 (en) | 2018-09-05 |
CN108509384A (zh) | 2018-09-07 |
CN108509384B (zh) | 2022-04-12 |
EP3370162B1 (en) | 2023-06-07 |
JP2018139045A (ja) | 2018-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6912703B2 (ja) | 演算方法、演算装置、演算プログラム及び演算システム | |
EP3557484A1 (en) | Neural network convolution operation device and method | |
US9231999B2 (en) | Multi-level load balancer | |
EP3179382A1 (en) | Two-dimensional filter generation method, query method and device | |
CN112948120A (zh) | 负载均衡方法、系统、装置和存储介质 | |
CN111984189B (zh) | 神经网络计算装置和数据读取、数据存储方法及相关设备 | |
CN107544845B (zh) | Gpu资源调度方法及装置 | |
JP2018197906A (ja) | 情報処理装置、マルチスレッド行列演算方法、およびマルチスレッド行列演算プログラム | |
WO2021036729A1 (zh) | 一种矩阵运算方法、运算装置以及处理器 | |
CN117273084A (zh) | 神经网络模型的计算方法、装置、电子设备及存储介质 | |
US20220253507A1 (en) | Information processing apparatus | |
CN107705838A (zh) | 一种医学影像的传输方法、装置、服务器、介质及系统 | |
CN117785754A (zh) | 自适应多通道仲裁方法、装置、电子设备及介质 | |
CN112000485A (zh) | 任务分配方法、装置、电子设备及计算机可读存储介质 | |
CN113377536B (zh) | 一种网格生成系统及方法 | |
US20220004363A1 (en) | Semiconductor device, data generation methods used for the same, and method of controlling the same | |
US11960946B2 (en) | Message-based processing system and method of operating the same | |
JP4035557B1 (ja) | アイテム配分システム及び方法 | |
CN113205578A (zh) | 图层处理方法、图层渲染方法及相关设备 | |
CN107247673B (zh) | 一种内存分配方法和装置 | |
US20240195866A1 (en) | Distributed Computing in a Hosted Spreadsheet Application | |
CN112966180B (zh) | 请求处理方法、装置、设备、介质和程序产品 | |
US8423884B1 (en) | System, method and computer readable storage medium for storing the method for operating graphic user interface | |
Fasi et al. | Fast Generation of Extreme-Scale Matrices with Pre-Assigned 2-Norm Condition Number | |
CN118469795A (zh) | 地址数据的写入方法及装置、电子设备与存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201221 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210608 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210621 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6912703 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |