JP2022181161A - ハードウェアにおけるスパース行列乗算 - Google Patents
ハードウェアにおけるスパース行列乗算 Download PDFInfo
- Publication number
- JP2022181161A JP2022181161A JP2021207147A JP2021207147A JP2022181161A JP 2022181161 A JP2022181161 A JP 2022181161A JP 2021207147 A JP2021207147 A JP 2021207147A JP 2021207147 A JP2021207147 A JP 2021207147A JP 2022181161 A JP2022181161 A JP 2022181161A
- Authority
- JP
- Japan
- Prior art keywords
- shard
- sparse
- vector
- input
- values
- 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.)
- Granted
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 249
- 239000013598 vector Substances 0.000 claims abstract description 283
- 238000000034 method Methods 0.000 claims abstract description 45
- 239000003550 marker Substances 0.000 claims description 35
- 230000009471 action Effects 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 2
- 239000000047 product Substances 0.000 description 49
- 238000007781 pre-processing Methods 0.000 description 48
- 230000008569 process Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 23
- 230000015654 memory Effects 0.000 description 20
- 238000005192 partition Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 238000013528 artificial neural network Methods 0.000 description 11
- 238000000638 solvent extraction Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 101800002712 p27 Proteins 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8046—Systolic arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/487—Multiplying; Dividing
- G06F7/4876—Multiplying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/501—Half or full adders, i.e. basic adder cells for one denomination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Nonlinear Science (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Complex Calculations (AREA)
- Neurology (AREA)
- Advance Control (AREA)
Abstract
Description
スパース行列は、行列の要素として非ゼロ値よりもゼロ値の方が割合が高い行列である。異なるスパース行列は、ゼロ値と非ゼロ値との割合に基づいてさまざまな程度のスパース性を有し得る。非ゼロ値よりもゼロ値の方が割合が高い行列は、非ゼロ値よりもゼロ値の方が割合が低い行列よりもスパース性が高いと言われる。
本開示の局面は、ハードウェアにおけるスパース行列密ベクトル乗算に関する。
上記スパースシャードは複数のスパースシャードのうちの1つであり、上記複数のスパースシャードは、システム入力行列の部分行列である複数のシャード入力行列を受け、システム入力ベクトルの部分ベクトルである複数のシャード入力ベクトルを受け、上記複数のスパースシャードによって、上記システム入力ベクトルを上記システム入力行列に適用した積を表すシステム出力ベクトルを生成するように構成されている。
概要
本開示の局面は、スパース行列密ベクトル乗算のために構成された1つ以上の集積回路を含むシステムに関する。複数のスパースシャード(sparse shard)のシステムは、スパースシャードごとに、入力システム行列およびベクトルの部分行列および部分ベクトルを受けることができる。各スパースシャードは、集積回路の少なくとも一部であってもよく、乗算回路および加算回路などの複数の演算ユニットを実現することができる。各スパースシャードは、最大非ゼロ閾値以下の数の非ゼロ値を有する部分行列を受けるように構成されており、この最大非ゼロ閾値は、システムが、たとえば本明細書に記載されているようにスパースシャードと任意に1つ以上の他のコンポーネントとを含むチップとして実現される場合に、予め定めることができる。
図1は、スパースシャード101A~Pのアレイ101を含むシステム100の一例のブロック図である。アレイ101は、行列入力に対して行列乗算を実行するように構成されたスパース行列乗算システム100などのスパース行列乗算システムの少なくとも一部であってもよい。
[0 3 0 2 0 4 1 0 0](行列410)
この例における行列410についての対応する制御ベクトル430~432は、
[1 0 1 1](制御ベクトル430)
[1 2 0 1](制御ベクトル431)
[0 0 1 2](制御ベクトル432)
である。
図5は、本開示の局面に係る、スパースシャード上のスパース行列の部分行列にシステム入力ベクトルを乗算するためのプロセス500の一例のフロー図である。説明し易くするために、スパース行列の部分行列をシャード入力行列と呼ぶ。図9は、本明細書において、入力スパース行列を複数の部分行列に区分するためのプロセスの一例を示す。たとえば、図2のスパースシャード200などのスパースシャードがプロセス500を実行する。
図10は、本開示の局面に係る、スパース行列乗算システム100および前処理エンジン150を実現するコンピューティング環境の一例のブロック図である。前処理エンジン150は、サーバコンピューティングデバイス1015などにおいて、1つ以上の場所に1つ以上のプロセッサを有する1つ以上のデバイス上に実現することができる。ユーザコンピューティングデバイス1012およびサーバコンピューティングデバイス1015は、ネットワーク1060を介して1つ以上のストレージデバイス1030に通信可能に結合され得る。ストレージデバイス(複数可)1030は、揮発性メモリと不揮発性メモリとの組み合わせであってもよく、コンピューティングデバイス1012、1015と同じまたは異なる物理的位置にあってもよい。たとえば、ストレージデバイス(複数可)1030は、ハードドライブ、ソリッドステートドライブ、テープドライブ、光ストレージ、メモリカード、ROM、RAM、DVD、CD-ROM、書き込み可能メモリ、および読み取り専用メモリなどの、情報を格納することができる任意の種類の非一時的なコンピュータ読取可能媒体を含み得る。
Claims (20)
- 複数の乗算回路を含むスパースシャードを備え、前記スパースシャードは、
予め定められた最大非ゼロ閾値以下の数の非ゼロ値を含むシャード入力行列を受け、
複数のベクトル値を含むシャード入力ベクトルを受け、
前記乗算回路の各々について、前記シャード入力行列のそれぞれの非ゼロ値を受け、
前記複数の乗算回路によって、ベクトル値に前記シャード入力行列の前記それぞれの非ゼロ値を乗算した1つ以上の積を生成し、
前記スパースシャードへの出力として、前記1つ以上の積を用いて、前記シャード入力ベクトルを前記シャード入力行列に適用した積であるシャード出力ベクトルを生成するように構成されている、システム。 - 前記シャード出力ベクトルの長さは1よりも大きい、請求項1に記載のシステム。
- 前記スパースシャードは複数のスパースシャードのうちの1つであり、前記複数のスパースシャードは、
システム入力行列の部分行列である複数のシャード入力行列を受け、
システム入力ベクトルの部分ベクトルである複数のシャード入力ベクトルを受け、
前記複数のスパースシャードによって、前記システム入力ベクトルを前記システム入力行列に適用した積を表すシステム出力ベクトルを生成するように構成されている、請求項1に記載のシステム。 - 前記複数のスパースシャードはシストリックアレイとして配列され、前記シストリックアレイは、前記シストリックアレイの列次元に沿ったスパースシャードの1つ以上のグループを含み、
前記システム出力ベクトルを生成するために、前記1つ以上のプロセッサはさらに、
前記シストリックアレイの前記列次元に沿ったグループごとに、前記グループ内の各スパースシャードのそれぞれのシャード出力ベクトルを合算してそれぞれの列出力ベクトルを生成し、
各グループの前記それぞれの列出力ベクトルを連結して前記システム出力ベクトルを生成するように構成されている、請求項3に記載のシステム。 - 各乗算回路は、前記スパースシャードについての前記シャード入力行列のそれぞれからの前記それぞれの非ゼロ値を含むそれぞれのレジスタに結合される、請求項1に記載のシステム。
- 前記複数の乗算回路における乗算回路の数は、前記予め定められた最大非ゼロ閾値と等しい、請求項5に記載のシステム。
- 前記スパースシャードはクロスバー回路をさらに含み、前記スパースシャードはさらに、
前記クロスバー回路によって、前記シャード入力ベクトルの前記複数のベクトル値を受け、
前記複数の乗算回路の各々への入力として、前記クロスバー回路によって、前記複数のベクトル値のうちの1つのベクトル値を送るように構成されている、請求項5に記載のシステム。 - 前記スパースシャードはさらに、
前記シャード入力行列の同じ列の非ゼロ値を、前記複数の乗算回路のうちの隣接する乗算回路のレジスタにロードするように構成されている、請求項7に記載のシステム。 - 前記スパースシャードはさらに、前記シャード入力行列の各列に沿った非ゼロ値の位置を少なくとも指定する1つ以上の制御値を受けるように構成されており、
前記スパースシャードの前記クロスバー回路はさらに、
前記1つ以上の制御値を受け、
前記1つ以上の制御値に従って、前記シャード入力行列の同じ列に沿った非ゼロ値が乗算されるベクトル値を、隣接する乗算回路に送るように構成されている、請求項8に記載のシステム。 - 前記スパースシャードは複数の加算回路をさらに含み、
前記スパースシャードは1つ以上のセグメントマーカをさらに含み、各セグメントマーカは、前記セグメントマーカにロードされたそれぞれの制御値の値に基づいて、前記複数の加算回路のうちのそれぞれの加算回路への入力をゲート開閉するように構成されており、
前記スパースシャードはさらに、
前記1つ以上の制御値の少なくとも一部を前記1つ以上のセグメントマーカにロードするように構成されており、前記シャード入力行列の1列目の非ゼロ値についての加算回路は、前記1列目とは異なる前記シャード入力行列の2列目の非ゼロ値を含む隣接する加算回路の入力を受けることからゲート開閉されており、前記スパースシャードはさらに、
前記複数の加算回路によって、前記1つ以上の積の1つ以上の合計を生成するように構成されており、前記1つ以上の合計の各々は、前記シャード入力行列の列の1つ以上の非ゼロ値に前記シャード入力ベクトルの1つ以上のそれぞれの値を乗算したそれぞれのセグメント化合計である、請求項9に記載のシステム。 - 前記複数の加算回路は並列セグメント化合計回路を形成し、1つ以上の前記セグメント化合計の各々は、セグメントマーカによってゲート開閉されていない隣接する加算回路への出力の合計である、請求項10に記載のシステム。
- 前記クロスバー回路は第1のクロスバー回路であり、
前記スパースシャードは第2のクロスバー回路をさらに含み、前記第2のクロスバー回路は、
1つ以上の前記セグメント化合計を受け、
前記1つ以上の制御値に従って1つ以上の前記セグメント化合計を配列して、前記スパースシャードついて前記シャード出力ベクトルのそれぞれを生成するように構成されている、請求項10に記載のシステム。 - 前記第2のクロスバー回路はベネシュネットワークを形成し、前記シャード入力行列は正方行列である、請求項12に記載のシステム。
- 複数の乗算回路を含むスパースシャードが、予め定められた最大非ゼロ閾値以下の数の非ゼロ値を含むシャード入力行列と、複数のベクトル値を含むシャード入力ベクトルとを受けることと、
前記乗算回路の各々について、前記シャード入力行列の前記非ゼロ値のそれぞれを受けることと、
前記スパースシャードの前記複数の乗算回路が、それぞれのベクトル値に前記シャード入力行列の前記非ゼロ値のそれぞれを乗算した1つ以上の積を生成することと、
前記スパースシャードが、前記スパースシャードへの出力として、前記1つ以上の積を用いて、前記シャード入力ベクトルを前記シャード入力行列に適用した積であるシャード出力ベクトルを生成することとを備える、方法。 - 前記スパースシャードが前記シャード出力ベクトルを生成することは、1よりも大きい長さの前記シャード出力ベクトルを生成することを含む、請求項14に記載の方法。
- 前記スパースシャードは複数のスパースシャードのうちの1つであり、前記複数のスパースシャードは、
システム入力行列の部分行列である複数のシャード入力行列を受け、
システム入力ベクトルの部分ベクトルである複数のシャード入力ベクトルを受け、
前記複数のスパースシャードによって、前記システム入力ベクトルを前記システム入力ベクトルに適用した積を表すシステム出力ベクトルを生成するように構成されている、請求項14に記載の方法。 - 前記複数のスパースシャードはシストリックアレイとして配列され、前記シストリックアレイは、前記シストリックアレイの列次元に沿ったスパースシャードの1つ以上のグループを含み、
前記システム出力ベクトルを生成することは、
前記シストリックアレイの前記列次元に沿ったグループごとに、前記グループ内の各スパースシャードのそれぞれのシャード出力ベクトルを合算してそれぞれの列出力ベクトルを生成することと、
各グループの前記それぞれの列出力ベクトルを連結して前記システム出力ベクトルを生成することとを含む、請求項16に記載の方法。 - 各乗算回路は、前記スパースシャードについての前記シャード入力行列のそれぞれからのそれぞれの非ゼロ値を含むそれぞれのレジスタに結合される、請求項14に記載の方法。
- 前記複数の乗算回路における乗算回路の数は、前記予め定められた最大非ゼロ閾値と等しい、請求項18に記載の方法。
- 複数のスパースシャードを含むシステムによって実行されると前記システムに動作を実行させる命令を格納した1つ以上の非一時的なコンピュータ読取可能記憶媒体であって、前記動作は、
複数の乗算回路を含むスパースシャードによって、予め定められた最大非ゼロ閾値以下の数の非ゼロ値を含むシャード入力行列と、複数のベクトル値を含むシャード入力ベクトルとを受けることと、
前記乗算回路の各々について、前記シャード入力行列のそれぞれの非ゼロ値を受けることと、
前記スパースシャードの前記複数の乗算回路によって、それぞれのベクトル値に前記それぞれの非ゼロ値を乗算した1つ以上の積を生成することと、
前記スパースシャードへの出力として、前記1つ以上の積を用いて、前記シャード入力ベクトルを前記シャード入力行列に適用した積であるシャード出力ベクトルを生成することとを備える、1つ以上の非一時的なコンピュータ読取可能記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023206881A JP2024028901A (ja) | 2021-05-25 | 2023-12-07 | ハードウェアにおけるスパース行列乗算 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/329,259 | 2021-05-25 | ||
US17/329,259 US20220382829A1 (en) | 2021-05-25 | 2021-05-25 | Sparse matrix multiplication in hardware |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023206881A Division JP2024028901A (ja) | 2021-05-25 | 2023-12-07 | ハードウェアにおけるスパース行列乗算 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022181161A true JP2022181161A (ja) | 2022-12-07 |
JP7401513B2 JP7401513B2 (ja) | 2023-12-19 |
Family
ID=80222142
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021207147A Active JP7401513B2 (ja) | 2021-05-25 | 2021-12-21 | ハードウェアにおけるスパース行列乗算 |
JP2023206881A Pending JP2024028901A (ja) | 2021-05-25 | 2023-12-07 | ハードウェアにおけるスパース行列乗算 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023206881A Pending JP2024028901A (ja) | 2021-05-25 | 2023-12-07 | ハードウェアにおけるスパース行列乗算 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220382829A1 (ja) |
EP (1) | EP4095719A1 (ja) |
JP (2) | JP7401513B2 (ja) |
KR (2) | KR102601034B1 (ja) |
CN (1) | CN114329329A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11940907B2 (en) * | 2021-06-25 | 2024-03-26 | Intel Corporation | Methods and apparatus for sparse tensor storage for neural network accelerators |
WO2024108584A1 (zh) * | 2022-11-25 | 2024-05-30 | 华为技术有限公司 | 稀疏算子处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220374496A1 (en) * | 2021-05-19 | 2022-11-24 | Nvidia Corporation | Techniques for accelerating matrix multiplication computations using hierarchical representations of sparse matrices |
-
2021
- 2021-05-25 US US17/329,259 patent/US20220382829A1/en active Pending
- 2021-12-21 JP JP2021207147A patent/JP7401513B2/ja active Active
- 2021-12-30 CN CN202111665133.7A patent/CN114329329A/zh active Pending
-
2022
- 2022-02-07 EP EP22155308.4A patent/EP4095719A1/en active Pending
- 2022-02-09 KR KR1020220016772A patent/KR102601034B1/ko active IP Right Grant
-
2023
- 2023-11-06 KR KR1020230151637A patent/KR20230155417A/ko active Application Filing
- 2023-12-07 JP JP2023206881A patent/JP2024028901A/ja active Pending
Non-Patent Citations (3)
Title |
---|
HE XIN ET AL: "Sparse-TPU adapting systolic arrays for sparse matrices", PROCEEDINGS OF THE 34TH ACM INTERNATIONAL CONFERENCE ON SUPERCOMPUTING, ACMPUB27, JPN6023023236, 29 June 2020 (2020-06-29), US, pages 1 - 12, XP058732103, ISSN: 0005077242, DOI: 10.1145/3392717.3392751 * |
QIN ERIC ET AL: "SIGMA: A Sparse and Irregular GEMM Accelerator with Flexible Interconnects for DNN Training", 2020 IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE (HPCA), JPN6023023234, 22 February 2020 (2020-02-22), US, pages 58 - 70, XP033755306, ISSN: 0005077243, DOI: 10.1109/HPCA47549.2020.00015 * |
YAN MINGYU ET AL: "HyGCN: A GCN Accelerator with Hybrid Architecture", 2020 IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE (HPCA), JPN6023023235, 22 February 2020 (2020-02-22), US, pages 15 - 29, XP033755334, ISSN: 0005077241, DOI: 10.1109/HPCA47549.2020.00012 * |
Also Published As
Publication number | Publication date |
---|---|
CN114329329A (zh) | 2022-04-12 |
JP7401513B2 (ja) | 2023-12-19 |
KR102601034B1 (ko) | 2023-11-09 |
US20220382829A1 (en) | 2022-12-01 |
KR20230155417A (ko) | 2023-11-10 |
EP4095719A1 (en) | 2022-11-30 |
KR20220159257A (ko) | 2022-12-02 |
JP2024028901A (ja) | 2024-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lu et al. | SpWA: An efficient sparse winograd convolutional neural networks accelerator on FPGAs | |
KR102443546B1 (ko) | 행렬 곱셈기 | |
JP7474586B2 (ja) | テンソル計算データフロー加速器半導体回路 | |
JP5408913B2 (ja) | 高速かつ効率的な行列乗算ハードウェアモジュール | |
Peterka et al. | A configurable algorithm for parallel image-compositing applications | |
CN108170639B (zh) | 基于分布式环境的张量cp分解实现方法 | |
JP2024028901A (ja) | ハードウェアにおけるスパース行列乗算 | |
US20230026006A1 (en) | Convolution computation engine, artificial intelligence chip, and data processing method | |
Meng et al. | Efficient winograd convolution via integer arithmetic | |
Wang et al. | WinoNN: Optimizing FPGA-based convolutional neural network accelerators using sparse Winograd algorithm | |
Gu et al. | DLUX: A LUT-based near-bank accelerator for data center deep learning training workloads | |
CN109726822B (zh) | 运算方法、装置及相关产品 | |
US10884736B1 (en) | Method and apparatus for a low energy programmable vector processing unit for neural networks backend processing | |
Sun et al. | An I/O bandwidth-sensitive sparse matrix-vector multiplication engine on FPGAs | |
Wang et al. | DSP-efficient hardware acceleration of convolutional neural network inference on FPGAs | |
Conte et al. | GPU-acceleration of waveform relaxation methods for large differential systems | |
US20180373677A1 (en) | Apparatus and Methods of Providing Efficient Data Parallelization for Multi-Dimensional FFTs | |
CN112446007A (zh) | 一种矩阵运算方法、运算装置以及处理器 | |
Deryabin et al. | High performance parallel computing in residue number system | |
Nash | Computationally efficient systolic architecture for computing the discrete Fourier transform | |
US6718465B1 (en) | Reconfigurable inner product processor architecture implementing square recursive decomposition of partial product matrices | |
CN115034360A (zh) | 三维卷积神经网络卷积层的处理方法和处理装置 | |
Emeliyanenko | High-performance polynomial GCD computations on graphics processors | |
Du et al. | Providing GPU capability to LU and QR within the ScaLAPACK framework | |
Wang et al. | An FPGA-based reconfigurable CNN training accelerator using decomposable Winograd |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220406 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230606 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230816 |
|
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: 20231114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231207 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7401513 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |