Patents by Inventor Rajeev Patwari
Rajeev Patwari 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).
-
Patent number: 12248786Abstract: Controlling a data processing (DP) array includes creating a replica of a register address space of the DP array based on the design and the DP array. A sequence of instructions, including write instructions and read instructions, is received. The write instructions correspond to buffer descriptors specifying runtime data movements for a design for a DP array. The write instructions are converted into transaction instructions and the read instructions are converted into wait instructions based on the replica of the register address space. The transaction instructions and the wait instructions are included in an instruction buffer. The instruction buffer is provided to a microcontroller configured to execute the transaction instructions and the wait instructions to implement the runtime data movements for the design as implemented in the DP array. In another aspect, the instruction buffer is stored in a file for subsequent execution by the microcontroller.Type: GrantFiled: August 8, 2022Date of Patent: March 11, 2025Assignee: Xilinx, Inc.Inventors: Xiao Teng, Tejus Siddagangaiah, Bryan Lozano, Ehsan Ghasemi, Rajeev Patwari, Elliott Delaye, Jorn Tuyls, Aaron Ng, Sanket Pandit, Pramod Peethambaran, Satyaprakash Pareek
-
Patent number: 12147379Abstract: Examples herein describe techniques for performing parallel processing using a plurality of processing elements (PEs) and a controller for data that has data dependencies. For example, a calculation may require an entire row or column to be summed, or to determine its mean. The PEs can be assigned different chunks of a data set (e.g., a tensor set, a column, or a row) for processing. The PEs can use one or more tokens to inform the controller when they are done with partial processing of their data chunks. The controller can then gather the partial results and determine an intermediate value for the data set. The controller can then distribute this intermediate value to the PEs which then re-process their respective data chunks using the intermediate value to generate final results.Type: GrantFiled: December 28, 2022Date of Patent: November 19, 2024Assignee: XILINX, INC.Inventors: Rajeev Patwari, Jorn Tuyls, Elliott Delaye, Xiao Teng, Ephrem Wu
-
Publication number: 20240336272Abstract: A system can include a data processing system. The data processing system can include memory devices coupled with one or more processors. The data processing system can receive a model trained by machine learning comprising first operations, the model to generate an output to operate a vehicle. The data processing system can search the model to identify a non-linear operation of the first operations. The data processing system can select, from second operations, a second operation that approximates the non-linear operation, the selection based on a level of computing resources consumed by the second operations, an accuracy of the model generated with the second operations, and an accuracy threshold to operate the vehicle. The data processing system can replace the non-linear operation with the second operation in the model to produce a second output.Type: ApplicationFiled: April 10, 2023Publication date: October 10, 2024Inventors: Rajeev Patwari, Bradley Lester Taylor
-
Patent number: 12079158Abstract: An integrated circuit includes a plurality of kernels and a virtual machine coupled to the plurality of kernels. The virtual machine is configured to interpret instructions directed to different ones of the plurality of kernels. The virtual machine is configured to control operation of the different ones of the plurality of kernels responsive to the instructions.Type: GrantFiled: July 25, 2022Date of Patent: September 3, 2024Assignee: Xilinx, Inc.Inventors: Sanket Pandit, Jorn Tuyls, Xiao Teng, Rajeev Patwari, Ehsan Ghasemi, Elliott Delaye, Aaron Ng
-
Publication number: 20240220444Abstract: Examples herein describe techniques for performing parallel processing using a plurality of processing elements (PEs) and a controller for data that has data dependencies. For example, a calculation may require an entire row or column to be summed, or to determine its mean. The PEs can be assigned different chunks of a data set (e.g., a tensor set, a column, or a row) for processing. The PEs can use one or more tokens to inform the controller when they are done with partial processing of their data chunks. The controller can then gather the partial results and determine an intermediate value for the data set. The controller can then distribute this intermediate value to the PEs which then re-process their respective data chunks using the intermediate value to generate final results.Type: ApplicationFiled: December 28, 2022Publication date: July 4, 2024Inventors: Rajeev PATWARI, Jorn TUYLS, Elliott DELAYE, Xiao TENG, Ephrem WU
-
Patent number: 11941248Abstract: Approaches for data compression involve a compression circuit packing non-zero data elements of a succession of words of a plurality of blocks into packed words by packing non-zero data elements of one or more words of the succession in each packed word, and restricting each packed word to data elements of one uncompressed block. The compression circuit writes each packed word in a RAM and within a compressed address range associated with the uncompressed block when the packed word is full of non-zero data elements, or before the packed word is full if the next input word is of another uncompressed block.Type: GrantFiled: December 13, 2021Date of Patent: March 26, 2024Assignee: XILINX, INC.Inventors: Vamsi Krishna Nalluri, Sai Lalith Chaitanya Ambatipudi, Mrinal J. Sarmah, Rajeev Patwari, Shreyas Manjunath, Sandeep Jayant Sathe
-
Publication number: 20240069511Abstract: Instruction generation for a data processing array and microcontroller includes generating a tensor-level intermediate representation from a machine learning model using kernel expressions. Statements of the tensor-level intermediate representation are partitioned into a first set of statements and a second set of statements. From the first set of statements, kernel instructions are generated based on a reconfigurable neural engine model. The kernel instructions are executable by a compute tile of a data processing array to implement compute functions of the machine learning model. From the set of second statements, microcontroller instructions are generated based on a super-graph model. The microcontroller instructions are executable by a microcontroller of the data processing array to move data into and out from the data processing array.Type: ApplicationFiled: August 31, 2022Publication date: February 29, 2024Applicant: Xilinx, Inc.Inventors: Jorn Tuyls, Xiao Teng, Sanket Pandit, Rajeev Patwari, Qian Zhou, Ehsan Ghasemi, Ephrem C. Wu, Elliott Delaye, Aaron Ng
-
Publication number: 20240045692Abstract: Controlling a data processing (DP) array includes creating a replica of a register address space of the DP array based on the design and the DP array. A sequence of instructions, including write instructions and read instructions, is received. The write instructions correspond to buffer descriptors specifying runtime data movements for a design for a DP array. The write instructions are converted into transaction instructions and the read instructions are converted into wait instructions based on the replica of the register address space. The transaction instructions and the wait instructions are included in an instruction buffer. The instruction buffer is provided to a microcontroller configured to execute the transaction instructions and the wait instructions to implement the runtime data movements for the design as implemented in the DP array. In another aspect, the instruction buffer is stored in a file for subsequent execution by the microcontroller.Type: ApplicationFiled: August 8, 2022Publication date: February 8, 2024Applicant: Xilinx, Inc.Inventors: Xiao Teng, Tejus Siddagangaiah, Bryan Lozano, Ehsan Ghasemi, Rajeev Patwari, Elliott Delaye, Jorn Tuyls, Aaron Ng, Sanket Pandit, Pramod Peethambaran, Satyaprakash Pareek
-
Publication number: 20240028556Abstract: An integrated circuit includes a plurality of kernels and a virtual machine coupled to the plurality of kernels. The virtual machine is configured to interpret instructions directed to different ones of the plurality of kernels. The virtual machine is configured to control operation of the different ones of the plurality of kernels responsive to the instructions.Type: ApplicationFiled: July 25, 2022Publication date: January 25, 2024Applicant: Xilinx, Inc.Inventors: Sanket Pandit, Jorn Tuyls, Xiao Teng, Rajeev Patwari, Ehsan Ghasemi, Elliott Delaye, Aaron Ng
-
Publication number: 20230401480Abstract: Hardware acceleration of machine learning (ML) designs includes translating an ML primitive into an intermediate representation. The intermediate representation is subdivided to specify a functional compute block. The functional compute block is sized according to a compute node primitive adapted for implementing the ML primitive on target hardware. An overlay is generated for the ML primitive, at least in part, by mapping the functional compute block to the compute node primitive. The overlay is synthesizable to implement the ML primitive on the target hardware. The overlay can be scheduled for operation within the target hardware as part of an ML design including the ML primitive.Type: ApplicationFiled: June 14, 2022Publication date: December 14, 2023Applicant: Xilinx, Inc.Inventors: Ehsan Ghasemi, Rajeev Patwari, Elliott Delaye, Jorn Tuyls, Ephrem C. Wu, Xiao Teng, Sanket Pandit
-
Publication number: 20230297824Abstract: A programmable, non-linear (PNL) activation engine for a neural network is capable of receiving input data within a circuit. In response to receiving an instruction corresponding to the input data, the PNL activation engine is capable of selecting a first non-linear activation function from a plurality of non-linear activation functions by decoding the instruction. The PNL activation engine is capable of fetching a first set of coefficients corresponding to the first non-linear activation function from a memory. The PNL activation engine is capable of performing a polynomial approximation of the first non-linear activation function on the input data using the first set of coefficients. The PNL activation engine is capable of outputting a result from the polynomial approximation of the first non-linear activation function.Type: ApplicationFiled: March 18, 2022Publication date: September 21, 2023Applicant: Xilinx, Inc.Inventors: Rajeev Patwari, Chaithanya Dudha, Jorn Tuyls, Kaushik Barman, Aaron Ng
-
Publication number: 20230185451Abstract: Approaches for data compression involve a compression circuit packing non-zero data elements of a succession of words of a plurality of blocks into packed words by packing non-zero data elements of one or more words of the succession in each packed word, and restricting each packed word to data elements of one uncompressed block. The compression circuit writes each packed word in a RAM and within a compressed address range associated with the uncompressed block when the packed word is full of non-zero data elements, or before the packed word is full if the next input word is of another uncompressed block.Type: ApplicationFiled: December 13, 2021Publication date: June 15, 2023Applicant: Xilinx, Inc.Inventors: Vamsi Krishna Nalluri, Sai Lalith Chaitanya Ambatipudi, Mrinal J. Sarmah, Rajeev Patwari, Shreyas Manjunath, Sandeep Jayant Sathe
-
Patent number: 11188697Abstract: Determining on-chip memory access patterns can include modifying a circuit design to include a profiler circuit for a random-access memory (RAM) of the circuit design, wherein the profiler circuit is configured to monitor an address bus of the RAM, and modifying the circuit design to include a debug circuit connected to the profiler circuit. Usage data for the RAM can be generated by detecting, using the profiler circuit, addresses of the RAM accessed during a test of the circuit design, as implemented in an integrated circuit. The usage data for the RAM can be output using the debug circuit.Type: GrantFiled: January 5, 2021Date of Patent: November 30, 2021Assignee: Xilinx, Inc.Inventors: Chaithanya Dudha, Rajeev Patwari, Nithin Kumar Guggilla, Ashish Sirasao, Krishna Garlapati