G06F7/49994

Increased precision neural processing element

Neural processing elements are configured with a hardware AND gate configured to perform a logical AND operation between a sign extend signal and a most significant bit (“MSB”) of an operand. The state of the sign extend signal can be based upon a type of a layer of a deep neural network (“DNN”) that generate the operand. If the sign extend signal is logical FALSE, no sign extension is performed. If the sign extend signal is logical TRUE, a concatenator concatenates the output of the hardware AND gate and the operand, thereby extending the operand from an N-bit unsigned binary value to an N+1 bit signed binary value. The neural processing element can also include another hardware AND gate and another concatenator for processing another operand similarly. The outputs of the concatenators for both operands are provided to a hardware binary multiplier.

TECHNIQUE FOR BIT UP-CONVERSION WITH SIGN EXTENSION
20220326909 · 2022-10-13 ·

A technique for bit depth up-conversion including obtaining an input value for a computation in a first bit depth with a fewer number of bits as compared to a second bit depth, converting the input value from the first bit depth to the second bit depth as an unsigned data value, adjusting a pointer to the converted input value based on the first bit depth, performing the computation based on the adjusted pointer to obtain an adjusted output value, and performing a right shift operation on the adjusted output value based on the first bit depth to obtain an output value.

INCREASED PRECISION NEURAL PROCESSING ELEMENT

Neural processing elements are configured with a hardware AND gate configured to perform a logical AND operation between a sign extend signal and a most significant bit (“MSB”) of an operand. The state of the sign extend signal can be based upon a type of a layer of a deep neural network (“DNN”) that generate the operand. If the sign extend signal is logical FALSE, no sign extension is performed. If the sign extend signal is logical TRUE, a concatenator concatenates the output of the hardware AND gate and the operand, thereby extending the operand from an N-bit unsigned binary value to an N+1 bit signed binary value. The neural processing element can also include another hardware AND gate and another concatenator for processing another operand similarly. The outputs of the concatenators for both operands are provided to a hardware binary multiplier.

Method for forming constant extensions in the same execute packet in a VLIW processor

In a very long instruction word (VLIW) central processing unit instructions are grouped into execute packets that execute in parallel. A constant may be specified or extended by bits in a constant extension instruction in the same execute packet. If an instruction includes an indication of constant extension, the decoder employs bits of a constant extension instruction to extend the constant of an immediate field. Two or more constant extension slots are permitted in each execute packet, each extending constants for a different predetermined subset of functional unit instructions. In an alternative embodiment, more than one functional unit may have constants extended from the same constant extension instruction employing the same extended bits. A long extended constant may be formed using the extension bits of two constant extension instructions.

Multiple modes for handling overflow conditions resulting from arithmetic operations

A method and apparatus for handling overflow conditions resulting from arithmetic operations involving floating point numbers. An indication is stored as part of a thread's context indicating one of two possible modes for handling overflow conditions. In a first mode, a result of an arithmetic operation is set to the limit representable in the floating point format. In a second mode, a result of an arithmetic operation is set to a NaN.

Forming Constant Extensions in the Same Execute Packet in a VLIW Processor

In a very long instruction word (VLIW) central processing unit instructions are grouped into execute packets that execute in parallel. A constant may be specified or extended by bits in a constant extension instruction in the same execute packet. If an instruction includes an indication of constant extension, the decoder employs bits of a constant extension instruction to extend the constant of an immediate field. Two or more constant extension slots are permitted in each execute packet, each extending constants for a different predetermined subset of functional unit instructions. In an alternative embodiment, more than one functional unit may have constants extended from the same constant extension instruction employing the same extended bits. A long extended constant may be formed using the extension bits of two constant extension instructions.

Arithmetic and logical operations in a multi-user network
11074100 · 2021-07-27 · ·

Systems, apparatuses, and methods related to arithmetic and logical operations in a multi-user network are described. An agent may be provisioned with a pool of shared computing resources that includes circuitry to perform operations on data (e.g., one or more posit bit strings) in a multi-user network. The circuitry can perform operations on data to convert the data between one or more formats, such as floating-point and/or universal number (e.g., posit) formats, and can further perform arithmetic and/or logical operations on the converted data. The agent may receive a parameter corresponding to performance of an arithmetic operation and/or a logical operation using one or more posit bit strings and cause performance of the arithmetic operation and/or the logical operation using the one or more posit bit strings.

INCREASED PRECISION NEURAL PROCESSING ELEMENT

Neural processing elements are configured with a hardware AND gate configured to perform a logical AND operation between a sign extend signal and a most significant bit (MSB) of an operand. The state of the sign extend signal can be based upon a type of a layer of a deep neural network (DNN) that generate the operand. If the sign extend signal is logical FALSE, no sign extension is performed. If the sign extend signal is logical TRUE, a concatenator concatenates the output of the hardware AND gate and the operand, thereby extending the operand from an N-bit unsigned binary value to an N+1 bit signed binary value. The neural processing element can also include another hardware AND gate and another concatenator for processing another operand similarly. The outputs of the concatenators for both operands are provided to a hardware binary multiplier.

Method for Forming Constant Extensions in the Same Execute Packet in a VLIW Processor

In a very long instruction word (VLIW) central processing unit instructions are grouped into execute packets that execute in parallel. A constant may be specified or extended by bits in a constant extension instruction in the same execute packet. If an instruction includes an indication of constant extension, the decoder employs bits of a constant extension instruction to extend the constant of an immediate field. Two or more constant extension slots are permitted in each execute packet, each extending constants for a different predetermined subset of functional unit instructions. In an alternative embodiment, more than one functional unit may have constants extended from the same constant extension instruction employing the same extended bits. A long extended constant may be formed using the extension bits of two constant extension instructions.

ARITHMETIC AND LOGICAL OPERATIONS IN A MULTI-USER NETWORK
20200272506 · 2020-08-27 ·

Systems, apparatuses, and methods related to arithmetic and logical operations in a multi-user network are described. An agent may be provisioned with a pool of shared computing resources that includes circuitry to perform operations on data (e.g., one or more posit bit strings) in a multi-user network. The circuitry can perform operations on data to convert the data between one or more formats, such as floating-point and/or universal number (e.g., posit) formats, and can further perform arithmetic and/or logical operations on the converted data. The agent may receive a parameter corresponding to performance of an arithmetic operation and/or a logical operation using one or more posit bit strings and cause performance of the arithmetic operation and/or the logical operation using the one or more posit bit strings.