JPWO2020106781A5 - - Google Patents

Download PDF

Info

Publication number
JPWO2020106781A5
JPWO2020106781A5 JP2021527941A JP2021527941A JPWO2020106781A5 JP WO2020106781 A5 JPWO2020106781 A5 JP WO2020106781A5 JP 2021527941 A JP2021527941 A JP 2021527941A JP 2021527941 A JP2021527941 A JP 2021527941A JP WO2020106781 A5 JPWO2020106781 A5 JP WO2020106781A5
Authority
JP
Japan
Prior art keywords
input
kernel
tensor
tile
vectors
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
JP2021527941A
Other languages
English (en)
Other versions
JP7271667B2 (ja
JP2022507825A (ja
Publication date
Priority claimed from US16/686,866 external-priority patent/US11301546B2/en
Application filed filed Critical
Publication of JP2022507825A publication Critical patent/JP2022507825A/ja
Publication of JPWO2020106781A5 publication Critical patent/JPWO2020106781A5/ja
Application granted granted Critical
Publication of JP7271667B2 publication Critical patent/JP7271667B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (20)

  1. 出力アクティベーションを生成するためにカーネルの重みによって修正された入力値の畳み込みを効率的に計算する方法であって、
    入力ストリーム生成器で、前記カーネルと、前記入力値を含む入力テンソルとを受け取るステップと、
    前記入力ストリーム生成器によって、前記入力テンソルを複数のタイルに分割するステップであって、各タイルは、前記カーネルのサイズに等しいサイズを有する、ステップと、
    前記入力ストリーム生成器によって、記複数のタイル内の前記入力値を複数の平滑化された入力ベクトルに平滑化するステップと、
    拡張カーネル生成器によって、前記カーネルを複数のカーネルベクトルを有する前記カーネルの拡張バージョンに拡張するステップであって、前記カーネルベクトルの数が前記入力テンソルの各タイル内の要素の数に等しい、ステップと、
    前記入力ストリーム生成器と前記拡張カーネル生成器とに結合される乗加算ユニットによって、前記複数の平滑化された入力ベクトルと前記複数のカーネルベクトルとの間の前記畳み込みを実行して、前記入力テンソルの各タイルについての前記出力アクティベーションの出力タイルを生成するステップと
    を備える、方法。
  2. 前記入力ストリーム生成器によって、前記出力アクティベーションのサイズが前記入力テンソルのサイズと同じであるように、前記入力テンソルをパディング値によりパディングするステップ
    をさらに備える請求項1に記載の方法。
  3. 前記入力ストリーム生成器によって、前記入力テンソルの各次元のサイズが前記カーネルの対応する次元の整数倍になるように、前記入力テンソルをパディング値によりパディングするステップ
    をさらに備える請求項1に記載の方法。
  4. 前記入力ストリーム生成器によって、前記入力テンソルの各次元のトレーリングエッジを、前記カーネルの対応する次元のサイズに等しい幅を有するパディング値によりパディングするステップ
    をさらに備える請求項1に記載の方法。
  5. 前記パディング値は、0の値である、請求項4に記載の方法。
  6. 前記カーネルの第1の辺と前記カーネルの第2の辺とは互いに垂直であり、前記第1の辺は、前記第2の辺とは異なる長さであり、前記方法は、
    前記入力ストリーム生成器によって、前記入力テンソルにわたる前記カーネルのストライドの方向にアラインされた順序で、前記入力テンソルを分割するステップ
    をさらに備える請求項1に記載の方法。
  7. 前記カーネルの第1の辺と前記カーネルの第2の辺とは互いに垂直であり、前記第1の辺は、前記第2の辺とは異なる長さであり、前記方法は、
    前記入力ストリーム生成器によって、前記入力テンソルにわたる前記カーネルのストライドの方向と直交する順序で、前記入力テンソルを分割するステップ
    をさらに備える請求項1に記載の方法。
  8. 前記複数のタイルの前記入力値を平滑化するステップは、
    前記複数のタイルの各々について、
    前記入力ストリーム生成器によって、前記各タイルの前記入力値のセットに定義された順序でアクセスするステップと、
    前記入力ストリーム生成器によって、前記定義された順序に従ってベクトル内に前記アクセスされた入力値を配置するステップと、
    前記入力ストリーム生成器によって、前記複数のタイルに対応する複数のベクトルを平行な構成で配置して、前記複数の平滑化された入力ベクトルを含む平滑化された入力ストリームを生成するステップと
    をさらに含む請求項1に記載の方法。
  9. 前記定義された順序は、行優先順序、列優先順序、およびアイル優先順序のうちの少なくとも1つであり、前記アイル優先順序は、3次元(3D)タイル内の要素に、まず、3Dタイルの深さに対応する軸に沿ってアクセスし、続いて、前記3Dタイルの幅および前記3Dタイルの高さに対応する軸に沿って、アクセスする、
    請求項8に記載の方法。
  10. 前記複数の平滑化された入力ベクトルを含む平滑化された入力ストリームは、バッファに記憶され、前記バッファは、乗加算演算の実行ためにハードウェアアクセラレーテッドプロセッサによって読み取られ、前記乗加算演算は、前記乗加算ユニットによって、1)制御パターンによって選択される、前記平滑化された入力ストリーム内の入力値と、2)前記複数のカーネルベクトルとの間で実行され、前記入力値を前記バッファ内へ複数回ロードすることなく、前記出力アクティベーションを生成する
    請求項1に記載の方法。
  11. 前記入力テンソルは、複数の入力チャネルを有し、前記カーネルは、複数のフィルタを有し、前記入力チャネルは、各カーネルフィルタを用いて畳み込まれて、複数の出力チャネルを有する出力が生成される、
    請求項1に記載の方法。
  12. プロセッサ回路であって、
    カーネルと、入力値を含む入力テンソルとを受け取り、
    前記入力テンソルを複数のタイルに分割することであって、各タイルは、前記カーネルのサイズに等しいサイズを有し、
    前記複数のタイル内の前記入力値を複数の平滑化された入力ベクトルに平滑化するように構成される入力ストリーム生成器と、
    前記カーネルを複数のカーネルベクトルを有する前記カーネルの拡張されたバージョンに拡張するように構成される拡張カーネル生成器であって、前記カーネルベクトルの数が前記入力テンソルの各タイル内の要素の数に等しい拡張カーネル生成器と、
    前記入力ストリーム生成器と前記拡張カーネル生成器とに結合される乗加算ユニットであって、前記複数の平滑化された入力ベクトルと前記複数のカーネルベクトルとの間の畳み込みを実行し、前記入力テンソルの各タイルについての出力アクティベーションの出力タイルを生成する乗加算ユニットと、
    を備える、プロセッサ回路
  13. 前記入力ストリーム生成器は、
    前記出力アクティベーションのサイズが前記入力テンソルのサイズと同じであるように、前記入力テンソルをパディング値によりパディングするようにさらに構成される請求項12に記載のプロセッサ回路
  14. 前記入力ストリーム生成器は、
    前記入力テンソルの各次元のサイズが、前記カーネルの対応する次元の整数倍となるように、前記入力テンソルをパディング値によりパディングするようにさらに構成される請求項12に記載のプロセッサ回路
  15. 前記入力ストリーム生成器は、
    前記入力テンソルの各次元のトレーリングエッジを、前記カーネルの対応する次元のサイズに等しい幅を有するパディング値によりパディングするようにさらに構成される請求項12に記載のプロセッサ回路
  16. 前記パディング値は、0の値である、請求項15に記載のプロセッサ回路
  17. 前記カーネルの第1の辺と前記カーネルの第2の辺とは互いに垂直であり、前記第1の辺は、前記第2の辺とは異なる長さであり、前記入力ストリーム生成器は、
    前記入力テンソルにわたる前記カーネルのストライドの方向にアラインされた順序で、前記入力テンソルを分割するようにさらに構成される請求項12に記載のプロセッサ回路
  18. 前記カーネルの第1の辺と前記カーネルの第2の辺とは互いに垂直であり、前記第1の辺は、前記第2の辺とは異なる長さであり、前記入力ストリーム生成器は、
    前記入力テンソルにわたる前記カーネルのストライドの方向と直交する順序で、前記入力テンソルを分割するようにさらに構成される請求項12に記載のプロセッサ回路
  19. 前記入力ストリーム生成器は、
    前記複数のタイルの各々について、
    前記各タイルの前記入力値のセットに定義された順序でアクセスすることと、
    前記定義された順序に従って、ベクトル内に前記アクセスされた入力値を配置することと、
    記複数のタイルに対応する複数のベクトルを平行な構成で配置して、前記複数の平滑化された入力ベクトルを含む平滑化された入力ストリームを生成することと
    を行うようにさらに構成される請求項12に記載のプロセッサ回路。
  20. 前記定義された順序は、行優先順序、列優先順序、およびアイル優先順序のうちの少なくとも1つであり、前記アイル優先順序は、3次元(3D)タイル内の要素に、まず、3Dタイルの深さに対応する軸に沿ってアクセスし、続いて、前記3Dタイルの幅および前記3Dタイルの高さに対応する軸に沿って、アクセスする、
    請求項19に記載のプロセッサ回路
JP2021527941A 2018-11-19 2019-11-19 行列の空間局所性変換 Active JP7271667B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201862769444P 2018-11-19 2018-11-19
US62/769,444 2018-11-19
US16/686,866 US11301546B2 (en) 2018-11-19 2019-11-18 Spatial locality transform of matrices
US16/686,870 2019-11-18
US16/686,864 US11204976B2 (en) 2018-11-19 2019-11-18 Expanded kernel generation
US16/686,870 US11537687B2 (en) 2018-11-19 2019-11-18 Spatial locality transform of matrices
US16/686,858 2019-11-18
US16/686,866 2019-11-18
US16/686,864 2019-11-18
US16/686,858 US11455370B2 (en) 2018-11-19 2019-11-18 Flattened input stream generation for convolution with expanded kernel
PCT/US2019/062303 WO2020106781A1 (en) 2018-11-19 2019-11-19 Spatial locality transform of matrices

Publications (3)

Publication Number Publication Date
JP2022507825A JP2022507825A (ja) 2022-01-18
JPWO2020106781A5 true JPWO2020106781A5 (ja) 2022-11-22
JP7271667B2 JP7271667B2 (ja) 2023-05-11

Family

ID=70727950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021527941A Active JP7271667B2 (ja) 2018-11-19 2019-11-19 行列の空間局所性変換

