TWI681291B - 存取多維張量中之資料 - Google Patents

存取多維張量中之資料 Download PDF

Info

Publication number
TWI681291B
TWI681291B TW107126366A TW107126366A TWI681291B TW I681291 B TWI681291 B TW I681291B TW 107126366 A TW107126366 A TW 107126366A TW 107126366 A TW107126366 A TW 107126366A TW I681291 B TWI681291 B TW I681291B
Authority
TW
Taiwan
Prior art keywords
value
tensor
loop
index
dimension
Prior art date
Application number
TW107126366A
Other languages
English (en)
Chinese (zh)
Other versions
TW201907305A (zh
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 美商谷歌有限責任公司
Publication of TW201907305A publication Critical patent/TW201907305A/zh
Application granted granted Critical
Publication of TWI681291B publication Critical patent/TWI681291B/zh

Links

Images

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098—Register arrangements
    • G06F9/3012—Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00—Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02—Addressing or allocation; Relocation
    • G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023—Free address space management
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003—Arrangements for executing specific machine instructions
    • G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001—Arithmetic instructions
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003—Arrangements for executing specific machine instructions
    • G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003—Arrangements for executing specific machine instructions
    • G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054—Unconditional branch instructions
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003—Arrangements for executing specific machine instructions
    • G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30061—Multi-way branch instructions, e.g. CASE
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003—Arrangements for executing specific machine instructions
    • G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098—Register arrangements
    • G06F9/30101—Special purpose registers
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321—Program or instruction counter, e.g. incrementing
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • G06F9/3455—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355—Indexed addressing
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355—Indexed addressing
    • G06F9/3555—Indexed addressing using scaling, e.g. multiplication of index
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00—Arrangements for program control, e.g. control units
    • G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45—Caching of specific data in cache memory
    • G06F2212/454—Vector or matrix data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
TW107126366A 2016-02-03 2016-12-30 存取多維張量中之資料 TWI681291B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/014,265 US9875104B2 (en) 2016-02-03 2016-02-03 Accessing data in multi-dimensional tensors
US15/014,265 2016-02-03

Publications (2)

Publication Number Publication Date
TW201907305A TW201907305A (zh) 2019-02-16
TWI681291B true TWI681291B (zh) 2020-01-01

Family

ID=57860636

Family Applications (4)

Application Number Title Priority Date Filing Date
TW107126366A TWI681291B (zh) 2016-02-03 2016-12-30 存取多維張量中之資料
TW109123874A TWI772842B (zh) 2016-02-03 2016-12-30 用於判定一n維張量之元素之記憶體位址之設備、系統、及方法
TW105144084A TWI635390B (zh) 2016-02-03 2016-12-30 存取多維張量中之資料
TW108144554A TWI700587B (zh) 2016-02-03 2016-12-30 存取多維張量中之資料

Family Applications After (3)

Application Number Title Priority Date Filing Date
TW109123874A TWI772842B (zh) 2016-02-03 2016-12-30 用於判定一n維張量之元素之記憶體位址之設備、系統、及方法
TW105144084A TWI635390B (zh) 2016-02-03 2016-12-30 存取多維張量中之資料
TW108144554A TWI700587B (zh) 2016-02-03 2016-12-30 存取多維張量中之資料

Country Status (8)

Country Link
US (4) US9875104B2 (enExample)
EP (1) EP3226121B1 (enExample)
JP (3) JP6896415B2 (enExample)
KR (4) KR101924500B1 (enExample)
CN (2) CN110457069B (enExample)
FI (1) FI3226121T3 (enExample)
SG (2) SG10201610917TA (enExample)
TW (4) TWI681291B (enExample)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256480B2 (en) * 2012-07-25 2016-02-09 Mobileye Vision Technologies Ltd. Computer architecture with a hardware accumulator reset
US9875104B2 (en) * 2016-02-03 2018-01-23 Google Llc Accessing data in multi-dimensional tensors
US10360163B2 (en) 2016-10-27 2019-07-23 Google Llc Exploiting input data sparsity in neural network compute units
US10175980B2 (en) 2016-10-27 2019-01-08 Google Llc Neural network compute tile
US9959498B1 (en) 2016-10-27 2018-05-01 Google Llc Neural network instruction set architecture
US10896367B2 (en) * 2017-03-07 2021-01-19 Google Llc Depth concatenation using a matrix computation unit
US11567765B2 (en) 2017-03-20 2023-01-31 Intel Corporation Systems, methods, and apparatuses for tile load
US10684955B2 (en) 2017-04-21 2020-06-16 Micron Technology, Inc. Memory devices and methods which may facilitate tensor memory access with memory maps based on memory operations
US10248908B2 (en) 2017-06-19 2019-04-02 Google Llc Alternative loop limits for accessing data in multi-dimensional tensors
WO2019009870A1 (en) 2017-07-01 2019-01-10 Intel Corporation SAVE BACKGROUND TO VARIABLE BACKUP STATUS SIZE
US10175912B1 (en) 2017-07-05 2019-01-08 Google Llc Hardware double buffering using a special purpose computational unit
US10108538B1 (en) * 2017-07-31 2018-10-23 Google Llc Accessing prologue and epilogue data
GB2568776B (en) 2017-08-11 2020-10-28 Google Llc Neural network accelerator with parameters resident on chip
US11620490B2 (en) * 2017-10-17 2023-04-04 Xilinx, Inc. Multi-layer neural network processing by a neural network accelerator using host communicated merged weights and a package of per-layer instructions
KR102027034B1 (ko) * 2017-11-24 2019-09-30 서울대학교산학협력단 병렬 처리를 통한 다차원 데이터 분석을 지원하는 장치 및 그 방법
WO2019113021A1 (en) * 2017-12-05 2019-06-13 Wave Computing, Inc. Tensor manipulation within a reconfigurable fabric using pointers
US10373291B1 (en) * 2018-01-31 2019-08-06 Google Llc Image transformation for machine learning
US10956315B2 (en) * 2018-07-24 2021-03-23 Micron Technology, Inc. Memory devices and methods which may facilitate tensor memory access
CN109255438B (zh) * 2018-09-17 2020-07-17 地平线(上海)人工智能技术有限公司 调整张量数据的方法和装置
CN111191783B (zh) * 2018-11-15 2024-04-05 嘉楠明芯(北京)科技有限公司 一种自适应量化方法及装置、设备、介质
CN117785441A (zh) * 2018-12-06 2024-03-29 华为技术有限公司 处理数据的方法和数据处理装置
CN111324294B (zh) * 2018-12-17 2023-11-07 地平线(上海)人工智能技术有限公司 存取张量数据的方法和装置
CN109857744B (zh) * 2019-02-13 2020-03-20 上海燧原智能科技有限公司 稀疏张量计算方法、装置、设备及存储介质
CN111723917B (zh) * 2019-03-21 2022-11-01 中科寒武纪科技股份有限公司 运算方法、装置及相关产品
US11055095B2 (en) * 2019-05-24 2021-07-06 Texas Instruments Incorporated Nested loop control
CN112257857B (zh) * 2019-07-22 2024-06-04 中科寒武纪科技股份有限公司 张量处理方法及相关产品
CN110209503B (zh) * 2019-08-01 2019-10-25 上海燧原智能科技有限公司 多维张量的规约计算方法、装置、设备及介质
CN122431885A (zh) 2019-10-07 2026-07-21 谷歌有限责任公司 在机器学习计算单元之间重新分配张量元素
US12423007B1 (en) * 2020-03-31 2025-09-23 Nvidia Corporation Techniques for tensor memory allocation
US11687336B2 (en) * 2020-05-08 2023-06-27 Black Sesame Technologies Inc. Extensible multi-precision data pipeline for computing non-linear and arithmetic functions in artificial neural networks
CN116261736B (zh) 2020-06-12 2024-08-16 墨芯国际有限公司 用于双稀疏卷积处理和并行化的方法和系统
CN111767508B (zh) * 2020-07-09 2024-02-23 地平线(上海)人工智能技术有限公司 计算机实现张量数据计算的方法、装置、介质和设备
US12353988B2 (en) 2020-07-09 2025-07-08 Celestial Ai Inc. Neuromorphic photonics with coherent linear neurons
CN111737007B (zh) * 2020-07-24 2021-06-18 北京一流科技有限公司 数据对象的分频处理系统及其方法
US11817903B2 (en) 2020-08-06 2023-11-14 Celestial Ai Inc. Coherent photonic computing architectures
US11954580B2 (en) * 2020-09-16 2024-04-09 Meta Platforms, Inc. Spatial tiling of compute arrays with shared control
US12339490B2 (en) 2021-06-18 2025-06-24 Celestial Ai Inc. Clock signal distribution using photonic fabric
US12564047B2 (en) 2022-10-28 2026-02-24 Celestial Ai Inc. Thermal control of an optical component
CN113836049B (zh) * 2021-09-17 2023-08-08 海飞科(南京)信息技术有限公司 存储器访问方法和电子装置
KR20230062008A (ko) 2021-10-29 2023-05-09 삼성전자주식회사 트랜스포머 모델을 이용한 추론 방법 및 그 추론 방법을 수행하는 전자 장치
US12099635B1 (en) * 2021-12-21 2024-09-24 Meta Platforms Technologies, Llc Opaque bound variables
KR102733032B1 (ko) * 2021-12-27 2024-11-20 서울대학교산학협력단 다차원 텐서의 주소 생성 장치 및 방법
CN114489798B (zh) * 2022-01-25 2024-04-05 海飞科(南京)信息技术有限公司 用于确定张量元素的越界状态的方法和电子装置
WO2023177417A1 (en) 2022-03-18 2023-09-21 Celestial Ai Inc. Photonic fabric with optical interface for connection to memory
JP7895434B2 (ja) 2022-03-18 2026-07-27 セレスティアル エーアイ インコーポレイテッド 光学マルチダイ相互接続ブリッジ(omib)
US12436346B2 (en) 2022-03-18 2025-10-07 Celestial Ai Inc. Optically bridged multicomponent package with extended temperature range
US11868329B2 (en) 2022-05-20 2024-01-09 International Business Machines Corporation Multidimensional cube multivariate regression
US12191257B2 (en) 2022-07-26 2025-01-07 Celestial Ai Inc. Electrical bridge package with integrated off-bridge photonic channel interface
US12283584B2 (en) 2022-07-26 2025-04-22 Celestial Ai Inc. Electrical bridge package with integrated off-bridge photonic channel interface
US12690438B2 (en) 2022-07-26 2026-07-21 Celestial Ai Inc. Via formed in a wafer using a front-side and a back-side process
US20240038657A1 (en) 2022-07-26 2024-02-01 Celestial Ai Inc. Via formed using a partial plug that extends into a substrate
US20240069914A1 (en) * 2022-08-23 2024-02-29 Intel Corporation Hardware enhancements for matrix load/store instructions
CN115757201A (zh) * 2022-12-05 2023-03-07 北京算能科技有限公司 基于dma架构的sg指令实现方法、装置、设备及存储介质
US12217056B2 (en) * 2023-01-27 2025-02-04 Celestial Ai Inc. Load/store unit for a tensor engine and methods for loading or storing a tensor
US20260023565A1 (en) * 2024-07-16 2026-01-22 Tenstorrent USA, Inc. Adaptive memory address computation based on tensor dimensions

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5958048A (en) * 1996-08-07 1999-09-28 Elbrus International Ltd. Architectural support for software pipelining of nested loops
US20040034754A1 (en) * 2002-08-19 2004-02-19 Schreiber Robert S. Method and system for memory management optimization
US20040088529A1 (en) * 2002-10-31 2004-05-06 Schreiber Robert S. Method and system for the design of pipelines of processors
US20040093550A1 (en) * 2002-11-12 2004-05-13 Andrew Kadatch Matrix multiplication in a Galois field for forward error correction
US20040187102A1 (en) * 2003-03-21 2004-09-23 Garthwaite Alexander T. Combining write-barriers within an inner loop with fixed step
US20080301697A1 (en) * 2006-10-06 2008-12-04 Southgate Timothy J Multiple task management between processors
US20100122066A1 (en) * 2008-11-12 2010-05-13 Freescale Semiconductor, Inc. Instruction method for facilitating efficient coding and instruction fetch of loop construct

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58114245A (ja) * 1981-12-28 1983-07-07 Fujitsu Ltd インデツクス・インクリメントのベクトル化方式
JP3102027B2 (ja) 1990-11-20 2000-10-23 日本電気株式会社 ループ制御のネスティング管理機構
US5357618A (en) * 1991-04-15 1994-10-18 International Business Machines Corporation Cache prefetch and bypass using stride registers
GB2359641B (en) 2000-02-25 2002-02-13 Siroyan Ltd Mapping circuitry and method
HK1048538B (en) * 2000-03-08 2006-08-04 Sun Microsystems, Inc. Processing architecture having an array bounds check capability
WO2001090888A1 (en) * 2000-05-23 2001-11-29 Theis Jean Paul A data processing system having an address generation unit with hardwired multidimensional memory indexing support
US6647484B1 (en) * 2000-09-19 2003-11-11 3 Dsp Corporation Transpose address mode in general purpose DSP processor
US7249242B2 (en) 2002-10-28 2007-07-24 Nvidia Corporation Input pipeline registers for a node in an adaptive computing engine
JP2003244190A (ja) * 2002-02-19 2003-08-29 Matsushita Electric Ind Co Ltd データフロー制御スイッチ用プロセッサ及びデータフロー制御スイッチ
CN1259617C (zh) * 2003-09-09 2006-06-14 大唐微电子技术有限公司 一种加快rsa加/解密过程的方法及其模乘、模幂运算电路
EP1844393A2 (en) 2005-01-25 2007-10-17 Nxp B.V. Multi-threaded processor
US8806183B1 (en) 2006-02-01 2014-08-12 Ixys Ch Gmbh Blank bit and processor instructions employing the blank bit
US8904155B2 (en) 2006-03-17 2014-12-02 Qualcomm Incorporated Representing loop branches in a branch history register with multiple bits
DE602007005790D1 (de) * 2007-06-26 2010-05-20 Ericsson Telefon Ab L M Datenverarbeitungseinheit für Anweisungen in geschachtelten Schleifen
US20100274972A1 (en) 2008-11-24 2010-10-28 Boris Babayan Systems, methods, and apparatuses for parallel computing
CA2684226A1 (en) 2009-10-30 2011-04-30 Ibm Canada Limited - Ibm Canada Limitee Eleminating redundant operations for common properties using shared real registers
US10803009B2 (en) * 2011-07-14 2020-10-13 Texas Instruments Incorporated Processor with table lookup processing unit
US9507593B2 (en) 2011-12-23 2016-11-29 Intel Corporation Instruction for element offset calculation in a multi-dimensional array
US20140181171A1 (en) 2012-12-24 2014-06-26 Pavel Dourbal Method and system for fast tensor-vector multiplication
US20140188961A1 (en) * 2012-12-27 2014-07-03 Mikhail Plotnikov Vectorization Of Collapsed Multi-Nested Loops
CN103440513B (zh) * 2013-09-17 2017-01-18 西安电子科技大学 基于稀疏非负张量分解的大脑特定视觉认知状态判定方法
US9087394B1 (en) 2014-02-13 2015-07-21 Raycast Systems, Inc. Computer hardware architecture and data structures for packet binning to support incoherent ray traversal
CN105260322B (zh) * 2014-06-30 2020-09-01 中兴通讯股份有限公司 一种对循环缓冲区消除循环移位的方法和装置
US11170294B2 (en) 2016-01-07 2021-11-09 Intel Corporation Hardware accelerated machine learning
US9875104B2 (en) * 2016-02-03 2018-01-23 Google Llc Accessing data in multi-dimensional tensors
KR102459854B1 (ko) 2016-05-26 2022-10-27 삼성전자주식회사 심층 신경망용 가속기
US10175980B2 (en) 2016-10-27 2019-01-08 Google Llc Neural network compute tile

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5958048A (en) * 1996-08-07 1999-09-28 Elbrus International Ltd. Architectural support for software pipelining of nested loops
US20040034754A1 (en) * 2002-08-19 2004-02-19 Schreiber Robert S. Method and system for memory management optimization
US20040088529A1 (en) * 2002-10-31 2004-05-06 Schreiber Robert S. Method and system for the design of pipelines of processors
US20040093550A1 (en) * 2002-11-12 2004-05-13 Andrew Kadatch Matrix multiplication in a Galois field for forward error correction
US20040187102A1 (en) * 2003-03-21 2004-09-23 Garthwaite Alexander T. Combining write-barriers within an inner loop with fixed step
US20080301697A1 (en) * 2006-10-06 2008-12-04 Southgate Timothy J Multiple task management between processors
US20100122066A1 (en) * 2008-11-12 2010-05-13 Freescale Semiconductor, Inc. Instruction method for facilitating efficient coding and instruction fetch of loop construct

Also Published As

Publication number Publication date
KR20180127945A (ko) 2018-11-30
KR102788305B1 (ko) 2025-03-28
KR102472424B1 (ko) 2022-11-29
US9875100B2 (en) 2018-01-23
US20170220352A1 (en) 2017-08-03
JP2023059898A (ja) 2023-04-27
JP6896415B2 (ja) 2021-06-30
US10838724B2 (en) 2020-11-17
JP2021128801A (ja) 2021-09-02
SG10201610917TA (en) 2017-09-28
EP3226121A3 (en) 2018-10-31
CN107038018B (zh) 2019-07-19
TWI635390B (zh) 2018-09-11
KR20170092445A (ko) 2017-08-11
KR20230004348A (ko) 2023-01-06
EP3226121A2 (en) 2017-10-04
US9875104B2 (en) 2018-01-23
JP7507271B2 (ja) 2024-06-27
KR20230153972A (ko) 2023-11-07
SG10202104454YA (en) 2021-06-29
TW201907305A (zh) 2019-02-16
JP7225314B2 (ja) 2023-02-20
CN107038018A (zh) 2017-08-11
BR102016030825A2 (pt) 2018-10-09
KR102596365B1 (ko) 2023-10-31
JP2017138964A (ja) 2017-08-10
EP3226121B1 (en) 2026-04-01
FI3226121T3 (fi) 2026-06-18
TWI700587B (zh) 2020-08-01
TW201729104A (zh) 2017-08-16
TW202040359A (zh) 2020-11-01
US20170220345A1 (en) 2017-08-03
US20180107483A1 (en) 2018-04-19
US10228947B2 (en) 2019-03-12
TW202014897A (zh) 2020-04-16
KR101924500B1 (ko) 2018-12-03
CN110457069A (zh) 2019-11-15
CN110457069B (zh) 2020-08-18
TWI772842B (zh) 2022-08-01
US20190205141A1 (en) 2019-07-04

Similar Documents

Publication Publication Date Title
TWI635390B (zh) 存取多維張量中之資料
US10534607B2 (en) Accessing data in multi-dimensional tensors using adders
TWI720566B (zh) 用於增加處理單元執行機器學習運算之速度之設備、方法及系統
TWI740274B (zh) 用於在使用加法器之多維張量中存取資料之系統、電腦實施方法及設備
HK40014403B (en) Accessing data in multi-dimensional tensors
HK1242809A1 (en) Accessing data in multi-dimensional tensors
HK1242809B (en) Accessing data in multi-dimensional tensors
BR102016030825B1 (pt) Equipamento e método implementado em computador para processar uma instrução para acessar um tensor n-dimensional
BR122023003223B1 (pt) Equipamento para processar uma instrução para processar um laço encaixado e método implementado em computador