Patents by Inventor Alexander Heinecke
Alexander Heinecke has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20230385059Abstract: Disclosed embodiments relate to computing dot products of nibbles in tile operands. In one example, a processor includes decode circuitry to decode a tile dot product instruction having fields for an opcode, a destination identifier to identify a M by N destination matrix, a first source identifier to identify a M by K first source matrix, and a second source identifier to identify a K by N second source matrix, each of the matrices containing doubleword elements, and execution circuitry to execute the decoded instruction to perform a flow K times for each element (M,N) of the identified destination matrix to generate eight products by multiplying each nibble of a doubleword element (M,K) of the identified first source matrix by a corresponding nibble of a doubleword element (K,N) of the identified second source matrix, and to accumulate and saturate the eight products with previous contents of the doubleword element (M,N).Type: ApplicationFiled: August 14, 2023Publication date: November 30, 2023Inventors: Raanan Sade, Simon Rubanovich, Amit Gradstein, Zeev Sperber, Alexander Heinecke, Robert Valentine, Mark J. Charney, Bret Toll, Jesus Corbal, Elmoustapha Ould-Ahmed-Vall
-
Patent number: 11816483Abstract: Embodiments detailed herein relate to matrix (tile) operations. For example, decode circuitry to decode an instruction having fields for an opcode and a memory address, and execution circuitry to execute the decoded instruction to store configuration information about usage of storage for two-dimensional data structures at the memory address.Type: GrantFiled: December 29, 2017Date of Patent: November 14, 2023Assignee: Intel CorporationInventors: Raanan Sade, Simon Rubanovich, Amit Gradstein, Zeev Sperber, Alexander Heinecke, Robert Valentine, Mark J. Charney, Bret Toll, Jesus Corbal, Elmoustapha Ould-Ahmed-Vall, Menachem Adelman
-
Patent number: 11809869Abstract: Embodiments detailed herein relate to systems and methods to store a tile register pair to memory. In one example, a processor includes: decode circuitry to decode a store matrix pair instruction having fields for an opcode and source and destination identifiers to identify source and destination matrices, respectively, each matrix having a PAIR parameter equal to TRUE; and execution circuitry to execute the decoded store matrix pair instruction to store every element of left and right tiles of the identified source matrix to corresponding element positions of left and right tiles of the identified destination matrix, respectively, wherein the executing stores a chunk of C elements of one row of the identified source matrix at a time.Type: GrantFiled: December 29, 2017Date of Patent: November 7, 2023Assignee: Intel CorporationInventors: Raanan Sade, Simon Rubanovich, Amit Gradstein, Zeev Sperber, Alexander Heinecke, Robert Valentine, Mark J. Charney, Bret Toll, Jesus Corbal, Elmoustapha Ould-Ahmed-Vall, Menachem Adelman
-
Patent number: 11789729Abstract: Disclosed embodiments relate to computing dot products of nibbles in tile operands. In one example, a processor includes decode circuitry to decode a tile dot product instruction having fields for an opcode, a destination identifier to identify a M by N destination matrix, a first source identifier to identify a M by K first source matrix, and a second source identifier to identify a K by N second source matrix, each of the matrices containing doubleword elements, and execution circuitry to execute the decoded instruction to perform a flow K times for each element (M,N) of the identified destination matrix to generate eight products by multiplying each nibble of a doubleword element (M,K) of the identified first source matrix by a corresponding nibble of a doubleword element (K,N) of the identified second source matrix, and to accumulate and saturate the eight products with previous contents of the doubleword element (M,N).Type: GrantFiled: December 29, 2017Date of Patent: October 17, 2023Assignee: Intel CorporationInventors: Raanan Sade, Simon Rubanovich, Amit Gradstein, Zeev Sperber, Alexander Heinecke, Robert Valentine, Mark J. Charney, Bret Toll, Jesus Corbal, Elmoustapha Ould-Ahmed-Vall
-
Patent number: 11768681Abstract: An apparatus and method for performing multiply-accumulate operations.Type: GrantFiled: January 24, 2018Date of Patent: September 26, 2023Assignee: Intel CorporationInventors: Alexander Heinecke, Dipankar Das, Robert Valentine, Mark Charney
-
Publication number: 20230256961Abstract: Methods, apparatus, systems, and articles of manufacture are disclosed herein that mitigate hard-braking events. An example apparatus at least one memory; instructions; and processor circuitry to execute the instructions to: determine a danger level associated with an object, the danger level indicative of a first measure of damage corresponding to a trajectory of the object compared to a trajectory of a vehicle; determine, based on the first danger level, a danger measure based on at least one of a position of the object, a velocity of the object, an acceleration of the object, a direction of travel of the object, a weight or mass of the object; and generate instructions to transmit to a steering system or a braking system of the vehicle based on the determination.Type: ApplicationFiled: February 2, 2023Publication date: August 17, 2023Inventors: Alexander Heinecke, Sara Baghsorkhi, Justin Gottschlich, Mohammad Mejbah Ul Alam, Shengtian Zhou, Jeffrey Ota
-
Publication number: 20230229446Abstract: Embodiments detailed herein relate to systems and methods to load a tile register pair. In one example, a processor includes: decode circuitry to decode a load matrix pair instruction having fields for an opcode and source and destination identifiers to identify source and destination matrices, respectively, each matrix having a PAIR parameter equal to TRUE; and execution circuitry to execute the decoded load matrix pair instruction to load every element of left and right tiles of the identified destination matrix from corresponding element positions of left and right tiles of the identified source matrix, respectively, wherein the executing operates on one row of the identified destination matrix at a time, starting with the first row.Type: ApplicationFiled: March 20, 2023Publication date: July 20, 2023Inventors: Raanan Sade, Simon Rubanovich, Amit Gradstein, Zeev Sperber, Alexander Heinecke, Robert Valentine, Mark J. Charney, Bret Toll, Jesus Corbal, Elmoustapha Ould-Ahmed-Vall, Menachem Adelman
-
Publication number: 20230214215Abstract: Embodiments detailed herein relate to arithmetic operations of float-point values. An exemplary processor includes decoding circuitry to decode an instruction, where the instruction specifies locations of a plurality of operands, values of which being in a floating-point format. The exemplary processor further includes execution circuitry to execute the decoded instruction, where the execution includes to: convert the values for each operand, each value being converted into a plurality of lower precision values, where an exponent is to be stored for each operand; perform arithmetic operations among lower precision values converted from values for the plurality of the operands; and generate a floating-point value by converting a resulting value from the arithmetic operations into the floating-point format and store the floating-point value.Type: ApplicationFiled: December 29, 2022Publication date: July 6, 2023Inventors: Gregory HENRY, Alexander HEINECKE
-
Patent number: 11669586Abstract: The present disclosure relates to an apparatus that includes decoding circuitry that decodes a single instruction. The single instruction includes an identifier of a first source operand, an identifier of a second source operand, an identifier of a destination, and an opcode indicative of execution circuitry is to multiply from the identified first source operand and the identified second source operand and store a result in the identified destination. Additionally, the apparatus includes execution circuitry to execute the single decoded instruction to calculate a dot product by calculating a plurality of products using data elements of the identified first and second operands using values less precise than the identified first and second source operands, summing the calculated products, and storing the summed products in the destination.Type: GrantFiled: February 25, 2022Date of Patent: June 6, 2023Assignee: Intel CorporationInventors: Gregory Henry, Alexander Heinecke
-
Patent number: 11669326Abstract: Embodiments detailed herein relate to matrix operations. For example, embodiments of instruction support for matrix (tile) dot product operations are detailed. Exemplary instructions including computing a dot product of signed words and accumulating in a quadword data elements of a matrix pair. Additionally, in some instances, non-accumulating quadword data elements of the matrix pair are set to zero.Type: GrantFiled: December 29, 2017Date of Patent: June 6, 2023Assignee: Intel CorporationInventors: Raanan Sade, Simon Rubanovich, Amit Gradstein, Zeev Sperber, Alexander Heinecke, Robert Valentine, Mark J. Charney, Bret Toll, Jesus Corbal, Elmoustapha Ould-Ahmed-Vall, Menachem Adelman
-
Patent number: 11645077Abstract: Embodiments detailed herein relate to systems and methods to zero a tile register pair. In one example, a processor includes decode circuitry to decode a matrix pair zeroing instruction having fields for an opcode and an identifier to identify a destination matrix having a PAIR parameter equal to TRUE; and execution circuitry to execute the decoded matrix pair zeroing instruction to zero every element of a left matrix and a right matrix of the identified destination matrix.Type: GrantFiled: June 1, 2021Date of Patent: May 9, 2023Assignee: Intel CorporationInventors: Raanan Sade, Simon Rubanovich, Amit Gradstein, Zeev Sperber, Alexander Heinecke, Robert Valentine, Mark J. Charney, Bret Toll, Jesus Corbal, Elmoustapha Ould-Ahmed-Vall, Menachem Adelman, Eyal Hadas
-
Publication number: 20230128680Abstract: Methods, apparatus, systems and articles of manufacture to provide machine assisted programming are disclosed. An example apparatus includes processor circuitry to execute computer readable instructions to: execute a machine learning model to generate a first code recommendation for programming code, the first code recommendation being associated with security of the programming code; cause output of the first code recommendation via a user interface; update the machine learning model based on feedback obtained via the user interface; determine a performance of the programming code; generate a second code recommendation, the second code recommendation being associated with the performance of the programming code; and cause output of the second code recommendation via the user interface.Type: ApplicationFiled: December 20, 2022Publication date: April 27, 2023Inventors: Marcos Emanuel Carranza, Cesar Martinez-Spessot, Mats Agerstam, Maria Ramirez Loaiza, Alexander Heinecke, Justin Gottschlich
-
Publication number: 20230101512Abstract: Techniques for shared data prefetch are described. An exemplary instruction for shared data prefetch includes at least one field for an opcode, at least one field for a source operand to provide a memory address at least a byte of data, wherein the opcode is to indicate that circuitry is to fetch of a line of data from memory at the provided address that contains the byte specified with the source operand and store that byte in at least a cache local to a requester, wherein the byte of data is to be stored in a shared state.Type: ApplicationFiled: September 25, 2021Publication date: March 30, 2023Inventors: Christopher HUGHES, Zhe WANG, Dan BAUM, Alexander HEINECKE, Evangelos GEORGANAS, Lingxiang XIANG, Joseph NUZMAN, Ritu GUPTA
-
Publication number: 20230102279Abstract: Systems, methods, and apparatuses relating sparsity based FMA. In some examples, an instance of a single FMA instruction has one or more fields for an opcode, one or more fields to identify a source/destination matrix operand, one or more fields to identify a first plurality of source matrix operands, one or more fields to identify a second plurality of matrix operands, wherein the opcode is to indicate that execution circuitry is to select a proper subset of data elements from the first plurality of source matrix operands based on sparsity controls from a first matrix operand of the second plurality of matrix operands and perform a FMA.Type: ApplicationFiled: September 25, 2021Publication date: March 30, 2023Inventors: Menachem ADELMAN, Robert VALENTINE, Dan BAUM, Amit GRADSTEIN, Simon RUBANOVICH, Regev SHEMY, Zeev SPERBER, Alexander HEINECKE, Christopher HUGHES, Evangelos GEORGANAS, Mark CHARNEY, Arik NARKIS, Rinat RAPPOPORT, Barukh ZIV, Yaroslav POLLAK, Nilesh JAIN, Yash AKHAURI, Brinda GANESH, Rajesh POORNACHANDRAN, Guy BOUDOUKH
-
Patent number: 11609762Abstract: Embodiments detailed herein relate to systems and methods to load a tile register pair. In one example, a processor includes: decode circuitry to decode a load matrix pair instruction having fields for an opcode and source and destination identifiers to identify source and destination matrices, respectively, each matrix having a PAIR parameter equal to TRUE; and execution circuitry to execute the decoded load matrix pair instruction to load every element of left and right tiles of the identified destination matrix from corresponding element positions of left and right tiles of the identified source matrix, respectively, wherein the executing operates on one row of the identified destination matrix at a time, starting with the first row.Type: GrantFiled: August 10, 2021Date of Patent: March 21, 2023Assignee: Intel CorporationInventors: Raanan Sade, Simon Rubanovich, Amit Gradstein, Zeev Sperber, Alexander Heinecke, Robert Valentine, Mark J. Charney, Bret Toll, Jesus Corbal, Elmoustapha Ould-Ahmed-Vall, Menachem Adelman
-
Publication number: 20230072105Abstract: Techniques for comparing BF16 data elements are described. An exemplary BF16 comparison instruction includes fields for an opcode, an identification of a location of a first packed data source operand, and an identification of a location of a second packed data source operand, wherein the opcode is to indicate that execution circuitry is to perform, for a particular data element position of the packed data source operands, a comparison of a data element at that position, and update a flags register based on the comparison.Type: ApplicationFiled: August 31, 2021Publication date: March 9, 2023Inventors: Alexander HEINECKE, Menachem ADELMAN, Robert VALENTINE, Zeev SPERBER, Amit GRADSTEIN, Mark CHARNEY, Evangelos GEORGANAS, Dhiraj KALAMKAR, Christopher HUGHES, Cristina ANDERSON
-
Publication number: 20230068781Abstract: Techniques for scale and reduction of BF16 data elements are described. An exemplary instruction includes fields for an having fields for an opcode, an identification of a location of a first packed data source operand, an identification of a location of a second packed data source operand, and an identification of a packed data destination operand, wherein the opcode is to indicate that execution circuitry is to perform, for each data element position of the packed data source operands, a floating point scale operation of a BF16 data element of the first packed data source by multiplying the data element by a power of 2 value, wherein a value of the exponent of the power of 2 value is a floor value of a BF16 data element of the second packed data source, and store a result of the floating point scale operation into a corresponding data element position of the packed data destination operand.Type: ApplicationFiled: August 31, 2021Publication date: March 2, 2023Inventors: Menachem ADELMAN, Alexander HEINECKE, Robert VALENTINE, Zeev SPERBER, Amit GRADSTEIN, Mark CHARNEY, Evangelos GEORGANAS, Dhiraj KALAMKAR, Christopher HUGHES, Cristina ANDERSON
-
Publication number: 20230060146Abstract: Techniques for BF16 classification or manipulation using single instructions are described. An exemplary instruction includes fields for an opcode, an identification of a location of a packed data source operand, an indication of one or more classification checks to perform, and an identification of a packed data destination operand, wherein the opcode is to indicate that execution circuitry is to perform, for each data element position of the packed data source operand, a classification according to the indicated one or more classification checks and store a result of the classification in a corresponding data element position of the destination operand.Type: ApplicationFiled: August 31, 2021Publication date: March 2, 2023Inventors: Menachem ADELMAN, Alexander HEINECKE, Robert VALENTINE, Zeev SPERBER, Amit GRADSTEIN, Mark CHARNEY, Evangelos GEORGANAS, Dhiraj KALAMKAR, Christopher HUGHES, Cristina ANDERSON
-
Publication number: 20230067810Abstract: Techniques for performing BF16 FMA in response to an instruction are described.Type: ApplicationFiled: August 31, 2021Publication date: March 2, 2023Inventors: Alexander HEINECKE, Menachem ADELMAN, Robert VALENTINE, Zeev SPERBER, Amit GRADSTEIN, Mark CHARNEY, Evangelos GEORGANAS, Dhiraj KALAMKAR, Christopher HUGHES, Cristina ANDERSON
-
Publication number: 20230069000Abstract: Techniques for performing arithmetic operations on BF16 values are described. An exemplary instruction includes fields for an opcode, an identification of a location of a first packed data source operand, an identification of a location of a second packed data source operand, and an identification of location of a packed data destination operand, wherein the opcode is to indicate an arithmetic operation execution circuitry is to perform, for each data element position of the identified packed data source operands, the arithmetic operation on BF16 data elements in that data element position in BF16 format and store a result of each arithmetic operation into a corresponding data element position of the identified packed data destination operand.Type: ApplicationFiled: August 31, 2021Publication date: March 2, 2023Inventors: Alexander HEINECKE, Menachem ADELMAN, Robert VALENTINE, Zeev SPERBER, Amit GRADSTEIN, Mark CHARNEY, Evangelos GEORGANAS, Dhiraj KALAMKAR, Christopher HUGHES, Cristina ANDERSON