JP2017138965A5 - - Google Patents

Download PDF

Info

Publication number
JP2017138965A5
JP2017138965A5 JP2016251060A JP2016251060A JP2017138965A5 JP 2017138965 A5 JP2017138965 A5 JP 2017138965A5 JP 2016251060 A JP2016251060 A JP 2016251060A JP 2016251060 A JP2016251060 A JP 2016251060A JP 2017138965 A5 JP2017138965 A5 JP 2017138965A5
Authority
JP
Japan
Prior art keywords
sparse
dense matrix
sparse element
dense
access unit
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
Application number
JP2016251060A
Other languages
English (en)
Other versions
JP2017138965A (ja
JP6524052B2 (ja
Filing date
Publication date
Priority claimed from US15/016,420 external-priority patent/US9805001B2/en
Application filed filed Critical
Publication of JP2017138965A publication Critical patent/JP2017138965A/ja
Publication of JP2017138965A5 publication Critical patent/JP2017138965A5/ja
Priority to JP2019085959A priority Critical patent/JP6978467B2/ja
Application granted granted Critical
Publication of JP6524052B2 publication Critical patent/JP6524052B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (21)

  1. 疎要素を密行列に変換するためのシステムであって、
    第1の密行列と関連付けられる疎要素をフェッチするよう構成された疎要素アクセスユニットの第1の群と、
    前記第1の密行列とは異なる第2の密行列と関連付けられる疎要素をフェッチするよう構成された疎要素アクセスユニットの第2の群とを備え、
    前記システムは、
    第1の密行列と関連付けられる疎要素および第2の密行列と関連付けられる疎要素を含む疎要素に基いた出力密行列に対する要求を受け、
    前記疎要素アクセスユニットの第1の群によってフェッチされる前記第1の密行列と関連付けられる疎要素を得、
    前記疎要素アクセスユニットの第2の群によってフェッチされる前記第2の密行列と関連付けられる疎要素を得、
    前記第1の密行列と関連付けられる疎要素および前記第2の密行列と関連付けられる疎要素を変換して、前記第1の密行列と関連付けられる疎要素および前記第2の密行列と関連付けられる疎要素を含む前記出力密行列を生成するよう構成される、システム。
  2. 前記疎要素アクセスユニットの第1の群は第1の疎要素アクセスユニットおよび第2の疎要素アクセスユニットを含み、
    前記第1の疎要素アクセスユニットは、前記第1の密行列と関連付けられる疎要素の第1の部分集合をフェッチするよう構成され、
    前記第2の疎要素アクセスユニットは、前記第1の密行列と関連付けられる疎要素の第2の異なる部分集合をフェッチするよう構成される、請求項1に記載のシステム。
  3. 前記第1の疎要素アクセスユニットは、
    前記第1の密行列と関連付けられる疎要素および前記第2の密行列と関連付けられる疎要素を含む複数個の疎要素に対する要求を受取り、
    前記要求を前記第2の疎要素アクセスユニットに送信するよう構成される、請求項2に記載のシステム。
  4. 前記第1の疎要素アクセスユニットは、
    前記複数個の疎要素のうちの特定の疎要素のアイデンティティが、前記第1の密行列と関連付けられる疎要素の前記第1の部分集合のうちの1つのアイデンティティと一致する、と判断するよう構成され、
    前記複数個の疎要素のうちの前記特定の疎要素のアイデンティティが、前記第1の密行列と関連付けられる疎要素の前記第1の部分集合のうちの1つのアイデンティティと一致する、と判断することに応じて、前記第1の疎要素アクセスユニットは、前記特定の疎要素を含む前記第1の密行列と関連付けられる疎要素の前記第1の部分集合をフェッチするよう構成される、請求項3に記載のシステム。
  5. 前記第1の疎要素アクセスユニットは、第1のデータ片から前記第1の密行列と関連付けられる疎要素の前記第1の部分集合をフェッチするよう構成され、
    前記第2の疎要素アクセスユニットは、第2の異なるデータ片から前記第1の密行列と関連付けられる疎要素の前記第2の異なる部分集合をフェッチするよう構成される、請求項2〜4のいずれか1項に記載のシステム。
  6. 前記第1の疎要素アクセスユニットは、前記第1の密行列と関連付けられる疎要素の前記第1の部分集合を変換して第3の密行列を生成するよう構成され、
    前記第2の疎要素アクセスユニットは、
    前記第3の密行列を受け、
    前記第2の密行列と関連付けられる疎要素の前記第2の部分集合を変換して第4の密行列を生成し、
    前記第3の密行列を前記第4の密行列とともに変換して、前記第1の密行列と関連付けられる疎要素の前記第1の部分集合および前記第1の密行列と関連付けられる疎要素の前記第2の部分集合を含む第5の密行列を生成するよう構成される、請求項2〜5のいずれか1項に記載のシステム。
  7. 前記疎要素アクセスユニットの第1の群および前記疎要素アクセスユニットの第2の群は二次元のメッシュ構成で配列される、請求項1〜6のいずれか1項に記載のシステム。
  8. 前記疎要素アクセスユニットの第1の群および前記疎要素アクセスユニットの第2の群は二次元の円環面構成で配列される、請求項1〜6のいずれか1項に記載のシステム。
  9. 前記第1の密行列と関連付けられる疎要素および前記第2の密行列と関連付けられる疎要素は多次元の行列であり、前記出力密行列はベクトルである、請求項1〜8のいずれか1項に記載のシステム。
  10. 疎要素を密行列に変換する方法であって、
    第1の密行列と関連付けられる疎要素および第2の密行列と関連付けられる疎要素を含む疎要素に基いた出力密行列に対する要求を受取ることと、
    疎要素アクセスユニットの第1の群によってフェッチされる前記第1の密行列と関連付けられる疎要素を得ることと、
    疎要素アクセスユニットの第2の群によってフェッチされる前記第2の密行列と関連付けられる疎要素を得ることと、
    前記第1の密行列と関連付けられる疎要素および前記第2の密行列と関連付けられる疎要素を変換して、前記第1の密行列と関連付けられる疎要素および前記第2の密行列と関連付けられる疎要素を含む出力密行列を生成することとを含む、疎要素を密行列に変換する方法。
  11. 前記疎要素アクセスユニットの第1の群は第1の疎要素アクセスユニットおよび第2の疎要素アクセスユニットを含み、前記方法はさらに、
    前記第1の疎要素アクセスユニットによって、前記第1の密行列と関連付けられる疎要素の第1の部分集合をフェッチすることと、
    前記第2の疎要素アクセスユニットによって、前記第1の密行列と関連付けられる疎要素の第2の異なる部分集合をフェッチすることとを含む、請求項10に記載の方法。
  12. 前記第1の疎要素アクセスユニットによって、前記第1の密行列と関連付けられる疎要素および前記第2の密行列と関連付けられる疎要素を含む複数個の疎要素に対する要求を受取ることと、
    前記第1の疎要素アクセスユニットによって、前記要求を前記第2の疎要素アクセスユニットに送信することとをさらに含む、請求項11に記載の方法。
  13. 前記第1の密行列と関連付けられる疎要素の前記第1の部分集合をフェッチすることは、さらに、
    前記第1の疎要素アクセスユニットによって、前記複数個の疎要素のうちの特定の疎要素のアイデンティティが、前記第1の密行列と関連付けられる疎要素の前記第1の部分集合のうちの1つのアイデンティティと一致する、と判断することと、
    前記複数個の疎要素のうちの前記特定の疎要素の前記アイデンティティが、前記第1の密行列と関連付けられる疎要素の前記第1の部分集合のうちの1つの前記アイデンティティと一致する、と判断することに応じて、前記特定の疎要素を含む前記第1の密行列と関連付けられる疎要素の前記第1の部分集合をフェッチすることとをさらに含む、請求項12に記載の方法。
  14. 前記第1の密行列と関連付けられる疎要素の前記第1の部分集合をフェッチすることは、さらに、
    第1のデータ片から前記第1の密行列と関連付けられる疎要素の前記第1の部分集合をフェッチすることを含み、
    前記第1の密行列と関連付けられる疎要素の前記第2の異なる部分集合をフェッチすることは、第2の異なるデータ片から前記第1の密行列と関連付けられる疎要素の前記第2の異なる部分集合をフェッチすることを含む、請求項11〜13のいずれか1項に記載の方法。
  15. 前記疎要素アクセスユニットの第1の群および前記疎要素アクセスユニットの第2の群は二次元のメッシュ構成で配列される、請求項10〜14のいずれか1項に記載の方法。
  16. 前記疎要素アクセスユニットの第1の群および前記疎要素アクセスユニットの第2の群は二次元の円環面構成で配列される、請求項10〜14のいずれか1項に記載の方法。
  17. 前記第1の密行列と関連付けられる疎要素および前記第2の密行列と関連付けられる疎要素は多次元の行列であり、前記出力密行列はベクトルである、請求項10〜16のいずれか1項に記載の方法。
  18. 疎要素を密行列に変換するためのシステムであって、
    第1の密行列と関連付けられる疎要素および第2の密行列と関連付けられる疎要素を含む疎要素に基いた出力密行列に対する要求を送信するよう構成される、1つ以上のプロセッサと、
    疎密変換ユニットとを含み、前記疎密変換ユニットは、
    前記第1の密行列と関連付けられる疎要素をフェッチするよう構成された疎要素アクセスユニットの第1の群と、
    前記第1の密行列とは異なる前記第2の密行列と関連付けられる疎要素をフェッチするよう構成された疎要素アクセスユニットの第2の群とを備え、
    前記疎密変換ユニットは、
    前記出力行列に対する前記要求を受け、
    前記疎要素アクセスユニットの第1の群によってフェッチされる前記第1の密行列と関連付けられる疎要素を得、
    前記疎要素アクセスユニットの第2の群によってフェッチされる前記第2の密行列と関連付けられる疎要素を得、
    前記第1の密行列と関連付けられる疎要素および前記第2の密行列と関連付けられる疎要素を変換して、前記第1の密行列と関連付けられる疎要素および前記第2の密行列と関連付けられる疎要素を含む前記出力密行列を生成するよう構成される、システム。
  19. 前記疎要素アクセスユニットの第1の群は第1の疎要素アクセスユニットおよび第2の疎要素アクセスユニットを含み、
    前記第1の疎要素アクセスユニットは、前記第1の密行列と関連付けられる疎要素の第1の部分集合をフェッチするよう構成され、
    前記第2の疎要素アクセスユニットは、前記第1の密行列と関連付けられる疎要素の第2の異なる部分集合をフェッチするよう構成される、請求項18に記載のシステム。
  20. 前記疎要素アクセスユニットの第1の群および前記疎要素アクセスユニットの第2の群は二次元の円環面構成で配列される、請求項18に記載のシステム。
  21. コンピュータデバイスによって実行されるコンピュータソフトウェアプログラムであって、
    前記コンピュータデバイスは、前記コンピュータソフトウェアプログラムに、請求項10〜17のいずれか1項に記載の方法を実行させる、コンピュータソフトウェアプログラム。
JP2016251060A 2016-02-05 2016-12-26 疎要素を密行列に変換するためのシステムおよび方法 Active JP6524052B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019085959A JP6978467B2 (ja) 2016-02-05 2019-04-26 疎要素を密行列に変換するためのシステムおよび方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/016,420 2016-02-05
US15/016,420 US9805001B2 (en) 2016-02-05 2016-02-05 Matrix processing apparatus

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019085959A Division JP6978467B2 (ja) 2016-02-05 2019-04-26 疎要素を密行列に変換するためのシステムおよび方法

Publications (3)

Publication Number Publication Date
JP2017138965A JP2017138965A (ja) 2017-08-10
JP2017138965A5 true JP2017138965A5 (ja) 2017-11-02
JP6524052B2 JP6524052B2 (ja) 2019-06-05

Family

ID=57708453

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2016251060A Active JP6524052B2 (ja) 2016-02-05 2016-12-26 疎要素を密行列に変換するためのシステムおよび方法
JP2019085959A Active JP6978467B2 (ja) 2016-02-05 2019-04-26 疎要素を密行列に変換するためのシステムおよび方法
JP2021147894A Active JP7187635B2 (ja) 2016-02-05 2021-09-10 疎要素を密行列に変換するためのシステムおよび方法
JP2022191957A Pending JP2023021171A (ja) 2016-02-05 2022-11-30 疎要素を密行列に変換するためのシステムおよび方法

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2019085959A Active JP6978467B2 (ja) 2016-02-05 2019-04-26 疎要素を密行列に変換するためのシステムおよび方法
JP2021147894A Active JP7187635B2 (ja) 2016-02-05 2021-09-10 疎要素を密行列に変換するためのシステムおよび方法
JP2022191957A Pending JP2023021171A (ja) 2016-02-05 2022-11-30 疎要素を密行列に変換するためのシステムおよび方法

Country Status (8)

Country Link
US (6) US9805001B2 (ja)
EP (2) EP3203382A1 (ja)
JP (4) JP6524052B2 (ja)
KR (4) KR101980365B1 (ja)
CN (2) CN107045493B (ja)
BR (1) BR102016030970A8 (ja)
SG (2) SG10201808521PA (ja)
TW (4) TWI718604B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9805001B2 (en) * 2016-02-05 2017-10-31 Google Inc. Matrix processing apparatus
US10521458B1 (en) * 2016-08-25 2019-12-31 Cyber Atomics, Inc. Efficient data clustering
US10635739B1 (en) 2016-08-25 2020-04-28 Cyber Atomics, Inc. Multidimensional connectivity graph-based tensor processing
US10489481B1 (en) 2017-02-24 2019-11-26 Cyber Atomics, Inc. Efficient matrix property determination with pipelining and parallelism
JP6912703B2 (ja) * 2017-02-24 2021-08-04 富士通株式会社 演算方法、演算装置、演算プログラム及び演算システム
US10936942B2 (en) 2017-11-21 2021-03-02 Google Llc Apparatus and mechanism for processing neural network tasks using a single chip package with multiple identical dies
CN108804684B (zh) * 2018-06-13 2020-11-03 北京搜狗科技发展有限公司 一种数据处理方法和装置
US10719323B2 (en) * 2018-09-27 2020-07-21 Intel Corporation Systems and methods for performing matrix compress and decompress instructions
CN113794709B (zh) * 2021-09-07 2022-06-24 北京理工大学 一种用于二值稀疏矩阵的混合编码方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752067A (en) 1990-11-13 1998-05-12 International Business Machines Corporation Fully scalable parallel processing system having asynchronous SIMD processing
US5765011A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5625836A (en) 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
GB2251320A (en) * 1990-12-20 1992-07-01 Motorola Ltd Parallel processor
JP2557175B2 (ja) * 1992-05-22 1996-11-27 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・システム
US5446908A (en) 1992-10-21 1995-08-29 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for pre-processing inputs to parallel architecture computers
US5644517A (en) 1992-10-22 1997-07-01 International Business Machines Corporation Method for performing matrix transposition on a mesh multiprocessor architecture having multiple processor with concurrent execution of the multiple processors
JP3348367B2 (ja) * 1995-12-06 2002-11-20 富士通株式会社 多重アクセス方法および多重アクセスキャッシュメモリ装置
JP3639206B2 (ja) * 2000-11-24 2005-04-20 富士通株式会社 共有メモリ型スカラ並列計算機における並列行列処理方法、及び記録媒体
ATE479147T1 (de) 2001-02-24 2010-09-15 Ibm Neuartiger massivparalleler supercomputer
KR100598667B1 (ko) 2001-02-24 2006-07-13 인터내셔널 비지네스 머신즈 코포레이션 클래스 네트워크 라우팅
US6961888B2 (en) 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US8380778B1 (en) * 2007-10-25 2013-02-19 Nvidia Corporation System, method, and computer program product for assigning elements of a matrix to processing threads with increased contiguousness
WO2011156247A2 (en) 2010-06-11 2011-12-15 Massachusetts Institute Of Technology Processor for large graph algorithm computations and matrix operations
US8549259B2 (en) 2010-09-15 2013-10-01 International Business Machines Corporation Performing a vector collective operation on a parallel computer having a plurality of compute nodes
US8996518B2 (en) * 2010-12-20 2015-03-31 Sas Institute Inc. Systems and methods for generating a cross-product matrix in a single pass through data using single pass levelization
CN102141976B (zh) 2011-01-10 2013-08-14 中国科学院软件研究所 稀疏矩阵的对角线数据存储方法及基于该方法的SpMV实现方法
US9665531B2 (en) 2012-06-13 2017-05-30 International Business Machines Corporation Performing synchronized collective operations over multiple process groups
US9170836B2 (en) * 2013-01-09 2015-10-27 Nvidia Corporation System and method for re-factorizing a square matrix into lower and upper triangular matrices on a parallel processor
JP6083300B2 (ja) * 2013-03-29 2017-02-22 富士通株式会社 プログラム、並列演算方法および情報処理装置
US9367519B2 (en) * 2013-08-30 2016-06-14 Microsoft Technology Licensing, Llc Sparse matrix data structure
US9471377B2 (en) 2013-11-13 2016-10-18 Reservoir Labs, Inc. Systems and methods for parallelizing and optimizing sparse tensor computations
CN103984527B (zh) * 2014-04-01 2017-12-15 杭州电子科技大学 优化稀疏矩阵向量乘提升不可压缩管流模拟效率的方法
US9715481B2 (en) 2014-06-27 2017-07-25 Oracle International Corporation Approach for more efficient use of computing resources while calculating cross product or its approximation for logistic regression on big data sets
US9898441B2 (en) * 2016-02-05 2018-02-20 Google Llc Matrix processing apparatus
US9805001B2 (en) * 2016-02-05 2017-10-31 Google Inc. Matrix processing apparatus

Similar Documents

Publication Publication Date Title
JP2017138965A5 (ja)
JP2019533854A5 (ja)
US11023801B2 (en) Data processing method and apparatus
JP2017138966A5 (ja)
JP2013533995A5 (ja)
JP6978467B2 (ja) 疎要素を密行列に変換するためのシステムおよび方法
JP7023917B2 (ja) 疎要素を密行列に変換するためのシステムおよび方法
JP2015072688A5 (ja)
JP2013534007A5 (ja)
CN115659113A (zh) 可编程矩阵处理引擎
JP2017534108A5 (ja)
JP2015512071A5 (ja)
JP2014513374A5 (ja)
JP2021522570A5 (ja)
CN106855952B (zh) 基于神经网络的计算方法及装置
JP2014096164A5 (ja)
JP2014534532A5 (ja)
JP2015531941A5 (ja)
US11675624B2 (en) Inference engine circuit architecture
JP2018059900A5 (ja)
JP2018022258A (ja) 重複検出装置、重複検出方法及び重複検出プログラム
CN110929854B (zh) 一种数据处理方法、装置及硬件加速器
Zhou et al. A Hadoop-based visualization and diagnosis framework for earth science data
JP2017509997A5 (ja)
JP2009005286A5 (ja)