Country Status (7)

Country Link
US (6) US11301546B2 (ja)
EP (1) EP3884404A1 (ja)
JP (1) JP7271667B2 (ja)
KR (2) KR20230113851A (ja)
CN (1) CN113039541A (ja)
TW (2) TWI819145B (ja)
WO (1) WO2020106781A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102637733B1 (ko) * 2018-10-31 2024-02-19 삼성전자주식회사 뉴럴 네트워크 프로세서 및 그것의 컨볼루션 연산 방법
CN117785441A (zh) * 2018-12-06 2024-03-29 华为技术有限公司 处理数据的方法和数据处理装置
CN110399591B (zh) * 2019-06-28 2021-08-31 苏州浪潮智能科技有限公司 基于卷积神经网络的数据处理方法和装置
US11675998B2 (en) * 2019-07-15 2023-06-13 Meta Platforms Technologies, Llc System and method for performing small channel count convolutions in energy-efficient input operand stationary accelerator
US20210034956A1 (en) * 2019-07-29 2021-02-04 Hysai Inc. Minimum memory digital convolver
US11494608B2 (en) * 2019-08-14 2022-11-08 Intel Corporation Methods and apparatus to tile walk a tensor for convolution operations
US11194549B2 (en) * 2019-10-25 2021-12-07 Arm Limited Matrix multiplication system, apparatus and method
US11513799B2 (en) * 2019-11-04 2022-11-29 Apple Inc. Chained buffers in neural network processor
US20210173662A1 (en) * 2019-12-05 2021-06-10 International Business Machines Corporation Processor unit for multiply and accumulate operations
US11144615B1 (en) * 2020-04-14 2021-10-12 Apple Inc. Circuit for performing pooling operation in neural processor
KR20210156554A (ko) * 2020-06-18 2021-12-27 삼성전자주식회사 텐서 처리 방법, 가속기 및 이를 포함한 전자 장치
KR20220001821A (ko) * 2020-06-30 2022-01-06 삼성전자주식회사 텐서 처리 방법, 가속기 및 이를 포함한 가속기 시스템
CN111506520B (zh) * 2020-07-01 2020-09-22 腾讯科技(深圳)有限公司 一种地址生成的方法、相关装置以及存储介质
US11972348B2 (en) 2020-10-30 2024-04-30 Apple Inc. Texture unit circuit in neural network processor
US11972349B1 (en) * 2020-11-12 2024-04-30 Meta Platforms, Inc. Flexible compute array utilization in a tensor processor
KR20220069616A (ko) * 2020-11-20 2022-05-27 삼성전자주식회사 컨볼루션 인공지능 신경망 모델을 압축하는 전자 장치 및 이를 제어하는 방법
US20220164663A1 (en) * 2020-11-24 2022-05-26 Arm Limited Activation Compression Method for Deep Learning Acceleration
KR20220094787A (ko) * 2020-12-29 2022-07-06 주식회사 딥엑스 인공 신경망 모델의 커널을 생성할 수 있는 npu 및 그 방법
US11232360B1 (en) 2021-03-29 2022-01-25 SambaNova Systems, Inc. Lossless tiling in convolution networks—weight gradient calculation
US11250061B1 (en) * 2021-03-29 2022-02-15 SambaNova Systems, Inc. Lossless tiling in convolution networks—read-modify-write in backward pass
US11227207B1 (en) 2021-03-29 2022-01-18 SambaNova Systems, Inc. Lossless tiling in convolution networks—section boundaries
US11263170B1 (en) 2021-03-29 2022-03-01 SambaNova Systems, Inc. Lossless tiling in convolution networks—padding before tiling, location-based tiling, and zeroing-out
US11195080B1 (en) 2021-03-29 2021-12-07 SambaNova Systems, Inc. Lossless tiling in convolution networks—tiling configuration
US11797270B2 (en) 2021-06-17 2023-10-24 International Business Machines Corporation Single function to perform multiple operations with distinct operation parameter validation
US20220405598A1 (en) * 2021-06-17 2022-12-22 International Business Machines Corporation Concatenated input/output tensors for use in recurrent neural networks
US20220405348A1 (en) * 2021-06-17 2022-12-22 International Business Machines Corporation Reformatting of tensors to provide sub-tensors
US20230004352A1 (en) * 2021-07-04 2023-01-05 Numenta, Inc. Hardware architecture for processing tensors with complementary sparsity
US11882206B2 (en) * 2021-08-15 2024-01-23 International Business Machines Corporation Efficient convolution in an environment that enforces tiles
US20240028556A1 (en) * 2022-07-25 2024-01-25 Xilinx, Inc. Reconfigurable neural engine with extensible instruction set architecture
US20230008622A1 (en) * 2022-09-22 2023-01-12 Richard Boyd Kernel Decomposition and Activation Broadcasting in Deep Neural Networks (DNNs)
US11880503B1 (en) 2022-12-19 2024-01-23 Rockwell Collins, Inc. System and method for pose prediction in head worn display (HWD) headtrackers

