Patents by Inventor Kurian John
Kurian John 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: 12111913Abstract: A secure processor with fault detection has a core thread which executes with a redundant branch processor thread. In one configuration, the core thread is operative on a fully functional core processor configured to execute a complete instruction set, and the redundant branch processor thread contains only initialization instructions and flow control instructions such as branch instructions and is operative on a redundant branch processor which is configured to execute a subset of the complete instruction set, specifically a branch control variable initialization and a branch instruction, thereby greatly simplifying the redundant branch processor architecture. Fault conditions are detected by comparing either a history of branch taken/not taken and branch targets, or a comparison of program counter activity for the core thread and redundant branch processor thread.Type: GrantFiled: September 26, 2021Date of Patent: October 8, 2024Assignee: Ceremorphic, Inc.Inventors: Lizy Kurian John, Heonchul Park, Venkat Mattela
-
Patent number: 12105625Abstract: A programmable address generator has an iteration variable generator for generation of an ordered set of iteration variables, which are re-ordered by an iteration variable selection fabric, which delivers the re-ordered iteration variables to one or more address generators. A configurator receives an instruction containing fields which provide configuration constants to the address generator, iteration variable selection fabric, and address generators. After configuration, the address generators provide addresses coupled to a memory. In one example of the invention, the address generators generate an input address, a coefficient address, and an output address for performing convolutional neural network inferences.Type: GrantFiled: January 29, 2022Date of Patent: October 1, 2024Assignee: Ceremorphic, Inc.Inventors: Lizy Kurian John, Venkat Mattela, Heonchul Park
-
Patent number: 12072799Abstract: A programmable address generator has an iteration variable generator for generation of an ordered set of iteration variables, which are re-ordered by an iteration variable selection fabric, which delivers the re-ordered iteration variables to one or more address generators. A configurator receives an instruction containing fields which provide configuration constants to the address generator, iteration variable selection fabric, and address generators. After configuration, the address generators provide addresses coupled to a memory. In one example of the invention, the address generators generate an input address, a coefficient address, and an output address for performing convolutional neural network inferences.Type: GrantFiled: March 14, 2023Date of Patent: August 27, 2024Assignee: Ceremorphic, Inc.Inventors: Lizy Kurian John, Venkat Mattela, Heonchul Park
-
Patent number: 12026093Abstract: A data storage system has a CPU data bus for reading and writing data to data accelerators. Each data accelerator has a controller which receives the read and write requests and determines whether to read or write a local cache memory in preprocessed form or an attached accelerator memory which has greater size capacity based on entries in an address translation table (ATT) and saves data in a raw unprocessed form. The controller may also include an address translation table for mapping input addresses to memory addresses and indicating the presence of data in preprocessed form.Type: GrantFiled: August 8, 2022Date of Patent: July 2, 2024Assignee: Ceremorphic, Inc.Inventors: Lizy Kurian John, Venkat Mattela, Heonchul Park
-
Patent number: 11921843Abstract: A fault detecting multi-thread pipeline processor with fault detection is operative with a single pipeline stage which generates branch status comprising at least one of branch taken/not_taken, branch direction, and branch target. A first thread has control and data instructions, the control instructions comprising loop instructions including unconditional and conditional branch instructions, loop initialization instructions, loop arithmetic instructions, and no operation (NOP) instructions. A second thread has only control instructions and either has the non-control instructions replaced with NOP instructions, or removed entirely. A fault detector compares the branch status of the first thread and second thread and asserts a fault output when they do not match.Type: GrantFiled: September 26, 2021Date of Patent: March 5, 2024Assignee: Ceremorphic, Inc.Inventors: Lizy Kurian John, Heonchul Park, Venkat Mattela
-
Publication number: 20230289287Abstract: A programmable address generator has an iteration variable generator for generation of an ordered set of iteration variables, which are re-ordered by an iteration variable selection fabric, which delivers the re-ordered iteration variables to one or more address generators. A configurator receives an instruction containing fields which provide configuration constants to the address generator, iteration variable selection fabric, and address generators. After configuration, the address generators provide addresses coupled to a memory. In one example of the invention, the address generators generate an input address, a coefficient address, and an output address for performing convolutional neural network inferences.Type: ApplicationFiled: March 14, 2023Publication date: September 14, 2023Applicant: CEREMORPHIC, INC.Inventors: Lizy Kurian JOHN, Venkat MATTELA, Heonchul PARK
-
Publication number: 20230244600Abstract: A process for iterating through a multi-dimensional array has an iteration process and an address generation process. In one example of the invention an input address process, a coefficient address process, and an output address process generate addresses for a convolutional neural network (CNN. Each of the input address process, coefficient address process, and output address process is coupled to a plurality of iteration variables generated by an iteration variable process, each iteration variable process having an associated with a bound and stride for each iteration variable, thereby generating an input address, a coefficient address, and an output address.Type: ApplicationFiled: January 29, 2022Publication date: August 3, 2023Applicant: Ceremorphic, Inc.Inventors: Lizy Kurian JOHN, Venkat MATTELA, Heonchul PARK
-
Publication number: 20230244599Abstract: A programmable address generator has an iteration variable generator for generation of an ordered set of iteration variables, which are re-ordered by an iteration variable selection fabric, which delivers the re-ordered iteration variables to one or more address generators. A configurator receives an instruction containing fields which provide configuration constants to the address generator, iteration variable selection fabric, and address generators. After configuration, the address generators provide addresses coupled to a memory. In one example of the invention, the address generators generate an input address, a coefficient address, and an output address for performing convolutional neural network inferences.Type: ApplicationFiled: January 29, 2022Publication date: August 3, 2023Applicant: Ceremorphic, Inc.Inventors: Lizy Kurian JOHN, Venkat MATTELA, Heonchul PARK
-
Publication number: 20230097983Abstract: A fault detecting multi-thread pipeline processor with fault detection is operative with a single pipeline stage which generates branch status comprising at least one of branch taken/not_taken, branch direction, and branch target. A first thread has control and data instructions, the control instructions comprising loop instructions including unconditional and conditional branch instructions, loop initialization instructions, loop arithmetic instructions, and no operation (NOP) instructions. A second thread has only control instructions and either has the non-control instructions replaced with NOP instructions, or removed entirely. A fault detector compares the branch status of the first thread and second thread and asserts a fault output when they do not match.Type: ApplicationFiled: September 26, 2021Publication date: March 30, 2023Applicant: Ceremorphic, Inc.Inventors: Lizy Kurian JOHN, Heonchul PARK, Venkat MATTELA
-
Publication number: 20230098640Abstract: A secure processor with fault detection has a core thread which executes with a redundant branch processor thread. In one configuration, the core thread is operative on a fully functional core processor configured to execute a complete instruction set, and the redundant branch processor thread contains only initialization instructions and flow control instructions such as branch instructions and is operative on a redundant branch processor which is configured to execute a subset of the complete instruction set, specifically a branch control variable initialization and a branch instruction, thereby greatly simplifying the redundant branch processor architecture. Fault conditions are detected by comparing either a history of branch taken/not taken and branch targets, or a comparison of program counter activity for the core thread and redundant branch processor thread.Type: ApplicationFiled: September 26, 2021Publication date: March 30, 2023Applicant: Ceremorphic, Inc.Inventors: Lizy Kurian JOHN, Heonchul Park, Venkat MATTELA
-
Publication number: 20220327434Abstract: Systems and methods for a new field programmable gate array (FPGA) architecture that is optimized for machine learning (ML) applications are provided. Such ML applications can specifically include, for example, artificial neural networks and deep neural networks. Various embodiments enable the design of faster and more power efficient hardware accelerators for machine learning algorithms, compared to existing FPGAs in the market. This is made possible by hard systolic matrix multiplier blocks, hard activation blocks and soft ML-centric configurable logic blocks. The matrix multiplier blocks are connected to field programmable interconnect resources to enable creation of larger matrix multipliers. The hard matrix multipliers and the hard activation blocks have programmable interconnects between them and neighboring memory or compute blocks on the device.Type: ApplicationFiled: September 29, 2020Publication date: October 13, 2022Inventors: Lizy Kurian John, Aman Arora
-
Patent number: 10949741Abstract: A method, system and computer program product for generating sets of training programs for machine learning models. Fixed values of one or more workload metrics are received from a user, where the workload metrics correspond to low-level program features which define particular low-level application behavior. A profile using the fixed values of the workload metrics is then created. A suite of synthetic applications is generated using the created profile to form a set of training programs which target particular aspects of program behavior. A machine learning model is then trained using the set of training programs. Since the generated synthetic applications provide a broader coverage of the program state-space, the formed set of training programs more accurately targets performance behavior thereby improving the prediction accuracy of the machine learning based predictive models.Type: GrantFiled: June 23, 2017Date of Patent: March 16, 2021Assignee: Board of Regents, The University of Texas SystemInventors: Lizy Kurian John, Reena Panda, Xinnian Zheng, Andreas Gerstlauer
-
Patent number: 10827695Abstract: A process for in vitro induction of flowering/in vitro proliferation of floral primordia in saffron crocus (Crocus sativus L.) produces whole flowers with real stigmas. The process produces saffron through a process of in vitro flowering to obtain season independent, continuous flowering of saffron.Type: GrantFiled: December 16, 2016Date of Patent: November 10, 2020Assignee: Council of Scientific & Industrial ResearchInventors: Chovumpurathu Kurian John, Mrudul Vijay Shirgurkar, Ashok Bhimrao Dhage
-
Publication number: 20200120889Abstract: A process for in vitro induction of flowering/in vitro proliferation of floral primordia in saffron crocus (Crocus sativus L.) produces whole flowers with real stigmas. The process produces saffron through a process of in vitro flowering to obtain season independent, continuous flowering of saffron.Type: ApplicationFiled: December 16, 2016Publication date: April 23, 2020Inventors: Chovumpurathu KURIAN JOHN, Mrudul VIJAY SHIRGURKAR, Ashok BHIMRAO DHAGE
-
Patent number: 10437648Abstract: A method, system and computer program product for load balancing of graph processing workloads. Synthetic proxy graphs are generated to characterize machines' graph processing speeds in a cluster. Each of the graph applications executing in the cluster is profiled using the synthetic graphs to form profiling sets. These formed profiling sets are run among the machines in the cluster to capture the machines' graph processing speeds. A metric for each of the graph applications is computed from a relative speedup among the machines in the cluster and/or the graph processing speeds. A graph file of a natural graph and a graph application are loaded. A metric out of the computed metrics is selected based on the graph application. The natural graph is then partitioned into multiple chunks which is distributed onto two or more machines in the cluster based on the selected metric and a user selected partitioning algorithm.Type: GrantFiled: June 23, 2017Date of Patent: October 8, 2019Assignee: Board of Regents, The University of Texas SystemInventors: Lizy Kurian John, Shuang Song, Andreas Gerstlauer
-
Publication number: 20180024869Abstract: A method, system and computer program product for load balancing of graph processing workloads. Synthetic proxy graphs are generated to characterize machines' graph processing speeds in a cluster. Each of the graph applications executing in the cluster is profiled using the synthetic graphs to form profiling sets. These formed profiling sets are run among the machines in the cluster to capture the machines' graph processing speeds. A metric for each of the graph applications is computed from a relative speedup among the machines in the cluster and/or the graph processing speeds. A graph file of a natural graph and a graph application are loaded. A metric out of the computed metrics is selected based on the graph application. The natural graph is then partitioned into multiple chunks which is distributed onto two or more machines in the cluster based on the selected metric and a user selected partitioning algorithm.Type: ApplicationFiled: June 23, 2017Publication date: January 25, 2018Inventors: Lizy Kurian John, Shuang Song, Andreas Gerstlauer
-
Publication number: 20180025270Abstract: A method, system and computer program product for generating sets of training programs for machine learning models. Fixed values of one or more workload metrics are received from a user, where the workload metrics correspond to low-level program features which define particular low-level application behavior. A profile using the fixed values of the workload metrics is then created. A suite of synthetic applications is generated using the created profile to form a set of training programs which target particular aspects of program behavior. A machine learning model is then trained using the set of training programs. Since the generated synthetic applications provide a broader coverage of the program state-space, the formed set of training programs more accurately targets performance behavior thereby improving the prediction accuracy of the machine learning based predictive models.Type: ApplicationFiled: June 23, 2017Publication date: January 25, 2018Inventors: Lizy Kurian John, Reena Panda, Xinnian Zheng, Andreas Gerstlauer
-
Patent number: 8527950Abstract: Disclosed is a verification method and system for a localized computer software application, the method and system comprising identifying, for a current graphical object generated by a graphical user interface of the localized application, a resource corresponding to the current graphical object; comparing the content of the current graphical object with the identified resource; and generating an error event when the content does not match the identified resource.Type: GrantFiled: August 12, 2008Date of Patent: September 3, 2013Assignee: International Business Machines CorporationInventors: Edwin Charles Berry, Kurian John, VinodKumar Raghavan, Rajesh Pravin Thakkar, Shruti Ujjwal
-
Patent number: 8381190Abstract: A hashing tool can be used to generate Object UIDs from a software application. The software application can be tested. A change and release management system can receive Object UIDs involved in a defect uncovered during the testing. The change and release management system can receive names of functions involved in the defect uncovered during the testing and defect fixing. A graphical representation of function names versus Object UIDs for which the defect occurred can be created.Type: GrantFiled: March 6, 2012Date of Patent: February 19, 2013Assignee: International Business Machines CorporationInventors: Kurian John, Kamala Parvathanathan
-
Patent number: 8381188Abstract: A hashing tool can be used to generate Object UIDs from a software application. The software application can be tested. A change and release management system can receive Object UIDs involved in a defect uncovered during the testing. The change and release management system can receive names of functions involved in the defect uncovered during the testing and defect fixing. A graphical representation of function names versus Object UIDs for which the defect occurred can be created.Type: GrantFiled: December 4, 2009Date of Patent: February 19, 2013Assignee: International Business Machines CorporationInventors: Kurian John, Kamala Parvathanathan