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: 12111913
    Abstract: 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: Grant
    Filed: September 26, 2021
    Date of Patent: October 8, 2024
    Assignee: Ceremorphic, Inc.
    Inventors: Lizy Kurian John, Heonchul Park, Venkat Mattela
  • Patent number: 12105625
    Abstract: 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: Grant
    Filed: January 29, 2022
    Date of Patent: October 1, 2024
    Assignee: Ceremorphic, Inc.
    Inventors: Lizy Kurian John, Venkat Mattela, Heonchul Park
  • Patent number: 12072799
    Abstract: 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: Grant
    Filed: March 14, 2023
    Date of Patent: August 27, 2024
    Assignee: Ceremorphic, Inc.
    Inventors: Lizy Kurian John, Venkat Mattela, Heonchul Park
  • Patent number: 12026093
    Abstract: 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: Grant
    Filed: August 8, 2022
    Date of Patent: July 2, 2024
    Assignee: Ceremorphic, Inc.
    Inventors: Lizy Kurian John, Venkat Mattela, Heonchul Park
  • Patent number: 11921843
    Abstract: 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: Grant
    Filed: September 26, 2021
    Date of Patent: March 5, 2024
    Assignee: Ceremorphic, Inc.
    Inventors: Lizy Kurian John, Heonchul Park, Venkat Mattela
  • Publication number: 20230289287
    Abstract: 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: Application
    Filed: March 14, 2023
    Publication date: September 14, 2023
    Applicant: CEREMORPHIC, INC.
    Inventors: Lizy Kurian JOHN, Venkat MATTELA, Heonchul PARK
  • Publication number: 20230244600
    Abstract: 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: Application
    Filed: January 29, 2022
    Publication date: August 3, 2023
    Applicant: Ceremorphic, Inc.
    Inventors: Lizy Kurian JOHN, Venkat MATTELA, Heonchul PARK
  • Publication number: 20230244599
    Abstract: 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: Application
    Filed: January 29, 2022
    Publication date: August 3, 2023
    Applicant: Ceremorphic, Inc.
    Inventors: Lizy Kurian JOHN, Venkat MATTELA, Heonchul PARK
  • Publication number: 20230097983
    Abstract: 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: Application
    Filed: September 26, 2021
    Publication date: March 30, 2023
    Applicant: Ceremorphic, Inc.
    Inventors: Lizy Kurian JOHN, Heonchul PARK, Venkat MATTELA
  • Publication number: 20230098640
    Abstract: 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: Application
    Filed: September 26, 2021
    Publication date: March 30, 2023
    Applicant: Ceremorphic, Inc.
    Inventors: Lizy Kurian JOHN, Heonchul Park, Venkat MATTELA
  • Publication number: 20220327434
    Abstract: 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: Application
    Filed: September 29, 2020
    Publication date: October 13, 2022
    Inventors: Lizy Kurian John, Aman Arora
  • Patent number: 10949741
    Abstract: 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: Grant
    Filed: June 23, 2017
    Date of Patent: March 16, 2021
    Assignee: Board of Regents, The University of Texas System
    Inventors: Lizy Kurian John, Reena Panda, Xinnian Zheng, Andreas Gerstlauer
  • Patent number: 10827695
    Abstract: 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: Grant
    Filed: December 16, 2016
    Date of Patent: November 10, 2020
    Assignee: Council of Scientific & Industrial Research
    Inventors: Chovumpurathu Kurian John, Mrudul Vijay Shirgurkar, Ashok Bhimrao Dhage
  • Publication number: 20200120889
    Abstract: 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: Application
    Filed: December 16, 2016
    Publication date: April 23, 2020
    Inventors: Chovumpurathu KURIAN JOHN, Mrudul VIJAY SHIRGURKAR, Ashok BHIMRAO DHAGE
  • Patent number: 10437648
    Abstract: 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: Grant
    Filed: June 23, 2017
    Date of Patent: October 8, 2019
    Assignee: Board of Regents, The University of Texas System
    Inventors: Lizy Kurian John, Shuang Song, Andreas Gerstlauer
  • Publication number: 20180024869
    Abstract: 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: Application
    Filed: June 23, 2017
    Publication date: January 25, 2018
    Inventors: Lizy Kurian John, Shuang Song, Andreas Gerstlauer
  • Publication number: 20180025270
    Abstract: 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: Application
    Filed: June 23, 2017
    Publication date: January 25, 2018
    Inventors: Lizy Kurian John, Reena Panda, Xinnian Zheng, Andreas Gerstlauer
  • Patent number: 8527950
    Abstract: 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: Grant
    Filed: August 12, 2008
    Date of Patent: September 3, 2013
    Assignee: International Business Machines Corporation
    Inventors: Edwin Charles Berry, Kurian John, VinodKumar Raghavan, Rajesh Pravin Thakkar, Shruti Ujjwal
  • Patent number: 8381190
    Abstract: 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: Grant
    Filed: March 6, 2012
    Date of Patent: February 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Kurian John, Kamala Parvathanathan
  • Patent number: 8381188
    Abstract: 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: Grant
    Filed: December 4, 2009
    Date of Patent: February 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Kurian John, Kamala Parvathanathan