Family Cites Families (158)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4670856A (en) 1985-03-07 1987-06-02 Matsushita Electric Industrial Co., Ltd. Data storage apparatus
US5058001A (en) 1987-03-05 1991-10-15 International Business Machines Corporation Two-dimensional array of processing elements for emulating a multi-dimensional network
US5195056A (en) 1987-05-21 1993-03-16 Texas Instruments, Incorporated Read/write memory having an on-chip input data register, having pointer circuits between a serial data register and input/output buffer circuits
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
US5146543A (en) * 1990-05-22 1992-09-08 International Business Machines Corp. Scalable neural array processor
GB9027663D0 (en) * 1990-12-20 1991-02-13 Sandoz Ltd Light-stabilizing compositions
US5488729A (en) 1991-05-15 1996-01-30 Ross Technology, Inc. Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution
US5689719A (en) * 1991-06-28 1997-11-18 Sanyo Electric O., Ltd. Parallel computer system including processing elements
US5594915A (en) 1991-11-13 1997-01-14 Atalla; Martin M. Microcell computer system and method using cell access switch and functionally partitioned moving memory architecture
US5333279A (en) 1992-06-01 1994-07-26 Intel Corporation Self-timed mesh routing chip with data broadcasting
US6298162B1 (en) 1992-12-23 2001-10-02 Lockheed Martin Corporation Image compression/expansion using parallel decomposition/recomposition
US6434266B1 (en) 1993-12-17 2002-08-13 Canon Kabushiki Kaisha Image processing method and apparatus for converting colors in a color image
US5541914A (en) 1994-01-19 1996-07-30 Krishnamoorthy; Ashok V. Packet-switched self-routing multistage interconnection network having contention-free fanout, low-loss routing, and fanin buffering to efficiently realize arbitrarily low packet loss
US5794062A (en) 1995-04-17 1998-08-11 Ricoh Company Ltd. System and method for dynamically reconfigurable computing using a processing unit having changeable internal hardware organization
US20030206527A1 (en) 1995-10-02 2003-11-06 Telefonaktiebolaget Lm Ericsson Transmitting data between multiple computer processors
US8583895B2 (en) 1996-05-15 2013-11-12 Nytell Software LLC Compressed instruction format for use in a VLIW processor
US5796745A (en) 1996-07-19 1998-08-18 International Business Machines Corporation Memory array built-in self test circuit for testing multi-port memory arrays
US5889413A (en) 1996-11-22 1999-03-30 Xilinx, Inc. Lookup tables which double as shift registers
US5842034A (en) 1996-12-20 1998-11-24 Raytheon Company Two dimensional crossbar mesh for multi-processor interconnect
US5958041A (en) 1997-06-26 1999-09-28 Sun Microsystems, Inc. Latency prediction in a pipelined microarchitecture
CN1304520A (zh) 1997-11-17 2001-07-18 西加特技术有限责任公司 用于环路初始化和响应的专用帧缓存器及其方法
JP3786521B2 (ja) 1998-07-01 2006-06-14 株式会社日立製作所 半導体集積回路及びデータ処理システム
GB9900432D0 (en) 1999-01-08 1999-02-24 Xilinx Inc Linear feedback shift register in a progammable gate array
US6243808B1 (en) 1999-03-08 2001-06-05 Chameleon Systems, Inc. Digital data bit order conversion using universal switch matrix comprising rows of bit swapping selector groups
FR2795840B1 (fr) 1999-07-02 2001-08-31 Commissariat Energie Atomique Reseau de processeurs paralleles avec tolerance aux fautes de ces processeurs, et procede de reconfiguration applicable a un tel reseau
US6701028B1 (en) * 2000-01-11 2004-03-02 Applied Materials, Inc. Method and apparatus for fast signal convolution using spline kernel
EP1261910A2 (en) 2000-03-08 2002-12-04 Sun Microsystems, Inc. Vliw computer processing architecture having a scalable number of register files
US9525696B2 (en) 2000-09-25 2016-12-20 Blue Coat Systems, Inc. Systems and methods for processing data flows
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7181484B2 (en) 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output
US7539825B2 (en) 2001-10-25 2009-05-26 Samsung Electronics Co., Ltd. Multi-port memory device providing protection signal
US7046181B2 (en) 2001-11-21 2006-05-16 Analog Devices, Inc. 2n-1 Shuffling network
US6795003B2 (en) 2003-01-30 2004-09-21 Broadcom Corporation Hardware-efficient implementation of dynamic element matching in sigma-delta DAC's
FR2837784B1 (fr) 2002-03-28 2004-05-28 Eurocopter France Rotor de giravion a entrainement homocinetique avec differentiel de partage de couple
US7343472B2 (en) 2002-10-22 2008-03-11 Broadcom Corporation Processor having a finite field arithmetic unit utilizing an array of multipliers and adders
US7236995B2 (en) 2002-12-27 2007-06-26 Arm Limited Data processing apparatus and method for converting a number between fixed-point and floating-point representations
US7574466B2 (en) 2003-04-23 2009-08-11 Micron Technology, Inc. Method for finding global extrema of a set of shorts distributed across an array of parallel processing elements
JP4256210B2 (ja) 2003-06-12 2009-04-22 株式会社半導体理工学研究センター 同期バンク型メモリ
US7015913B1 (en) * 2003-06-27 2006-03-21 Nvidia Corporation Method and apparatus for multithreaded processing of data in a programmable graphics processor
US7272730B1 (en) * 2003-07-31 2007-09-18 Hewlett-Packard Development Company, L.P. Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform
US7421559B1 (en) 2003-12-18 2008-09-02 Cypress Semiconductor Corporation Apparatus and method for a synchronous multi-port memory
US7339941B2 (en) 2004-02-13 2008-03-04 Broadcom Corporation Connecting ethernet based system on a chip integrated circuits in a ring topology
US8689202B1 (en) 2004-03-30 2014-04-01 Synopsys, Inc. Scheduling of instructions
US20050273559A1 (en) 2004-05-19 2005-12-08 Aris Aristodemou Microprocessor architecture including unified cache debug unit
US7467325B2 (en) 2005-02-10 2008-12-16 International Business Machines Corporation Processor instruction retry recovery
US7681187B2 (en) 2005-03-31 2010-03-16 Nvidia Corporation Method and apparatus for register allocation in presence of hardware constraints
WO2006117746A1 (en) 2005-05-04 2006-11-09 Nxp B.V. Memory controller and method for controlling access to a memory, as well as system comprising a memory controller
US7965725B2 (en) 2005-05-31 2011-06-21 Stmicroelectronics, Inc. Hyper-ring-on-chip (HyRoC) architecture
US9009660B1 (en) * 2005-11-29 2015-04-14 Tilera Corporation Programming in a multiprocessor environment
US8205200B2 (en) 2005-11-29 2012-06-19 Intel Corporation Compiler-based scheduling optimization hints for user-level threads
US7805392B1 (en) * 2005-11-29 2010-09-28 Tilera Corporation Pattern matching in a multiprocessor environment with finite state automaton transitions based on an order of vectors in a state transition table
US7861060B1 (en) * 2005-12-15 2010-12-28 Nvidia Corporation Parallel data processing systems and methods using cooperative thread arrays and thread identifier values to determine processing behavior
US7590964B1 (en) 2005-12-19 2009-09-15 Tensilica, Inc. Method and system for automatic generation of processor datapaths using instruction set architecture implementing means
CN101341473B (zh) 2005-12-20 2010-11-17 Nxp股份有限公司 具有共享存储体的多处理器电路
US8194690B1 (en) 2006-05-24 2012-06-05 Tilera Corporation Packet processing in a parallel processing environment
US8089959B2 (en) 2006-05-30 2012-01-03 Ted Henryk Szymanski Method and apparatus to schedule packets through a crossbar switch with delay guarantees
US7912889B1 (en) 2006-06-16 2011-03-22 Nvidia Corporation Mapping the threads of a CTA to the elements of a tile for efficient matrix multiplication
US7640528B1 (en) 2006-08-04 2009-12-29 Altera Corporation Hardware acceleration of functional factoring
US20080126761A1 (en) 2006-09-26 2008-05-29 Fontenot Nathan D Method and apparatus for scheduling optimization
US8181168B1 (en) 2007-02-07 2012-05-15 Tilera Corporation Memory access assignment for parallel processing architectures
US8276164B2 (en) * 2007-05-03 2012-09-25 Apple Inc. Data parallel computing on multiple processors
US8285766B2 (en) 2007-05-23 2012-10-09 The Trustees Of Princeton University Microprocessor shifter circuits utilizing butterfly and inverse butterfly routing circuits, and control circuits therefor
TW200926033A (en) 2007-07-18 2009-06-16 Steven Kays Adaptive electronic design
US8001334B2 (en) 2007-12-06 2011-08-16 Silicon Image, Inc. Bank sharing and refresh in a shared multi-port memory device
US8923510B2 (en) * 2007-12-28 2014-12-30 Intel Corporation Method and apparatus for efficiently implementing the advanced encryption standard
EP2238027B1 (en) 2008-01-04 2015-03-11 Bell Helicopter Textron Inc. Constant-velocity joint with torque-combining differential
FR2936626B1 (fr) 2008-09-30 2011-03-25 Commissariat Energie Atomique Dispositif de traitement en parallele d'un flux de donnees
US8286172B2 (en) * 2008-10-02 2012-10-09 Nec Laboratories America, Inc. Systems and methods for implementing best-effort parallel computing frameworks
US9442846B2 (en) 2009-03-17 2016-09-13 Cisco Technology, Inc. High speed memory systems and methods for designing hierarchical memory systems
US8655937B1 (en) 2009-04-29 2014-02-18 Nvidia Corporation High precision integer division using low precision hardware operations and rounding techniques
US8407167B1 (en) 2009-06-19 2013-03-26 Google Inc. Method for optimizing memory controller configuration in multi-core processors using fitness metrics and channel loads
US8417778B2 (en) 2009-12-17 2013-04-09 International Business Machines Corporation Collective acceleration unit tree flow control and retransmit
WO2011079942A1 (en) 2009-12-28 2011-07-07 Hyperion Core, Inc. Optimisation of loops and data flow sections
GB201001621D0 (en) 2010-02-01 2010-03-17 Univ Catholique Louvain A tile-based processor architecture model for high efficiency embedded homogenous multicore platforms
US8345540B2 (en) 2010-04-13 2013-01-01 Calix, Inc. Virtual snooping bridge in computer networks
US8830993B1 (en) 2010-05-27 2014-09-09 Ciena Corporation Extensible time space switch systems and methods for high capacity multi-service applications
US8380940B2 (en) 2010-06-25 2013-02-19 Qualcomm Incorporated Multi-channel multi-port memory
US8850262B2 (en) 2010-10-12 2014-09-30 International Business Machines Corporation Inter-processor failure detection and recovery
CN103534693B (zh) 2010-11-22 2016-08-24 马维尔国际贸易有限公司 在客户端之间共享对存储器的访问的方法和设备
KR101738641B1 (ko) 2010-12-17 2017-05-23 삼성전자주식회사 멀티 코어 시스템의 프로그램 컴파일 장치 및 방법
US9432298B1 (en) 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
JP5870505B2 (ja) 2011-04-28 2016-03-01 富士通株式会社 歪補償装置及び歪補償方法
US9563851B2 (en) 2011-06-07 2017-02-07 Analog Devices, Inc. Programmable probability processing
US8775754B2 (en) 2011-06-24 2014-07-08 Arm Limited Memory controller and method of selecting a transaction using a plurality of ordered lists
US8553683B2 (en) 2011-07-05 2013-10-08 Plx Technology, Inc. Three dimensional fat tree networks
ITRM20110563A1 (it) 2011-10-27 2013-04-28 K4A S R L "giunto cardanico omocinetico per rotori di elicottero"
US9639490B2 (en) 2011-11-29 2017-05-02 Intel Corporation Ring protocol for low latency interconnect switch
US9262216B2 (en) 2012-02-14 2016-02-16 Microsoft Technologies Licensing, LLC Computing cluster with latency control
US10936569B1 (en) * 2012-05-18 2021-03-02 Reservoir Labs, Inc. Efficient and scalable computations with sparse tensors
US8989220B2 (en) 2012-05-25 2015-03-24 Cavium, Inc. High speed variable bandwidth ring-based system
JP6214235B2 (ja) 2012-07-02 2017-10-18 キヤノン株式会社 ファイル生成方法、ファイル生成装置、及びプログラム
KR102107591B1 (ko) 2012-07-18 2020-05-07 가부시키가이샤 한도오따이 에네루기 켄큐쇼 기억 소자 및 프로그래머블 로직 디바이스
US9594724B2 (en) 2012-08-09 2017-03-14 International Business Machines Corporation Vector register file
US9557993B2 (en) 2012-10-23 2017-01-31 Analog Devices Global Processor architecture and method for simplifying programming single instruction, multiple data within a register
US20140181171A1 (en) * 2012-12-24 2014-06-26 Pavel Dourbal Method and system for fast tensor-vector multiplication
US20140281284A1 (en) 2013-03-13 2014-09-18 Lsi Corporation Multi-read port memory
US9146747B2 (en) 2013-08-08 2015-09-29 Linear Algebra Technologies Limited Apparatus, systems, and methods for providing configurable computational imaging pipeline
EP3080708B1 (en) 2013-12-12 2020-02-05 Marvell World Trade Ltd. Method and apparatus for transferring information within and between system-on-chips via intra-chip and inter-chip hopping buses
US10382595B2 (en) 2014-01-29 2019-08-13 Smart Security Systems Llc Systems and methods for protecting communications
US10452992B2 (en) 2014-06-30 2019-10-22 Amazon Technologies, Inc. Interactive interfaces for machine learning model evaluations
US9335947B2 (en) 2014-06-30 2016-05-10 Raytheon Company Inter-processor memory
US10223333B2 (en) 2014-08-29 2019-03-05 Nvidia Corporation Performing multi-convolution operations in a parallel processing system
US9753667B2 (en) 2015-02-19 2017-09-05 Avago Technologies General Ip (Singapore) Pte. Ltd. High bandwidth memory and glitch-less differential XOR
US10089018B2 (en) 2015-05-07 2018-10-02 Marvell Israel (M.I.S.L) Ltd. Multi-bank memory with multiple read ports and multiple write ports per cycle
US9747546B2 (en) 2015-05-21 2017-08-29 Google Inc. Neural network processor
US9805303B2 (en) * 2015-05-21 2017-10-31 Google Inc. Rotating data for neural network computations
US10049322B2 (en) 2015-05-21 2018-08-14 Google Llc Prefetching weights for use in a neural network processor
US10438117B1 (en) 2015-05-21 2019-10-08 Google Llc Computing convolutions using a neural network processor
US9825809B2 (en) 2015-05-29 2017-11-21 Netspeed Systems Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
US10318307B2 (en) 2015-06-17 2019-06-11 Mediatek, Inc. Scalarization of vector processing
CN105024960B (zh) 2015-06-23 2018-11-09 大唐移动通信设备有限公司 一种dpd系统
EP3329433A1 (en) 2015-07-29 2018-06-06 Illinois Tool Works Inc. System and method to facilitate welding software as a service
US9690938B1 (en) 2015-08-05 2017-06-27 Invincea, Inc. Methods and apparatus for machine learning based malware detection
US9767381B2 (en) * 2015-09-22 2017-09-19 Xerox Corporation Similarity-based detection of prominent objects using deep CNN pooling layers as features
US20170085475A1 (en) 2015-09-23 2017-03-23 Qualcomm Incorporated Configurable and scalable bus interconnect for multi-core, multi-threaded wireless baseband modem architecture
US9703531B2 (en) 2015-11-12 2017-07-11 Arm Limited Multiplication of first and second operands using redundant representation
US10061748B2 (en) 2015-12-11 2018-08-28 Sap Se Adaptive tile matrix representation and multiplication
US20170177352A1 (en) 2015-12-18 2017-06-22 Intel Corporation Instructions and Logic for Lane-Based Strided Store Operations
US20170185402A1 (en) * 2015-12-23 2017-06-29 Intel Corporation Instructions and logic for bit field address and insertion
US10068041B2 (en) 2016-02-01 2018-09-04 King Fahd University Of Petroleum And Minerals Multi-core compact executable trace processor
US11055063B2 (en) * 2016-05-02 2021-07-06 Marvell Asia Pte, Ltd. Systems and methods for deep learning processor
US10178161B2 (en) 2016-05-11 2019-01-08 Microsoft Technology Licensing, Llc Digital signal processing over data streams
US10291923B2 (en) 2016-05-24 2019-05-14 Qualcomm Incorporated Mapping of tile grouping and samples in HEVC and L-HEVC file formats
CN107526709A (zh) 2016-06-15 2017-12-29 辉达公司 使用低精度格式的张量处理
US20180046903A1 (en) 2016-08-12 2018-02-15 DeePhi Technology Co., Ltd. Deep processing unit (dpu) for implementing an artificial neural network (ann)
US9646243B1 (en) 2016-09-12 2017-05-09 International Business Machines Corporation Convolutional neural networks using resistive processing unit array
IL281321B (en) * 2016-10-04 2022-07-01 Magic Leap Inc Efficient data layouts for convolutional neural networks
US10175980B2 (en) 2016-10-27 2019-01-08 Google Llc Neural network compute tile
US10949736B2 (en) 2016-11-03 2021-03-16 Intel Corporation Flexible neural network accelerator and methods therefor
US10733505B2 (en) * 2016-11-10 2020-08-04 Google Llc Performing kernel striding in hardware
US10320390B1 (en) 2016-11-17 2019-06-11 X Development Llc Field programmable gate array including coupled lookup tables
US11196587B2 (en) 2016-11-23 2021-12-07 DeGirum Corporation Permutated ring network
US10417560B2 (en) 2016-12-01 2019-09-17 Via Alliance Semiconductor Co., Ltd. Neural network unit that performs efficient 3-dimensional convolutions
US10521488B1 (en) 2016-12-30 2019-12-31 X Development Llc Dynamic partitioning
US10586148B2 (en) 2016-12-31 2020-03-10 Via Alliance Semiconductor Co., Ltd. Neural network unit with re-shapeable memory
US10574585B2 (en) 2017-01-07 2020-02-25 International Business Machines Corporation Resource usage management in a stream computing environment
US9959247B1 (en) * 2017-02-17 2018-05-01 Google Llc Permuting in a matrix-vector processor
US11132599B2 (en) 2017-02-28 2021-09-28 Microsoft Technology Licensing, Llc Multi-function unit for programmable hardware nodes for neural network processing
US9691019B1 (en) 2017-03-07 2017-06-27 Google Inc. Depth concatenation using a matrix computation unit
JP6960479B2 (ja) 2017-03-14 2021-11-05 アズールエンジン テクノロジーズ ヂュハイ インク.Azurengine Technologies Zhuhai Inc. 再構成可能並列処理
EP3602278B1 (en) 2017-03-20 2022-09-28 Intel Corporation Systems, methods, and apparatuses for tile matrix multiplication and accumulation
US10235735B2 (en) * 2017-04-10 2019-03-19 Intel Corporation Graphics processor with tiled compute kernels
US10838910B2 (en) 2017-04-27 2020-11-17 Falcon Computing Systems and methods for systolic array design from a high-level program
US10726514B2 (en) 2017-04-28 2020-07-28 Intel Corporation Compute optimizations for low precision machine learning operations
US10915319B2 (en) 2017-05-15 2021-02-09 Google Llc Two dimensional masked shift instruction
WO2018222896A1 (en) * 2017-05-31 2018-12-06 Intel Corporation Gradient-based training engine for quaternion-based machine-learning systems
US10789020B2 (en) 2017-06-12 2020-09-29 Pure Storage, Inc. Recovering data within a unified storage element
US10167800B1 (en) 2017-08-18 2019-01-01 Microsoft Technology Licensing, Llc Hardware node having a matrix vector unit with block-floating point processing
US11114138B2 (en) 2017-09-15 2021-09-07 Groq, Inc. Data structures with multiple read ports
WO2019057281A1 (en) 2017-09-21 2019-03-28 Huawei Technologies Co., Ltd. MULTI-WIRE SYSTOLIC NETWORK
US20190089619A1 (en) 2017-09-21 2019-03-21 Qualcomm Incorporated Self-test engine for network on chip
US20190244080A1 (en) * 2018-02-02 2019-08-08 Wisconsin Alumni Research Foundation Neural Network Processor with On-Chip Convolution Kernel Storage
CN111919202A (zh) 2018-03-31 2020-11-10 美光科技公司 多线程自调度可重新配置计算架构的执行控制
US11188814B2 (en) 2018-04-05 2021-11-30 Arm Limited Systolic convolutional neural network
US11966835B2 (en) 2018-06-05 2024-04-23 Nvidia Corp. Deep neural network accelerator with fine-grained parallelism discovery
US10754621B2 (en) 2018-08-30 2020-08-25 Groq, Inc. Tiled switch matrix data permutation circuit
US10776110B2 (en) * 2018-09-29 2020-09-15 Intel Corporation Apparatus and method for adaptable and efficient lane-wise tensor processing
KR20200107295A (ko) 2019-03-07 2020-09-16 에스케이하이닉스 주식회사 시스톨릭 어레이 및 프로세싱 시스템

