Efficient selection of single instruction multiple data operations for neural processing units
AssigneeTesla, Inc.
InventorsDaniel Hopper, Peter Sassone, James Longino
Life of this patent
Estimating the term…
Abstract
Systems and methods for efficient selection of single instruction multiple data operations for neural processing units. An example processor system comprises a matrix processor configured to perform convolutions associated with a neural network and single instruction multiple data (SIMD) processors in communication with the matrix processors, with the SIMD processors being configured to execute a group of operations based on a current position associated with processing the neural network, and with the group of operations being selected from multiple SIMD programs, and with the group of operations being selected from the SIMD programs according to the current position.
Claims17
A processor system comprising:
- a matrix processor configured to perform convolutions associated with a neural network;
- and
- one or more single instruction multiple data (SIMD) processors in communication with the matrix processor,
- wherein the SIMD processors are configured to execute a group of operations based on a current position associated with processing the neural network,
- wherein the group of operations is selected from a plurality of SIMD programs, wherein the group of operations is selected from the SIMD programs according to the current position,
- wherein the group of operations is selected using a program counter, and wherein the program counter is used to limit execution between a beginning pointer and an ending pointer, and wherein the beginning pointer and the ending pointer identify the group of operations from the SIMD programs.
A method implemented by a processor system, the method comprising:
- causing execution of a neural network;
- identifying a current position associated with the neural network;
- and
- causing execution, via one or more single instruction multiple data (SIMD) processors, of a SIMD program associated with the current position, wherein the SIMD program is selected from a plurality of SIMD programs, wherein the SIMD program is selected from the SIMD programs according to the current position,
- wherein the SIMD program is selected using a program counter, wherein the program counter is used to limit execution between a beginning pointer and an ending pointer, and wherein the beginning pointer and the ending pointer identify the SIMD program from the plurality of SIMD programs.
Dependencies are inferred from the claim text.