IP Library › Granted Patent US 11,720,405
Granted Patent B2
US 11,720,405 · App. 17/145,958 · Granted Aug 8, 2023

Accelerator, method of operating the same, and electronic device including the same

Inventors: Wookeun Jung (Seoul, KR); Jaejin Lee (Seoul, KR); Seung Wook Lee (Suwon-si, KR)
Assignees: Samsung Electronics Co., Ltd.; Seoul National University R&DB Foundation
G06F9/5027G06F9/30014G06F9/3802G06F9/3836G06F9/48G06N3/063
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,720,405
App. No.
17/145,958
Granted
Aug 8, 2023
Kind
B2
Abstract

A processor-implemented accelerator method includes: reading, from a memory, an instruction to be executed in an accelerator; reading, from the memory, input data based on the instruction; and performing, on the input data and a parameter value included in the instruction, an inference task corresponding to the instruction.

Claims (51)

1. A processor-implemented accelerator method, the method comprising:

reading, from a memory, an instruction to be executed in an accelerator, the instruction embedding a parameter value of at least some portion of layers in a neural network for an inference task;

reading, from the memory, input data based on the instruction;

reading, from the instruction, the parameter value for the inference task; and

performing, on the input data and the parameter value embedded in the instruction, the inference task instructed by the instruction.

2. The method of claim 1 , wherein the instruction is determined by substituting, with the parameter value, an indicator of the parameter value included in an initial code.

3. The method of claim 2 , wherein

the indicator included in the initial code uses a loop variable index, and

the loop variable index is converted to an invariable index through loop unrolling.

4. The method of claim 1 , wherein the parameter value is a value fixed for the inference task.

5. The method of claim 1 , wherein the instruction is determined such that a same parameter value is used in a thread block including a plurality of threads to be processed in the accelerator.

6. The method of claim 5 , wherein an operation unit included in the accelerator and having an instruction cache is configured to process the thread block.

7. The method of claim 1 , wherein the reading of the instruction from the memory comprises:

reading, from the memory, a plurality of instructions each including a partial value of the parameter value to be used in the inference task, wherein a maximum length of the partial value of the parameter value included in each of the plurality of instructions is less than a preset threshold value,

wherein the parameter value is determined based on each of the partial values respectively included in a corresponding one of the plurality of instructions.

8. The method of claim 7 , wherein each of the plurality of instructions includes information indicating which part of the parameter value corresponds to the partial value of the parameter value included in the respective instruction.

9. The method of claim 7 , wherein

the plurality of instructions includes a first instruction including a mantissa part of the parameter value and a second instruction including an exponent part of the parameter value, and

the performing of the inference task comprises performing a multiplication operation on the mantissa part in response to the first instruction being read, and performing an addition operation on the exponent part in response to the second instruction being read.

10. The method of claim 1 , wherein

a maximum length of a parameter value portion of an instruction of the memory is less than a length of the parameter value,

the memory is configured to store the parameter value as a plurality of parameter value portions, each of the parameter value portions being included in a respective instruction,

the reading of the instruction from the memory comprises reading the respective instructions, and

the parameter value is determined based on the parameter value portions.

11. The method of claim 1 , wherein the parameter value is a parameter included in a neural network, and further comprising performing any one of speech recognition, machine translation, machine interpretation, object recognition, and pattern recognition based on a result of the performing of the inference task.

12. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, configure the processor to perform the method of claim 1 .

13. An accelerator comprising:

at least one processing element configured to:

read, from a memory, an instruction to be executed in an accelerator, the instruction embedding a parameter value of at least some portion of layers in a neural network for an inference task;

read, from the memory, input data based on the instruction;

reading, from the instruction, the parameter value for the inference task; and

perform, on the input data and the parameter value embedded in the instruction, the inference task instructed by the instruction.

14. The accelerator of claim 13 , wherein the instruction is determined by substituting, with the parameter value, an indicator of the parameter value included in an initial code.

15. The accelerator of claim 14 , wherein

the indicator included in the initial code uses a loop variable index, and

the loop variable index is converted to an invariable index through loop unrolling.

16. The accelerator of claim 13 , wherein the parameter value is a value fixed for the inference task.

17. The accelerator of claim 13 , wherein the instruction is determined such that a same parameter value is used in a thread block including a plurality of threads to be processed in the accelerator.

18. The accelerator of claim 17 , wherein an operation unit included in the accelerator and having an instruction cache is configured to process the thread block.

19. The accelerator of claim 13 , wherein, for the reading of the instruction from the memory, the processing unit is configured to:

read, from the memory, a plurality of instructions each including a partial value of the parameter value, wherein a maximum length of the partial value of the parameter value included in each of the plurality of instructions is less than a preset threshold value,

wherein the parameter value is determined based on each of the partial values respectively included in a corresponding one of the plurality of instructions.

20. The accelerator of claim 19 , wherein each of the plurality of instruction includes information indicating which part of the parameter value corresponds to the partial value included in the respective instruction.

21. An electronic device comprising the memory and the accelerator of claim 13 .

22. An electronic device comprising:

a memory configured to store an instruction to be executed in an accelerator and input data; and

the accelerator configured to:

read the instruction from the memory, the instruction embedding a parameter value of at least some portion of layers in a neural network for an inference task;

read the input data from the memory based on the instruction;

read, from the instruction, the parameter value for the inference task; and

perform, on the input data and the parameter value embedded in the instruction, the inference task instructed by the instruction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2021
From: JUNG, WOOKEUN; LEE, JAEJIN; LEE, SEUNG WOOK
To: SAMSUNG ELECTRONICS CO., LTD.; SEOUL NATIONAL UNIVERSITY R&DB FOUNDATION
Reel/Frame 054878/0757 →
Priority Claims (1)
KR 10-2020-0075682 · Jun 22, 2020 · national
Continuity (1)
Related Publication 20210397481A1 · Dec 23, 2021