Similar Documents

Publication Publication Date Title
JPWO2020106781A5 (ja)
JP6856609B2 (ja) 畳み込みニューラルネットワークの畳み込み層における演算を実行する方法及び装置
KR102443546B1 (ko) 행렬 곱셈기
Naumov et al. AmgX: A library for GPU accelerated algebraic multigrid and preconditioned iterative methods
JP2019125351A (ja) 畳み込みニューラルネットワークの畳み込み層における演算を実行する方法及び装置
JP6713036B2 (ja) 折り畳まれた特徴データに対して畳み込み演算を実行するための方法および装置
Oliker et al. Parallel tetrahedral mesh adaptation with dynamic load balancing
Farhat et al. The two-level FETI method Part II: Extension to shell problems, parallel implementation and performance results
US10572225B1 (en) Circuit arrangements and methods for performing multiply-and-accumulate operations
Jones et al. A parallel graph coloring heuristic
JP2956800B2 (ja) 連立一次方程式に関する計算装置
Lee et al. Fast matrix-vector multiplications for large-scale logistic regression on shared-memory systems
Bernaschi et al. A factored sparse approximate inverse preconditioned conjugate gradient solver on graphics processing units
De Luca et al. A Gaussian recursive filter parallel implementation with overlapping
JP2022181161A (ja) ハードウェアにおけるスパース行列乗算
DeFlumere et al. Searching for the optimal data partitioning shape for parallel matrix matrix multiplication on 3 heterogeneous processors
Boukaram et al. H2opus-tlr: High performance tile low rank symmetric factorizations using adaptive randomized approximation
Thomaszewski et al. Physically based simulation of cloth on distributed memory architectures
Fialko et al. Preconditioned conjugate gradient method for solution of large finite element problems on CPU and GPU
Biswas et al. Global load balancing with parallel mesh adaption on distributed-memory systems
Charmpis et al. Enhancing the performance of the FETI method with preconditioning¶ techniques implemented on clusters of networked computers
Płaszewski et al. Architecture of iterative solvers for hp-adaptive finite element codes
Gupta et al. WSSMP: A high-performance serial and parallel symmetric sparse linear solver
US10409761B2 (en) Parallel computer system, arithmetic method, and storage medium
US20230177000A1 (en) Tensor processor and a method for processing tensors