KR102722476B1 - 증가된 정밀도의 뉴럴 프로세싱 요소 - Google Patents
증가된 정밀도의 뉴럴 프로세싱 요소 Download PDFInfo
- Publication number
- KR102722476B1 KR102722476B1 KR1020217038458A KR20217038458A KR102722476B1 KR 102722476 B1 KR102722476 B1 KR 102722476B1 KR 1020217038458 A KR1020217038458 A KR 1020217038458A KR 20217038458 A KR20217038458 A KR 20217038458A KR 102722476 B1 KR102722476 B1 KR 102722476B1
- Authority
- KR
- South Korea
- Prior art keywords
- operand
- bit
- dnn
- hardware
- processor
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49994—Sign extension
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical 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/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4818—Threshold devices
- G06F2207/4824—Neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Neurology (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Advance Control (AREA)
Abstract
Description
도 2는 하나의 실시예에 따른, 증가된 정밀도를 갖는 뉴럴 프로세싱 요소의 구성의 양상들을 도시하는 컴퓨팅 아키텍처 다이어그램이다.
도 3a는 개시된 기술을 사용하여 구성된 뉴럴 프로세싱 요소의 동작의 예시적인 예를 도시하는 데이터 다이어그램이다.
도 3b는 개시된 기술을 사용하여 구성된 뉴럴 프로세싱 요소의 동작의 또 다른 예시적인 예를 도시하는 데이터 다이어그램이다.
도 4는, 본원에서 개시되는 하나의 실시예에 따른, 도 2에 도시된 뉴럴 프로세싱 요소의 동작의 양상을 예시하는 루틴을 도시하는 흐름도이다.
도 5는, 하나의 실시예에 따른, 증가된 정밀도를 갖는 뉴럴 프로세싱 요소를 포함하는 DNN 모듈에 대한 애플리케이션 호스트로서 작용할 수 있는 컴퓨팅 디바이스에 대한 예시적인 컴퓨터 하드웨어 및 소프트웨어 아키텍처를 도시하는 컴퓨터 아키텍처 도면이다.
도 6은, 본원에서 제시되는 다양한 실시예에 따른, 개시된 기술의 양상이 구현될 수 있는 분산 컴퓨팅 환경을 예시하는 네트워크 도면이다.
Claims (18)
- 복수의 뉴럴 프로세싱 요소(neural processing element)를 포함하는 심층 신경망(deep neural network; DNN) 프로세서에 있어서,
상기 복수의 뉴럴 프로세싱 요소 각각은,
제1 부호 확장 신호(sign extend signal)와 제1 피연산자의 최상위 비트(most significant bit; MSB) 사이에 논리 AND 연산을 수행하도록 구성된 제1 하드웨어 AND 게이트;
상기 제1 하드웨어 AND 게이트의 출력과 상기 제1 피연산자를 접합(concatenate)하고 제1 출력을 하드웨어 이진 승산기에 제공하도록 구성된 제1 접합기(concatenator);
제2 부호 확장 신호와 제2 피연산자의 MSB 사이에 논리 AND 연산을 수행하도록 구성된 제2 하드웨어 AND 게이트; 및
상기 제2 하드웨어 AND 게이트의 출력과 상기 제2 피연산자를 접합하고 제2 출력을 상기 하드웨어 이진 승산기에 제공하도록 구성된 제2 접합기
를 포함하는, 심층 신경망(DNN) 프로세서. - 제1항에 있어서,
상기 제1 피연산자 및 상기 제2 피연산자는 유부호(signed) 또는 무부호(unsigned) 이진 8비트 수를 포함하는 것인, 심층 신경망(DNN) 프로세서. - 제1항에 있어서,
상기 제1 출력 및 상기 제2 출력은 9비트 유부호 이진수를 포함하는 것인, 심층 신경망(DNN) 프로세서. - 제1항에 있어서,
상기 하드웨어 이진 승산기의 출력은 유부호 18비트 이진수를 포함하는 것인, 심층 신경망(DNN) 프로세서. - 제1항에 있어서,
상기 제1 피연산자의 MSB는 8비트의 유부호 이진수 또는 무부호 이진수의 비트-7을 포함하는 것인, 심층 신경망(DNN) 프로세서. - 제1항에 있어서,
상기 제2 피연산자의 MSB는 8비트의 유부호 이진수 또는 무부호 이진수의 비트-7을 포함하는 것인, 심층 신경망(DNN) 프로세서. - 제1항에 있어서,
상기 제1 부호 확장 신호 또는 상기 제2 부호 확장 신호의 상태는 상기 DNN 프로세서에 의해 이전에 프로세싱된 DNN의 계층의 유형에 기초하는 것인, 심층 신경망(DNN) 프로세서. - 제7항에 있어서,
상기 DNN 프로세서에 의해 이전에 프로세싱된 상기 DNN의 계층의 유형은 ReLU 계층을 포함하는 것인, 심층 신경망(DNN) 프로세서. - 컴퓨터로 구현된 방법에 있어서,
제1 하드웨어 AND 게이트에 의해, 제1 부호 확장 신호와 제1 피연산자의 최상위 비트(most significant bit; MSB) 사이에 논리 AND 연산을 수행하는 단계;
상기 제1 하드웨어 AND 게이트의 출력과 상기 제1 피연산자를 접합하는 단계;
제2 하드웨어 AND 게이트에 의해, 제2 부호 확장 신호와 제2 피연산자의 MSB 사이에 논리 AND 연산을 수행하는 단계;
상기 제2 하드웨어 AND 게이트의 출력과 상기 제2 피연산자를 접합하는 단계; 및
상기 제1 하드웨어 AND 게이트의 출력과 상기 제1 피연산자의 접합의 결과 및 상기 제2 하드웨어 AND 게이트와 상기 제2 피연산자의 접합의 결과를 하드웨어 이진 승산기에 전달하는(communicate) 단계
를 포함하는, 컴퓨터로 구현된 방법. - 제9항에 있어서,
상기 제1 피연산자 및 제2 피연산자는 유부호 또는 무부호 이진 8비트 수를 포함하는 것인, 컴퓨터로 구현된 방법. - 제9항에 있어서,
상기 제1 하드웨어 AND 게이트의 출력과 상기 제1 피연산자의 접합의 결과 및 상기 제2 하드웨어 AND 게이트의 출력과 상기 제2 피연산자의 접합의 결과는 9비트 유부호 이진수를 포함하는 것인, 컴퓨터로 구현된 방법. - 제11항에 있어서,
상기 하드웨어 이진 승산기의 출력은 유부호 18비트 이진수를 포함하는 것인, 컴퓨터로 구현된 방법. - 제12항에 있어서,
상기 제1 부호 확장 신호 또는 상기 제2 부호 확장 신호의 상태는 DNN 프로세서에 의해 이전에 프로세싱된 심청 신경망(DNN)의 계층의 유형에 기초하는 것인, 컴퓨터로 구현된 방법. - 제13항에 있어서,
상기 DNN 프로세서에 의해 이전에 프로세싱된 상기 DNN의 계층은 ReLU 계층을 포함하는 것인, 컴퓨터로 구현된 방법. - 복수의 뉴럴 프로세싱 요소를 포함하는 심층 신경망(deep neural network; DNN) 프로세서에 있어서,
상기 뉴럴 프로세싱 요소 각각은:
유부호 이진 8비트 피연산자 또는 무부호 8비트 피연산자를 포함하는 8비트 피연산자를 수신하고;
상기 8비트 피연산자의 최상위 비트(most significant bit; MSB)와, 부호 확장 연산이 상기 8비트 피연산자에 대해 수행되어야 하는지 여부를 표시하는 이진 신호에 대해 논리 AND 연산을 수행하고;
상기 8비트 피연산자에 새로운 MSB를 추가하여 제1 9비트 유부호 이진 값을 생성하고;
상기 제1 9비트 유부호 값의 상기 새로운 MSB에 상기 논리 AND 연산의 결과를 저장하며;
유부호 이진 8비트 피연산자 또는 무부호 8비트 피연산자를 포함하는 제2 8비트 피연산자를 수신하고;
상기 제2 8비트 피연산자의 최상위 비트(MSB)와, 부호 확장 연산이 상기 제2 8비트 피연산자에 대해 수행되어야 하는지 여부를 표시하는 제2 이진 신호에 대해 논리 AND 연산을 수행하고;
상기 제2 8비트 피연산자에 새로운 MSB를 추가하여 제2 9비트 유부호 이진 값을 생성하고;
상기 제2 9비트 유부호 값의 상기 새로운 MSB에 상기 논리 AND 연산의 결과를 저장하며;
상기 제1 9비트 유부호 값 및 상기 제2 9비트 유부호 값을 승산기에 전달하도록
구성되는 것인, 심층 신경망(DNN) 프로세서. - 제15항에 있어서,
하드웨어 이진 승산기의 출력은 유부호 18비트 이진수를 포함하는 것인, 심층 신경망(DNN) 프로세서. - 제16항에 있어서,
상기 이진 신호의 상태는 상기 DNN 프로세서에 의해 이전에 프로세싱된 DNN의 계층의 유형에 기초하는 것인, 심층 신경망(DNN) 프로세서. - 제15항에 있어서,
상기 부호 확장 연산이 상기 8비트 피연산자에 대해 수행되어야 하는지 여부를 표시하는 상기 이진 신호는 상기 DNN 프로세서에 의해 이전에 프로세싱된 DNN의 계층에 적용된 비선형성에 기초하여 설정되는 것인, 심층 신경망(DNN) 프로세서.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/457,828 | 2019-06-28 | ||
| US16/457,828 US11604972B2 (en) | 2019-06-28 | 2019-06-28 | Increased precision neural processing element |
| PCT/US2020/032399 WO2020263439A1 (en) | 2019-06-28 | 2020-05-11 | Increased precision neural processing element |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20220022480A KR20220022480A (ko) | 2022-02-25 |
| KR102722476B1 true KR102722476B1 (ko) | 2024-10-25 |
Family
ID=70857295
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020217038458A Active KR102722476B1 (ko) | 2019-06-28 | 2020-05-11 | 증가된 정밀도의 뉴럴 프로세싱 요소 |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US11604972B2 (ko) |
| EP (1) | EP3991023B1 (ko) |
| JP (1) | JP7551665B2 (ko) |
| KR (1) | KR102722476B1 (ko) |
| CN (2) | CN114008584B (ko) |
| WO (1) | WO2020263439A1 (ko) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102412872B1 (ko) * | 2021-06-17 | 2022-06-27 | 리벨리온 주식회사 | 프로세싱 엘리먼트, 이의 동작 방법, 및 이를 포함하는 가속기 |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5572235A (en) | 1992-11-02 | 1996-11-05 | The 3Do Company | Method and apparatus for processing image data |
| US5717947A (en) | 1993-03-31 | 1998-02-10 | Motorola, Inc. | Data processing system and method thereof |
| US5956265A (en) * | 1996-06-07 | 1999-09-21 | Lewis; James M. | Boolean digital multiplier |
| US5880985A (en) | 1996-10-18 | 1999-03-09 | Intel Corporation | Efficient combined array for 2n bit n bit multiplications |
| US6014684A (en) | 1997-03-24 | 2000-01-11 | Intel Corporation | Method and apparatus for performing N bit by 2*N-1 bit signed multiplication |
| WO1999021078A2 (en) * | 1997-10-23 | 1999-04-29 | Advanced Micro Devices, Inc. | A method and apparatus for multi-function arithmetic |
| RU2131145C1 (ru) | 1998-06-16 | 1999-05-27 | Закрытое акционерное общество Научно-технический центр "Модуль" | Нейропроцессор, устройство для вычисления функций насыщения, вычислительное устройство и сумматор |
| US6081823A (en) | 1998-06-19 | 2000-06-27 | Ati International Srl | Circuit and method for wrap-around sign extension for signed numbers |
| US6421698B1 (en) | 1998-11-04 | 2002-07-16 | Teleman Multimedia, Inc. | Multipurpose processor for motion estimation, pixel processing, and general processing |
| JP3614065B2 (ja) * | 1999-07-27 | 2005-01-26 | 株式会社デンソー | 符号付き整数乗算装置 |
| US20040010536A1 (en) | 2002-07-11 | 2004-01-15 | International Business Machines Corporation | Apparatus for multiplication of data in two's complement and unsigned magnitude formats |
| US10803381B2 (en) | 2014-09-09 | 2020-10-13 | Intel Corporation | Fixed point integer implementations for neural networks |
| US10552370B2 (en) | 2015-10-08 | 2020-02-04 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with output buffer feedback for performing recurrent neural network computations |
| US11036509B2 (en) | 2015-11-03 | 2021-06-15 | Intel Corporation | Enabling removal and reconstruction of flag operations in a processor |
| FR3045892B1 (fr) | 2015-12-21 | 2018-06-22 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Circuit neuronal optimise, architecture et procede pour l'execution des reseaux de neurones. |
| EP3465550B1 (en) * | 2016-05-26 | 2023-09-27 | Samsung Electronics Co., Ltd. | Accelerator for deep neural networks |
| US10417560B2 (en) * | 2016-12-01 | 2019-09-17 | Via Alliance Semiconductor Co., Ltd. | Neural network unit that performs efficient 3-dimensional convolutions |
| CN107153522B (zh) * | 2017-04-21 | 2020-10-02 | 东南大学 | 一种面向人工神经网络计算的动态精度可配近似乘法器 |
| KR102452951B1 (ko) * | 2017-08-23 | 2022-10-11 | 삼성전자주식회사 | 뉴럴 네트워크의 컨볼루션 연산을 수행하는 방법 및 장치 |
| GB2568085B (en) * | 2017-11-03 | 2020-01-01 | Imagination Tech Ltd | Hardware unit for performing matrix multiplication with clock gating |
| KR102153791B1 (ko) * | 2017-12-20 | 2020-09-08 | 연세대학교 산학협력단 | 인공 신경망을 위한 디지털 뉴런, 인공 뉴런 및 이를 포함하는 추론 엔진 |
-
2019
- 2019-06-28 US US16/457,828 patent/US11604972B2/en active Active
-
2020
- 2020-05-11 CN CN202080044133.2A patent/CN114008584B/zh active Active
- 2020-05-11 EP EP20728650.1A patent/EP3991023B1/en active Active
- 2020-05-11 JP JP2021577355A patent/JP7551665B2/ja active Active
- 2020-05-11 KR KR1020217038458A patent/KR102722476B1/ko active Active
- 2020-05-11 WO PCT/US2020/032399 patent/WO2020263439A1/en not_active Ceased
- 2020-05-11 CN CN202610161951.XA patent/CN121882135A/zh active Pending
-
2023
- 2023-02-24 US US18/174,021 patent/US12154027B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| KR20220022480A (ko) | 2022-02-25 |
| US20200410329A1 (en) | 2020-12-31 |
| CN114008584B (zh) | 2026-02-27 |
| US12154027B2 (en) | 2024-11-26 |
| WO2020263439A1 (en) | 2020-12-30 |
| EP3991023B1 (en) | 2025-09-17 |
| US11604972B2 (en) | 2023-03-14 |
| JP2022539554A (ja) | 2022-09-12 |
| US20230196086A1 (en) | 2023-06-22 |
| EP3991023A1 (en) | 2022-05-04 |
| JP7551665B2 (ja) | 2024-09-17 |
| CN114008584A (zh) | 2022-02-01 |
| CN121882135A (zh) | 2026-04-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11176448B2 (en) | Enhancing processing performance of a DNN module by bandwidth control of fabric interface | |
| KR102868993B1 (ko) | 저장 장치, 저장 장치의 동작 방법 및 이를 포함한 전자 장치 | |
| CN114821096B (zh) | 一种图像处理方法、神经网络的训练方法以及相关设备 | |
| US11494237B2 (en) | Managing workloads of a deep neural network processor | |
| WO2021081854A1 (zh) | 一种卷积运算电路和卷积运算方法 | |
| KR102722476B1 (ko) | 증가된 정밀도의 뉴럴 프로세싱 요소 | |
| US11507349B2 (en) | Neural processing element with single instruction multiple data (SIMD) compute lanes |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
Patent event date: 20211124 Patent event code: PA01051R01D Comment text: International Patent Application |
|
| PG1501 | Laying open of 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: 20240729 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20241023 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20241023 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |