KR102511911B1 - Gemm 데이터플로우 가속기 반도체 회로 - Google Patents
Gemm 데이터플로우 가속기 반도체 회로 Download PDFInfo
- Publication number
- KR102511911B1 KR102511911B1 KR1020190126467A KR20190126467A KR102511911B1 KR 102511911 B1 KR102511911 B1 KR 102511911B1 KR 1020190126467 A KR1020190126467 A KR 1020190126467A KR 20190126467 A KR20190126467 A KR 20190126467A KR 102511911 B1 KR102511911 B1 KR 102511911B1
- Authority
- KR
- South Korea
- Prior art keywords
- lookup table
- bank
- accelerator
- product
- vector
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- 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/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- 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/544—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 for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/008—Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B12/00—Dynamic random access memory [DRAM] devices
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10D—INORGANIC ELECTRIC SEMICONDUCTOR DEVICES
- H10D88/00—Three-dimensional [3D] integrated devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Robotics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System (AREA)
- Complex Calculations (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
Abstract
Description
도 1은 본문에서 게시된 일부 실시 예들에 따른 룩업 테이블을 이용하는 스칼라 곱셈-누산 연산의 예시적인 블록도와 순서도이다.
도 2는 본문에서 게시된 일부 실시 예들에 따른 계산을 위해 전체 룩업 테이블과 관련된 입력 행렬들을 포함하는 로컬 DRAM 뱅크를 도시하는 예시적인 블록도이다.
도 3은 본문에서 게시된 일부 실시 예들에 따른 GEMM 데이터플로우 가속기의 예시적인 블록도이다.
도 4는 본문에서 게시된 일부 실시 예들에 따른 집적된 스택 데이터플로우 가속기의 측면도를 도시하는 예시적인 블록도이다.
도 5는 본문에서 게시된 일부 실시 예들에 따른 집적된(integrated) 스택 데이터플로우 가속기의 평면도를 도시하는 예시적인 블록도이다.
도 6은 본문에서 게시된 일부 실시 예들에 따른 별개의(개별, discrete) 스택 데이터플로우 가속기의 측면도를 도시하는 예시적인 블록도이다.
도 7은 본문에서 게시된 일부 실시 예들에 따른 별개의 스택 데이터플로우 가속기의 평면도를 도시하는 예시적인 블록도이다.
도 8은 본문에서 게시된 일부 실시 예들에 따른 별개의 스택 데이터플로우 가속기의 측면도를 도시하는 예시적인 블록도이다.
도 9는 본문에서 게시된 일부 실시 예들에 따른 별개의 스택 데이터플로우 가속기의 평면도를 도시하는 예시적인 블록도이다.
도 10은 본문에서 게시된 일부 실시 예들에 따른 GEMM 데이터플로우 가속기들과 관련하여 사용될 수 있는 단일 NDP-DF 다이의 컨텐츠를 포함하는 예시적인 블록도이다.
도 11은 본문에서 게시된 일부 실시 예들에 따른 텐서 계산 데이터플로우 가속기들과 관련하여 사용될 수 있는 단일 NDP-DF 다이의 컨텐츠를 포함하는 예시적인 블록도이다.
도 12는 본문에서 게시된 일부 실시 예들에 따른 텐서 계산 데이터플로우 가속기의 예시적인 블록도이다.
도 13은 MAC 유닛의 예시적인 블록도이다.
도 14는 시스톨릭(systolic) MAC 어레이의 높이와 시스톨릭 어레이의 폭을 도시하는 예시적인 블록도이다.
도 15는 레이어 간 데이터 피딩(feeding) 및 타일링(tiling) 기술의 예시적인 블록도이다.
도 16은 본문에서 게시된 일부 실시 예들에 따른 텐서 계산 데이터플로우 가속기의 PG의 마이크로구조의 예시적인 블록도이다.
도 17은 본문에서 게시된 일부 실시 예들에 따른 텐서 계산 데이터플로우 가속기의 PG들의 큐브(cube)의 예시적인 측면도이다.
도 18은 본문에서 게시된 일부 실시 예들에 따른 PG들의 다수의 볼트들(vaults)을 포함하는 텐서 계산 데이터플로우 가속기의 PG들의 큐브의 예시적인 평면도이다.
도 19는 본문에서 게시된 일부 실시 예들에 따른 텐서 계산 데이터플로우 가속기의 베이스 다이의 예시적인 도면이다.
도 20은 본문에서 게시된 일부 실시 예들에 따른 패시브 실리콘 인터포저, 및 그곳에 배치되는 다수의 큐브들을 포함하는 텐서 계산 데이터플로우 가속기의 예시적인 블록도이다.
도 21은 본문에서 게시된 일부 실시 예들에 따른 텐서 계산 데이터플로우 가속기의 예시적인 블록도이다.
도 22는 본문에서 게시된 일부 실시 예들에 따른 순방향 전파 데이터 레이아웃 및 데이터플로우의 예시적인 블록도이다.
도 23은 본문에서 게시된 일부 실시 예들에 따른 서로 연결된 다수의 프로세싱 그룹들을 포함하는 계산 그룹의 예시적인 블록도이다.
도 24는 본문에서 게시된 일부 실시 예들에 따른 감소 동작이 어떻게 수행되는지 보여주는 텐서 계산 데이터플로우 가속기의 다수의 큐브들의 예시적인 블록도이다.
도 25 내지 도 27은 본문에서 게시된 일부 실시 예들에 따른 역방향 전파 데이터 레이아웃 및 데이터플로우의 예시적인 블록도들이다.
Claims (20)
- 메모리 뱅크;
상기 메모리 뱅크에 저장된 주변 룩업 테이블;
상기 룩업 테이블로의 로우 어드레스로서 사용되는 제 1 벡터를 저장하도록 구성되는 제 1 벡터 버퍼;
상기 룩업 테이블로의 컬럼 어드레스로서 사용되는 제 2 벡터를 저장하도록 구성되는 제 2 벡터 버퍼; 및
하나 이상의 룩업 테이블 엔트리들을 수신하도록 구성되는 하나 이상의 룩업 테이블 버퍼들을 포함하되,
상기 제 2 벡터 버퍼는 상기 제 2 벡터를 상기 하나 이상의 룩업 테이블 버퍼들로 스트리밍하도록 구성되고, 그리고 상기 하나 이상의 룩업 테이블 버퍼들은 상기 룩업 테이블로부터 상기 하나 이상의 룩업 테이블 엔트리들을 저장하도록 구성되고,
상기 하나 이상의 룩업 테이블 버퍼들은 상기 룩업 테이블로부터의 상기 하나 이상의 룩업 테이블 엔트리들에 적어도 부분적으로 기초하여 제 1 벡터와 제 2 벡터의 곱을 결정하도록 구성되는 GEMM(general matrix-matrix multiplication) 데이터플로우 가속기 반도체 회로. - 제 1 항에 있어서,
상기 곱은 제 1 곱이고, 상기 회로는:
상기 제 1 곱과 제 2 곱을 더하도록 구성되는 하나 이상의 덧셈기들; 및
상기 제 1 곱과 상기 제 2 곱의 상기 합의 결과를 저장하도록 구성되는 출력 버퍼를 더 포함하는 GEMM 데이터플로우 가속기 반도체 회로. - 제 2 항에 있어서,
상기 하나 이상의 룩업 테이블 버퍼들은 곱셈 연산을 수행하지 않고, 상기 컬럼 어드레스 및 상기 로우 어드레스로서 상기 제 1 벡터의 값과 상기 제 2 벡터의 값을 이용하여 상기 제 1 곱을 결정하도록 구성되는 GEMM 데이터플로우 가속기 반도체 회로. - 제 2 항에 있어서,
상기 하나 이상의 룩업 테이블 버퍼들은 곱셈 연산을 수행하지 않고, 컬럼 어드레스 및 로우 어드레스로서, 제 3 벡터의 값과 제 4 벡터의 값을 이용하여 상기 제 2 곱을 결정하도록 구성되는 GEMM 데이터플로우 가속기 반도체 회로. - 제 1 항에 있어서,
상기 메모리 뱅크, 상기 주변 룩업 테이블, 상기 제 1 벡터 버퍼, 상기 하나 이상의 룩업 테이블 버퍼들, 및 상기 제 2 벡터 버퍼는 계층적 룩업 구조를 형성하여 레이턴시를 감소시키는 GEMM 데이터플로우 가속기 반도체 회로. - 제 1 항에 있어서,
상기 하나 이상의 룩업 테이블 버퍼들을 포함하는 복수의 룩업 테이블 버퍼들을 더 포함하고,
상기 복수의 룩업 테이블 버퍼들은 해당 복수의 행렬 벡터들을 저장하여 상기 메모리 뱅크에 저장된 상기 룩업 테이블을 접근하지 않고 그리고 곱셈 연산을 수행하지 않으면서 상기 복수의 행렬 벡터들의 복수의 곱들을 결정하도록 구성되는 GEMM 데이터플로우 가속기 반도체 회로. - 제 6 항에 있어서,
스마트 뱅크 유닛들의 주변 어레이를 더 포함하고,
상기 스마트 뱅크 유닛들의 주변 어레이는 데이터 누산을 위해 상기 스마트 뱅크 유닛들의 주변 어레이 중 하나의 스마트 뱅크 유닛으로부터의 부분 출력 데이터가 상기 스마트 뱅크 유닛들의 주변 어레이 중 다른 스마트 뱅크 유닛으로 입력되는 파이프라인 방식의 데이터플로우 체인을 형성하도록 구성되는 GEMM 데이터플로우 가속기 반도체 회로. - 제 7 항에 있어서,
상기 스마트 뱅크 유닛들 각각은 상기 메모리 뱅크, 상기 룩업 테이블, 상기 복수의 룩업 테이블 버퍼들, 하나 이상의 덧셈기들, 및 출력 버퍼를 포함하는 GEMM 데이터플로우 가속기 반도체 회로. - 제 8 항에 있어서,
상기 복수의 스마트 뱅크 유닛들 중 제 1 스마트 뱅크 유닛은 상기 제 1 스마트 뱅크 유닛에 인접한 제 2 스마트 뱅크 유닛으로 상기 곱을 출력하도록 구성되는 GEMM 데이터플로우 가속기 반도체 회로. - 제 9 항에 있어서,
상기 제 2 스마트 뱅크 유닛은 상기 제 1 스마트 뱅크 유닛으로부터 수신된 상기 곱을 저장하도록 구성되는 GEMM 데이터플로우 가속기 반도체 회로. - 제 10 항에 있어서,
상기 곱은 제 1 곱이고;
상기 제 2 스마트 뱅크 유닛은 스트리밍 방식으로 상기 메모리 뱅크로부터 제 3 벡터를 수신하도록 구성되고;
상기 제 2 스마트 뱅크 유닛의 상기 하나 이상의 룩업 테이블 버퍼들은 상기 곱셈 연산을 수행하지 않고 상기 룩업 테이블을 이용하여 상기 제 3 벡터에 기초하여 제 2 곱을 결정하도록 구성되고;
상기 제 2 스마트 뱅크 유닛의 상기 하나 이상의 덧셈기들은 상기 제 1 곱과 상기 제 2 곱의 합을 계산하도록 구성되고; 그리고
상기 제 2 스마트 뱅크 유닛의 상기 출력 버퍼는 상기 제 1 곱과 상기 제 2 곱의 상기 합을 저장하도록 구성되는 GEMM 데이터플로우 가속기 반도체 회로. - 제 11 항에 있어서,
상기 제 2 스마트 뱅크 유닛은 상기 제 1 곱과 상기 제 2 곱의 상기 합을 상기 스마트 뱅크 유닛들의 주변 어레이 중 제 3 스마트 뱅크 유닛으로 출력하도록 구성되고, 상기 제 3 스마트 뱅크 유닛은 상기 제 2 스마트 뱅크 유닛에 인접하고; 그리고
상기 제 3 스마트 뱅크 유닛은 상기 합을 저장하도록 구성되는 GEMM 데이터플로우 가속기 반도체 회로. - 제 12 항에 있어서,
상기 스마트 뱅크 유닛들의 주변 어레이는 사형 방식으로 부분 합들을 전파하도록 구성되는 시스톨릭 어레이이고; 그리고
상기 스마트 뱅크 유닛들의 주변 어레이는 스트리밍 방식으로 복수의 입력 행렬 벡터들을 수신하고, 그리고 상기 부분 합들의 데이터플로우 방향에 수직한 방향으로 상기 복수의 입력 행렬 벡터들을 전파하도록 구성되는 GEMM 데이터플로우 가속기 반도체 회로. - 제 13 항에 있어서,
상기 메모리 뱅크는 DRAM 메모리 뱅크이고, 상기 회로는:
복수의 채널들을 포함하는 NDP-DF(near-DRAM-processing dataflow) 가속기 유닛 다이를 더 포함하고;
상기 채널들 각각은 사형 방식으로 배열되는 상기 스마트 뱅크 유닛들의 주변 어레이를 포함하고; 그리고
상기 스마트 뱅크 유닛들 각각은 상기 DRAM 뱅크, 상기 룩업 테이블, 상기 복수의 룩업 테이블 버퍼들, 상기 하나 이상의 덧셈기들, 및 상기 출력 버퍼를 포함하는 GEMM 데이터플로우 가속기 반도체 회로. - 제 14 항에 있어서,
상기 NDP-DF 가속기 유닛 다이는 차례로 적층되는 복수의 NDP-DF 가속기 유닛 다이들 중 하나인 GEMM 데이터플로우 가속기 반도체 회로. - 제 15 항에 있어서,
패시브 실리콘 인터포저;
상기 패시브 실리콘 인터포저 상에 배치되는 프로세서; 및
상기 프로세서에 인접하여 상기 패시브 실리콘 인터포저 상에 배치되는 베이스 다이를 더 포함하고,
상기 복수의 NDP-DF 가속기 유닛 다이들은 상기 베이스 다이 위에 적층되는 GEMM 데이터플로우 가속기 반도체 회로. - 제 16 항에 있어서,
상기 복수의 NDP-DF 가속기 유닛 다이들 및 상기 베이스 다이를 관통하여 배치되는 하나 이상의 TSV(through silicon via)들을 더 포함하고,
상기 하나 이상의 TSV들은 상기 복수의 NDP-DF 가속기 유닛 다이들과 상기 베이스 다이를, 그리고 상기 베이스 다이와 상기 프로세서를 상호 연결하도록 구성되고; 그리고
상기 복수의 NDP-DF 가속기 유닛 다이들과 상기 베이스 다이는 상기 프로세서로부터 계산을 오프로드하도록 구성되는 GEMM 데이터플로우 가속기 반도체 회로. - 제 15 항에 있어서,
패시브 실리콘 인터포저;
상기 패시브 실리콘 인터포저 상에 배치되는 컨트롤러; 및
상기 컨트롤러에 인접하여 상기 패시브 실리콘 인터포저 상에 배치되는 베이스 다이를 더 포함하고,
상기 복수의 NDP-DF 가속기 유닛 다이들은 상기 베이스 다이 위에 적층되는 GEMM 데이터플로우 가속기 반도체 회로. - 제 18 항에 있어서,
상기 복수의 NDP-DF 가속기 유닛 다이들과 상기 베이스 다이를 관통하여 배치되는 하나 이상의 TSV(through silicon via)들을 더 포함하고,
상기 하나 이상의 TSV들은 상기 복수의 NDP-DF 가속기 유닛 다이들과 상기 베이스 다이를, 그리고 상기 베이스 다이와 상기 컨트롤러를 상호 연결하도록 구성되고; 그리고
상기 복수의 NDP-DF 가속기 유닛 다이들과 상기 베이스 다이는 상기 GEMM 데이터플로우 가속기 반도체 회로로부터 분리된 호스트로부터 계산을 오프로드하도록 구성되는 GEMM 데이터플로우 가속기 반도체 회로. - 제 16 항에 있어서,
상기 복수의 적층된 NDP-DF 가속기 유닛 다이들과 상기 베이스 다이는 병렬로 상기 부분 출력 데이터를 처리하도록 구성되는 GEMM 데이터플로우 가속기 반도체 회로.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862777046P | 2018-12-07 | 2018-12-07 | |
US62/777,046 | 2018-12-07 | ||
US16/388,860 | 2019-04-18 | ||
US16/388,860 US11100193B2 (en) | 2018-12-07 | 2019-04-18 | Dataflow accelerator architecture for general matrix-matrix multiplication and tensor computation in deep learning |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200070088A KR20200070088A (ko) | 2020-06-17 |
KR102511911B1 true KR102511911B1 (ko) | 2023-03-20 |
Family
ID=70971724
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190126481A Pending KR20200070089A (ko) | 2018-12-07 | 2019-10-11 | 텐서 계산 데이터플로우 가속기 반도체 회로 |
KR1020190126467A Active KR102511911B1 (ko) | 2018-12-07 | 2019-10-11 | Gemm 데이터플로우 가속기 반도체 회로 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190126481A Pending KR20200070089A (ko) | 2018-12-07 | 2019-10-11 | 텐서 계산 데이터플로우 가속기 반도체 회로 |
Country Status (5)
Country | Link |
---|---|
US (3) | US11100193B2 (ko) |
JP (2) | JP7209616B2 (ko) |
KR (2) | KR20200070089A (ko) |
CN (2) | CN111291858A (ko) |
TW (2) | TWI789547B (ko) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11100193B2 (en) | 2018-12-07 | 2021-08-24 | Samsung Electronics Co., Ltd. | Dataflow accelerator architecture for general matrix-matrix multiplication and tensor computation in deep learning |
US11061738B2 (en) * | 2019-02-28 | 2021-07-13 | Movidius Limited | Methods and apparatus to store and access multi dimensional data |
KR102425909B1 (ko) * | 2019-07-30 | 2022-07-29 | 한국과학기술원 | 뉴럴 네트워크 가속기 시스템 및 그것의 동작 방법 |
US11947959B2 (en) * | 2019-09-10 | 2024-04-02 | Micron Technology, Inc. | Re-using processing elements of an artificial intelligence processor |
US11841792B1 (en) | 2019-12-09 | 2023-12-12 | Amazon Technologies, Inc. | Instructions with multiple memory access modes |
US11334358B2 (en) * | 2019-12-09 | 2022-05-17 | Amazon Technologies, Inc. | Hardware accelerator having reconfigurable instruction set and reconfigurable decoder |
US11429310B2 (en) * | 2020-03-06 | 2022-08-30 | Samsung Electronics Co., Ltd. | Adjustable function-in-memory computation system |
TWI850513B (zh) | 2020-03-06 | 2024-08-01 | 南韓商三星電子股份有限公司 | 用於記憶體內計算的方法及用於計算的系統 |
US11874897B2 (en) | 2020-04-09 | 2024-01-16 | Micron Technology, Inc. | Integrated circuit device with deep learning accelerator and random access memory |
US11355175B2 (en) | 2020-04-09 | 2022-06-07 | Micron Technology, Inc. | Deep learning accelerator and random access memory with a camera interface |
US11887647B2 (en) | 2020-04-09 | 2024-01-30 | Micron Technology, Inc. | Deep learning accelerator and random access memory with separate memory access connections |
US11461651B2 (en) * | 2020-04-09 | 2022-10-04 | Micron Technology, Inc. | System on a chip with deep learning accelerator and random access memory |
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 |
WO2021241048A1 (ja) * | 2020-05-28 | 2021-12-02 | パナソニックIpマネジメント株式会社 | Aiチップ |
CN116134416A (zh) * | 2020-06-28 | 2023-05-16 | 华为技术有限公司 | 避免张量内存布局中存储体冲突和流水线冲突的方法 |
US12164882B2 (en) * | 2020-07-14 | 2024-12-10 | Taiwan Semiconductor Manufacturing Company, Ltd. | In-memory computation circuit and method |
US11403111B2 (en) | 2020-07-17 | 2022-08-02 | Micron Technology, Inc. | Reconfigurable processing-in-memory logic using look-up tables |
US12327175B2 (en) * | 2020-08-06 | 2025-06-10 | Micron Technology, Inc. | Collaborative sensor data processing by deep learning accelerators with integrated random access memory |
US11755523B2 (en) * | 2020-08-20 | 2023-09-12 | Rambus Inc. | Stacked device system |
US11960438B2 (en) * | 2020-09-08 | 2024-04-16 | Rambus Inc. | Methods and circuits for streaming data to processing elements in stacked processor-plus-memory architecture |
CN116324707A (zh) * | 2020-09-18 | 2023-06-23 | 拉姆伯斯公司 | 用于聚合处理单元和动态分配存储器的方法和电路 |
KR102225149B1 (ko) | 2020-10-21 | 2021-03-10 | 주식회사 스카이칩스 | 지능형 제어 기반 생체신호 처리 장치 |
CN114945916B (zh) * | 2020-10-27 | 2025-04-25 | 北京苹芯科技有限公司 | 使用存内处理进行矩阵乘法的装置和方法 |
KR102789387B1 (ko) * | 2020-12-08 | 2025-04-03 | 한국전자통신연구원 | Ai 가속기, 캐시 메모리 및 이를 이용한 캐시 메모리 동작 방법 |
US11355170B1 (en) | 2020-12-16 | 2022-06-07 | Micron Technology, Inc. | Reconfigurable processing-in-memory logic |
US12254399B2 (en) * | 2021-01-27 | 2025-03-18 | Intel Corporation | Hierarchical hybrid network on chip architecture for compute-in-memory probabilistic machine learning accelerator |
US11748062B2 (en) | 2021-01-28 | 2023-09-05 | Macronix International Co., Ltd. | Multiplication and addition operation device and control method for multiplication and addition operation thereof |
US20220308833A1 (en) * | 2021-03-24 | 2022-09-29 | Intel Corporation | Multiplication circuit based on constituent partial product lookup table |
US11656909B2 (en) | 2021-04-15 | 2023-05-23 | National Taiwan University | Tensor accelerator capable of increasing efficiency of data sharing |
US11693796B2 (en) * | 2021-05-31 | 2023-07-04 | Arm Limited | Multi-dimensional data path architecture |
US12236338B2 (en) | 2021-06-17 | 2025-02-25 | International Business Machines Corporation | Single function to perform combined matrix multiplication and bias add operations |
KR102695927B1 (ko) * | 2021-07-21 | 2024-08-19 | 삼성전자주식회사 | 인메모리 연산을 수행하는 메모리 장치 및 그 방법 |
US12032829B2 (en) | 2021-07-21 | 2024-07-09 | Samsung Electronics Co., Ltd. | Memory device performing in-memory operation and method thereof |
WO2023046001A1 (en) * | 2021-09-22 | 2023-03-30 | Huawei Technologies Co., Ltd. | Method and apparatus for matrix computation acceleration |
CN113918120B (zh) * | 2021-10-19 | 2025-01-03 | Oppo广东移动通信有限公司 | 计算装置、神经网络处理设备、芯片及处理数据的方法 |
KR20230061180A (ko) * | 2021-10-28 | 2023-05-08 | 주식회사 사피온코리아 | 컴퓨팅 시스템 및 이를 위한 전치 방법 |
CN114356840B (zh) * | 2021-12-15 | 2025-04-29 | 北京苹芯科技有限公司 | 具有存内/近存计算模块的SoC系统 |
KR102807594B1 (ko) | 2022-02-14 | 2025-05-13 | 연세대학교 산학협력단 | 이기종 데이터 형식을 적용한 메모리 시스템 및 이기종 데이터 형식을 적용한 메모리 시스템의 제어 방법 |
US11630605B1 (en) | 2022-08-10 | 2023-04-18 | Recogni Inc. | Methods and systems for processing read-modify-write requests |
KR102756361B1 (ko) * | 2022-08-26 | 2025-01-21 | 삼성전자주식회사 | 메모리 프로세서를 이용한 부동 소수점 연산 방법 및 장치 |
KR20240083233A (ko) * | 2022-12-02 | 2024-06-12 | 삼성전자주식회사 | 메모리 장치 및 그 동작 방법 |
CN115860079B (zh) * | 2023-01-30 | 2023-05-12 | 深圳市九天睿芯科技有限公司 | 神经网络加速装置、方法、芯片、电子设备及存储介质 |
KR20240136078A (ko) * | 2023-03-06 | 2024-09-13 | 주식회사 사피온코리아 | 벡터 프로세서 및 그의 동작 방법 |
WO2024205650A1 (en) * | 2023-03-30 | 2024-10-03 | Intel Corporation | Methods and apparatus for approximating numerical computations in deep neural networks |
US12346673B1 (en) * | 2023-03-31 | 2025-07-01 | Amazon Technologies, Inc. | Large language models utilizing element-wise operation-fusion |
KR20240157916A (ko) | 2023-04-26 | 2024-11-04 | 한국전자통신연구원 | 벡터 연산을 가속하기 위한 외적 기반 행렬-백터곱 연산 장치 및 이를 이용한 방법 |
WO2025080681A1 (en) * | 2023-10-09 | 2025-04-17 | Advanced Micro Devices, Inc. | Acceleration unit with modular architecture |
CN118332239B (zh) * | 2024-04-16 | 2024-10-15 | 大连理工大学 | 基于循环优化技术的通用卷积运算加速器架构的设计与实现方法 |
CN118860964B (zh) * | 2024-09-26 | 2025-04-01 | 杭州微纳核芯电子科技有限公司 | 通用矩阵乘的存内计算方法及存内计算系统 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2698675B2 (ja) * | 1989-12-11 | 1998-01-19 | 大日本印刷株式会社 | カラー画像情報の符号化及び再生方法 |
JPH07248841A (ja) | 1994-03-09 | 1995-09-26 | Mitsubishi Electric Corp | 非線形関数発生装置およびフォーマット変換装置 |
US9195784B2 (en) * | 1998-08-31 | 2015-11-24 | Cadence Design Systems, Inc. | Common shared memory in a verification system |
WO2003021423A2 (en) * | 2001-09-04 | 2003-03-13 | Microunity Systems Engineering, Inc. | System and method for performing multiplication |
EP1889178A2 (en) | 2005-05-13 | 2008-02-20 | Provost, Fellows and Scholars of the College of the Holy and Undivided Trinity of Queen Elizabeth near Dublin | A data processing system and method |
PL1955123T3 (pl) * | 2005-11-15 | 2010-06-30 | Ericsson Telefon Ab L M | Urządzenie mnożące z tablicą wyszukiwań |
US7532785B1 (en) * | 2007-10-23 | 2009-05-12 | Hewlett-Packard Development Company, L.P. | Photonic interconnects for computer system devices |
US20140207794A1 (en) | 2010-08-30 | 2014-07-24 | Nokia Corporation | Method and apparatus for conducting a search based on context |
JP2012064087A (ja) * | 2010-09-17 | 2012-03-29 | Keio Gijuku | 生活習慣病の診断予測装置、生活習慣病の診断予測方法及びプログラム |
US20140289445A1 (en) | 2013-03-22 | 2014-09-25 | Antony Savich | Hardware accelerator system and method |
US9384168B2 (en) | 2013-06-11 | 2016-07-05 | Analog Devices Global | Vector matrix product accelerator for microprocessor integration |
US10049322B2 (en) | 2015-05-21 | 2018-08-14 | Google Llc | Prefetching weights for use in a neural network processor |
JP2017098711A (ja) * | 2015-11-20 | 2017-06-01 | 富士通株式会社 | 歪補償装置および歪補償方法 |
US20170206033A1 (en) | 2016-01-19 | 2017-07-20 | SK Hynix Inc. | Mechanism enabling the use of slow memory to achieve byte addressability and near-dram performance with page remapping scheme |
CN107615241A (zh) * | 2016-03-31 | 2018-01-19 | 慧与发展有限责任合伙企业 | 逻辑操作 |
US11501131B2 (en) | 2016-09-09 | 2022-11-15 | SK Hynix Inc. | Neural network hardware accelerator architectures and operating method thereof |
US9779786B1 (en) * | 2016-10-26 | 2017-10-03 | Xilinx, Inc. | Tensor operations and acceleration |
US9922696B1 (en) | 2016-10-28 | 2018-03-20 | Samsung Electronics Co., Ltd. | Circuits and micro-architecture for a DRAM-based processing unit |
US20180150256A1 (en) | 2016-11-29 | 2018-05-31 | Intel Corporation | Technologies for data deduplication in disaggregated architectures |
US10528321B2 (en) | 2016-12-07 | 2020-01-07 | Microsoft Technology Licensing, Llc | Block floating point for neural network implementations |
DE112017006442T5 (de) * | 2016-12-21 | 2019-09-19 | Intel Corporation | Drahtlose kommunikationstechnologie, einrichtungen und verfahren |
US20190392297A1 (en) * | 2016-12-30 | 2019-12-26 | Intel Corporation | Deep learning hardware |
US10146738B2 (en) | 2016-12-31 | 2018-12-04 | Intel Corporation | Hardware accelerator architecture for processing very-sparse and hyper-sparse matrix data |
US10180928B2 (en) | 2016-12-31 | 2019-01-15 | Intel Corporation | Heterogeneous hardware accelerator architecture for processing sparse matrix data with skewed non-zero distributions |
EP3563307B1 (en) | 2017-02-23 | 2023-04-12 | Cerebras Systems Inc. | Accelerated deep learning |
US11086967B2 (en) | 2017-03-01 | 2021-08-10 | Texas Instruments Incorporated | Implementing fundamental computational primitives using a matrix multiplication accelerator (MMA) |
US10186011B2 (en) | 2017-04-28 | 2019-01-22 | Intel Corporation | Programmable coarse grained and sparse matrix compute hardware with advanced scheduling |
US11373266B2 (en) * | 2017-05-05 | 2022-06-28 | Intel Corporation | Data parallelism and halo exchange for distributed machine learning |
US11501152B2 (en) | 2017-05-05 | 2022-11-15 | Intel Corporation | Efficient learning and using of topologies of neural networks in machine learning |
US10643297B2 (en) * | 2017-05-05 | 2020-05-05 | Intel Corporation | Dynamic precision management for integer deep learning primitives |
US10628295B2 (en) * | 2017-12-26 | 2020-04-21 | Samsung Electronics Co., Ltd. | Computing mechanisms using lookup tables stored on memory |
US10761850B2 (en) * | 2017-12-28 | 2020-09-01 | Texas Instruments Incorporated | Look up table with data element promotion |
US11373088B2 (en) * | 2017-12-30 | 2022-06-28 | Intel Corporation | Machine learning accelerator mechanism |
US11741346B2 (en) * | 2018-02-08 | 2023-08-29 | Western Digital Technologies, Inc. | Systolic neural network engine with crossover connection optimization |
US10346093B1 (en) * | 2018-03-16 | 2019-07-09 | Xilinx, Inc. | Memory arrangement for tensor data |
US11188814B2 (en) * | 2018-04-05 | 2021-11-30 | Arm Limited | Systolic convolutional neural network |
US10599429B2 (en) * | 2018-06-08 | 2020-03-24 | Intel Corporation | Variable format, variable sparsity matrix multiplication instruction |
US11348909B2 (en) * | 2018-09-28 | 2022-05-31 | Intel Corporation | Multi-die packages with efficient memory storage |
CN111144545B (zh) * | 2018-11-02 | 2022-02-22 | 深圳云天励飞技术股份有限公司 | 用于实现卷积运算的处理元件、装置和方法 |
US11100193B2 (en) | 2018-12-07 | 2021-08-24 | Samsung Electronics Co., Ltd. | Dataflow accelerator architecture for general matrix-matrix multiplication and tensor computation in deep learning |
-
2019
- 2019-04-18 US US16/388,860 patent/US11100193B2/en active Active
- 2019-04-18 US US16/388,863 patent/US20200183837A1/en active Pending
- 2019-09-09 TW TW108132452A patent/TWI789547B/zh active
- 2019-09-12 TW TW108132890A patent/TWI811450B/zh active
- 2019-10-11 KR KR1020190126481A patent/KR20200070089A/ko active Pending
- 2019-10-11 KR KR1020190126467A patent/KR102511911B1/ko active Active
- 2019-11-14 JP JP2019205909A patent/JP7209616B2/ja active Active
- 2019-11-22 CN CN201911158714.4A patent/CN111291858A/zh active Pending
- 2019-11-22 CN CN201911159633.6A patent/CN111291859B/zh active Active
- 2019-11-26 JP JP2019213487A patent/JP7474586B2/ja active Active
-
2021
- 2021-07-13 US US17/374,988 patent/US12164593B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20210374210A1 (en) | 2021-12-02 |
CN111291858A (zh) | 2020-06-16 |
TW202038099A (zh) | 2020-10-16 |
TWI789547B (zh) | 2023-01-11 |
US20200184001A1 (en) | 2020-06-11 |
CN111291859A (zh) | 2020-06-16 |
JP7474586B2 (ja) | 2024-04-25 |
JP7209616B2 (ja) | 2023-01-20 |
TWI811450B (zh) | 2023-08-11 |
KR20200070088A (ko) | 2020-06-17 |
KR20200070089A (ko) | 2020-06-17 |
JP2020091853A (ja) | 2020-06-11 |
US12164593B2 (en) | 2024-12-10 |
TW202024960A (zh) | 2020-07-01 |
US11100193B2 (en) | 2021-08-24 |
US20200183837A1 (en) | 2020-06-11 |
JP2020091861A (ja) | 2020-06-11 |
CN111291859B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102511911B1 (ko) | Gemm 데이터플로우 가속기 반도체 회로 | |
Zhou et al. | Transpim: A memory-based acceleration via software-hardware co-design for transformer | |
CN111859273B (zh) | 矩阵乘法器 | |
Choi et al. | An energy-efficient deep convolutional neural network training accelerator for in situ personalization on smart devices | |
Jaiswal et al. | FPGA-based high-performance and scalable block LU decomposition architecture | |
US20220188613A1 (en) | Sgcnax: a scalable graph convolutional neural network accelerator with workload balancing | |
CN221960554U (zh) | 用于ai加速器集成电路的矩阵乘法计算装置及ai加速器装置 | |
Cho et al. | FARNN: FPGA-GPU hybrid acceleration platform for recurrent neural networks | |
Li et al. | FSA: A fine-grained systolic accelerator for sparse CNNs | |
Wang et al. | TAICHI: A tiled architecture for in-memory computing and heterogeneous integration | |
Han et al. | EGCN: An efficient GCN accelerator for minimizing off-chip memory access | |
CN109615061B (zh) | 一种卷积运算方法及装置 | |
Park et al. | TMA: Tera‐MACs/W neural hardware inference accelerator with a multiplier‐less massive parallel processor | |
Kim et al. | Row-streaming dataflow using a chaining buffer and systolic array+ structure | |
US20230195836A1 (en) | One-dimensional computational unit for an integrated circuit | |
Que | Reconfigurable acceleration of recurrent neural networks | |
Dey et al. | An application specific processor architecture with 3D integration for recurrent neural networks | |
Sefat et al. | Accelerating hotspots in deep neural networks on a CAPI-based FPGA | |
CN119831067B (zh) | 利用张量积中稀疏性的量子错误缓解加速方法和加速器 | |
Singh et al. | An Overlap-and-Add Based Time Domain Acceleration of CNNs on FPGA-CPU Systems | |
Modiboyina et al. | SAUN: Energy-Efficient Hardware Architecture for Systolic Array Implementation of the U-Net Model | |
Zhou et al. | OPASCA: Outer Product Based Accelerator With Unified Architecture for Sparse Convolution and Attention | |
Iliev et al. | FC_ACCEL: Enabling Efficient, Low-Latency and Flexible Inference in DNN Fully Connected Layers, using Optimized Checkerboard Block matrix decomposition, fast scheduling, and a resource efficient 1D PE array with a custom HBM2 memory subsystem | |
Tiwari et al. | Design of a Low Power and Area Efficient Bfloat16 based Generalized Systolic Array for DNN Applications | |
Zhou | Software-Hardware Co-design for Processing In-Memory Accelerators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20191011 |
|
PG1501 | Laying open of application | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20220919 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20191011 Comment text: Patent Application |
|
PA0302 | Request for accelerated examination |
Patent event date: 20220919 Patent event code: PA03022R01D Comment text: Request for Accelerated Examination Patent event date: 20191011 Patent event code: PA03021R01I Comment text: Patent Application |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20221228 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20230315 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20230316 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |