Cornami, Inc.

United States of America

Back to Profile

1-49 of 49 for Cornami, Inc. Sort by
Query
Aggregations
IP Type
        Patent 44
        Trademark 5
Jurisdiction
        United States 45
        World 4
Date
New (last 4 weeks) 1
2024 April (MTD) 1
2023 December 1
2024 (YTD) 4
2023 6
See more
IPC Class
G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors 14
G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead 14
G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode 10
G06F 9/45 - Compilation or interpretation of high level programme languages 8
G06F 9/48 - Program initiating; Program switching, e.g. by interrupt 7
See more
NICE Class
09 - Scientific and electric apparatus and instruments 4
42 - Scientific, technological and industrial services, research and design 3
Status
Pending 13
Registered / In Force 36

1.

RECONFIGURABLE ARITHMETIC ENGINE CIRCUIT

      
Application Number 18401571
Status Pending
Filing Date 2023-12-31
First Publication Date 2024-04-25
Owner Cornami, Inc. (USA)
Inventor Andraka, Raymond J.

Abstract

A representative reconfigurable processing circuit and a reconfigurable arithmetic circuit are disclosed, each of which may include input reordering queues; a multiplier shifter and combiner network coupled to the input reordering queues; an accumulator circuit; and a control logic circuit, along with a processor and various interconnection networks. A representative reconfigurable arithmetic circuit has a plurality of operating modes, such as floating point and integer arithmetic modes, logical manipulation modes, Boolean logic, shift, rotate, conditional operations, and format conversion, and is configurable for a wide variety of multiplication modes. Dedicated routing connecting multiplier adder trees allows multiple reconfigurable arithmetic circuits to be reconfigurably combined, in pair or quad configurations, for larger adders, complex multiplies and general sum of products use, for example.

IPC Classes  ?

  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
  • G06F 5/01 - Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
  • G06F 7/487 - Multiplying; Dividing
  • G06F 7/50 - Adding; Subtracting
  • G06F 7/52 - Multiplying; Dividing
  • G06F 7/523 - Multiplying only
  • G06F 7/544 - Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using unspecified devices for evaluating functions by calculation
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06F 9/54 - Interprogram communication
  • H03K 19/21 - EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical

2.

METHOD, APPARATUS, AND COMPUTER-READABLE MEDIUM FOR PARALLELIZATION OF A COMPUTER PROGRAM ON A PLURALITY OF COMPUTING CORES

      
Application Number 18388463
Status Pending
Filing Date 2023-11-09
First Publication Date 2024-02-29
Owner CORNAMI, INC. (USA)
Inventor
  • Harsha, Solomon
  • Master, Paul

Abstract

An apparatus, computer-readable medium, and computer-implemented method for parallelization of a computer program on a plurality of computing cores includes receiving a computer program comprising a plurality of commands, decomposing the plurality of commands into a plurality of node networks, each node network corresponding to a command in the plurality of commands and including one or more nodes corresponding to execution dependencies of the command, mapping the plurality of node networks to a plurality of systolic arrays, each systolic array comprising a plurality of cells and each non-data node in each node network being mapped to a cell in the plurality of cells, and mapping each cell in each systolic array to a computing core in the plurality of computing cores.

IPC Classes  ?

  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
  • G06F 8/41 - Compilation
  • G06Q 40/00 - Finance; Insurance; Tax strategies; Processing of corporate or income taxes

3.

METHOD AND SYSTEM FOR REPLICATING CORE CONFIGURATIONS

      
Application Number 17893993
Status Pending
Filing Date 2022-08-23
First Publication Date 2024-02-29
Owner Cornami, Inc. (USA)
Inventor
  • Victorvich, Yuri
  • Furtek, Frederick
  • Franz, Ii, Martin Alan
  • Master, Paul L.

Abstract

A system and method to efficiently configure an array of processing cores to perform functions of a program. A function of the program is converted to a configuration of cores. The configuration is laid out in a first subset of the array of cores. The configuration is stored. The configuration is replicated to perform the function on a second subset of the array of cores.

IPC Classes  ?

  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]

4.

METHOD AND SYSTEM FOR REPLICATING CORE CONFIGURATIONS

      
Application Number US2023030839
Publication Number 2024/044197
Status In Force
Filing Date 2023-08-22
Publication Date 2024-02-29
Owner CORNAMI, INC. (USA)
Inventor
  • Victorvich, Yuri
  • Furtek, Frederick
  • Franz, Martin Alan, Ii
  • Master, Paul L.

Abstract

A system and method to efficiently configure an array of processing cores to perform functions of a program. A function of the program is converted to a configuration of cores. The configuration is laid out in a first subset of the array of cores. The configuration is stored. The configuration is replicated to perform the function on a second subset of the array of cores.

IPC Classes  ?

  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]
  • G06T 1/20 - Processor architectures; Processor configuration, e.g. pipelining
  • H01L 21/66 - Testing or measuring during manufacture or treatment

5.

SHARING HIGH SPEED SERIAL INTERCONNECTS FOR DIFFERENT PROTOCOLS

      
Application Number 17845717
Status Pending
Filing Date 2022-06-21
First Publication Date 2023-12-21
Owner Cornami, Inc. (USA)
Inventor
  • Abbas, Fazal
  • Master, Paul L.

Abstract

A system and method to allocate serial interconnection lanes on a die to multiple communication protocols is disclosed. The die has at least one processing core. The die incudes a first communication subsystem including a controller, a protocol coding sublayer (PCS) for interchanging data, and a data interface coupled to the core. The die includes a second communication subsystem including a controller, a PCS for interchanging data, and a data interface coupled to the core. A mode input selects at least one of the first or second communication protocol. A data router has an input coupled to the PCS of the first communication subsystem and an input coupled to the PCS of the second communication subsystem. The data router has an output coupled to the set of serial interconnection lanes, and a selection input coupled to the mode input to allocate some of the lanes for the selected protocol.

IPC Classes  ?

  • G06F 13/42 - Bus transfer protocol, e.g. handshake; Synchronisation

6.

Method and Apparatus for Configuring a Reduced Instruction Set Computer Processor Architecture to Execute a Fully Homomorphic Encryption Algorithm

      
Application Number 18205929
Status Pending
Filing Date 2023-06-05
First Publication Date 2023-11-02
Owner Cornami Inc. (USA)
Inventor
  • Creeger, Morris Jacob
  • Liu, Tianfang
  • Furtek, Frederick
  • Master, Paul L.

Abstract

Systems and methods for configuring a reduced instruction set computer processor architecture to execute fully homomorphic encryption (FHE) logic gates as a streaming topology. The method includes parsing sequential FHE logic gate code, transforming the FHE logic gate code into a set of code modules that each have in input and an output that is a function of the input and which do not pass control to other functions, creating a node wrapper around each code module, configuring at least one of the primary processing cores to implement the logic element equivalents of each element in a manner which operates in a streaming mode wherein data streams out of corresponding arithmetic logic units into the main memory and other ones of the plurality arithmetic logic units.

IPC Classes  ?

  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06F 7/48 - Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using unspecified devices
  • G06F 17/14 - Fourier, Walsh or analogous domain transformations
  • G06F 8/41 - Compilation

7.

METHOD AND SYSTEM FOR COMPRESSING APPLICATION DATA FOR OPERATIONS ON MULTI-CORE SYSTEMS

      
Application Number 18178237
Status Pending
Filing Date 2023-03-03
First Publication Date 2023-07-06
Owner Cornami, Inc. (USA)
Inventor Liu, Tianfang

Abstract

A system and method to compress application control data, such as weights for a layer of a convolutional neural network, is disclosed. A multi-core system for executing at least one layer of the convolutional neural network includes a storage device storing a compressed weight matrix of a set of weights of the at least one layer of the convolutional network and a decompression matrix. The compressed weight matrix is formed by matrix factorization and quantization of a floating point value of each weight to a floating point format. A decompression module is operable to obtain an approximation of the weight values by decompressing the compressed weight matrix through the decompression matrix. A plurality of cores executes the at least one layer of the convolutional neural network with the approximation of weight values to produce an inference output.

IPC Classes  ?

  • H03M 7/30 - Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
  • H03M 7/40 - Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
  • H03M 7/02 - Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
  • G06N 3/0464 - Convolutional networks [CNN, ConvNet]

8.

Reconfigurable processor circuit architecture

      
Application Number 18092247
Grant Number 11907157
Status In Force
Filing Date 2022-12-31
First Publication Date 2023-05-18
Grant Date 2024-02-20
Owner Cornami, Inc. (USA)
Inventor
  • Master, Paul L.
  • Knapp, Steven K.
  • Andraka, Raymond J.
  • Beliaev, Alexei
  • Franz, Martin A.
  • Meessen, Rene
  • Furtek, Frederick Curtis

Abstract

A representative reconfigurable processing circuit and a reconfigurable arithmetic circuit are disclosed, each of which may include input reordering queues; a multiplier shifter and combiner network coupled to the input reordering queues; an accumulator circuit; and a control logic circuit, along with a processor and various interconnection networks. A representative reconfigurable arithmetic circuit has a plurality of operating modes, such as floating point and integer arithmetic modes, logical manipulation modes, Boolean logic, shift, rotate, conditional operations, and format conversion, and is configurable for a wide variety of multiplication modes. Dedicated routing connecting multiplier adder trees allows multiple reconfigurable arithmetic circuits to be reconfigurably combined, in pair or quad configurations, for larger adders, complex multiplies and general sum of products use, for example.

IPC Classes  ?

  • G06F 21/44 - Program or device authentication
  • G06F 15/78 - Architectures of general purpose stored program computers comprising a single central processing unit
  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
  • G06F 7/523 - Multiplying only
  • G06F 7/50 - Adding; Subtracting
  • H03K 19/21 - EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06F 9/54 - Interprogram communication
  • G06F 5/01 - Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 7/487 - Multiplying; Dividing
  • G06F 7/52 - Multiplying; Dividing
  • G06F 7/544 - Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using unspecified devices for evaluating functions by calculation
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead

9.

METHOD AND SYSTEM FOR ROBUST STREAMING OF DATA

      
Application Number 18061691
Status Pending
Filing Date 2022-12-05
First Publication Date 2023-04-13
Owner Cornami, Inc. (USA)
Inventor Subramanian, Krishnamurthy

Abstract

A method and system for providing robust streaming of data from a multi-core die is disclosed. The techniques include using a high bandwidth memory (HBM) device as retransmit buffers for large amounts of data to ensure robust communication in relatively high round trip-transmission time (RTT) transmission. Another technique is supporting two or more Ethernet ports between components to both transmit the same data packets on the two ports to insure robustness. Another technique is to use sequence numbers and send data packets from the different ports in a round robin fashion and reorder the packets upon receipt of an external device. Another technique is dynamically adding and removing paths for data packets between devices with multiple ports based on the quality of the path.

IPC Classes  ?

  • H04L 47/34 - Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
  • H04L 47/32 - Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
  • H04L 49/90 - Buffering arrangements

10.

Reconfigurable Processor Circuit Architecture

      
Application Number 17967173
Status Pending
Filing Date 2022-10-17
First Publication Date 2023-02-23
Owner Cornami, Inc. (USA)
Inventor
  • Master, Paul L.
  • Knapp, Steven K.
  • Andraka, Raymond J.
  • Beliaev, Alexei
  • Franz, Martin A.
  • Meessen, Rene
  • Furtek, Frederick Curtis

Abstract

A representative reconfigurable processing circuit and a reconfigurable arithmetic circuit are disclosed, each of which may include input reordering queues; a multiplier shifter and combiner network coupled to the input reordering queues; an accumulator circuit; and a control logic circuit, along with a processor and various interconnection networks. A representative reconfigurable arithmetic circuit has a plurality of operating modes, such as floating point and integer arithmetic modes, logical manipulation modes, Boolean logic, shift, rotate, conditional operations, and format conversion, and is configurable for a wide variety of multiplication modes. Dedicated routing connecting multiplier adder trees allows multiple reconfigurable arithmetic circuits to be reconfigurably combined, in pair or quad configurations, for larger adders, complex multiplies and general sum of products use, for example.

IPC Classes  ?

  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06F 9/54 - Interprogram communication
  • G06F 7/52 - Multiplying; Dividing
  • G06F 5/01 - Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06F 7/50 - Adding; Subtracting
  • G06F 7/544 - Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using unspecified devices for evaluating functions by calculation
  • H03K 19/21 - EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
  • G06F 7/523 - Multiplying only
  • G06F 7/487 - Multiplying; Dividing

11.

Method and Apparatus for Configuring a Reduced Instruction Set Computer Processor Architecture to Execute a Fully Homomorphic Encryption Algorithm

      
Application Number 17860475
Status Pending
Filing Date 2022-07-08
First Publication Date 2022-11-10
Owner Cornami, Inc. (USA)
Inventor
  • Creeger, Morris Jacob
  • Liu, Tianfang
  • Furtek, Frederick
  • Master, Paul L.

Abstract

Systems and methods for configuring a reduced instruction set computer processor architecture to execute fully homomorphic encryption (FHE) logic gates as a streaming topology. The method includes parsing sequential FHE logic gate code, transforming the FHE logic gate code into a set of code modules that each have in input and an output that is a function of the input and which do not pass control to other functions, creating a node wrapper around each code module, configuring at least one of the primary processing cores to implement the logic element equivalents of each element in a manner which operates in a streaming mode wherein data streams out of corresponding arithmetic logic units into the main memory and other ones of the plurality arithmetic logic units.

IPC Classes  ?

  • H04L 9/00 - Arrangements for secret or secure communications; Network security protocols
  • H04L 9/08 - Key distribution
  • G06F 7/48 - Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using unspecified devices
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06F 17/14 - Fourier, Walsh or analogous domain transformations
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

12.

SCIFR API

      
Serial Number 97594385
Status Pending
Filing Date 2022-09-16
Owner Cornami, Inc ()
NICE Classes  ?
  • 09 - Scientific and electric apparatus and instruments
  • 42 - Scientific, technological and industrial services, research and design

Goods & Services

Downloadable application programming interface (API) software Application service provider featuring application programming interface (API) software

13.

SILICON IQ

      
Serial Number 97555938
Status Pending
Filing Date 2022-08-19
Owner Cornami, Inc ()
NICE Classes  ?
  • 09 - Scientific and electric apparatus and instruments
  • 42 - Scientific, technological and industrial services, research and design

Goods & Services

Downloadable computer programs for use in measuring performance of computers and computer operating systems Providing temporary use of non-downloadable computer programs for use in measuring performance of computers and computer operating systems

14.

RECONFIGURABLE REDUCED INSTRUCTION SET COMPUTER PROCESSOR ARCHITECTURE WITH FRACTURED CORES

      
Application Number 17681163
Status Pending
Filing Date 2022-02-25
First Publication Date 2022-06-09
Owner Cornami Inc. (USA)
Inventor
  • Master, Paul L.
  • Furtek, Frederick
  • Franz Ii, Martin Alan
  • Andraka Pe, Raymond J.

Abstract

Systems and methods for reconfiguring a reduced instruction set computer processor architecture are disclosed. Exemplary implementations may: provide a primary processing core consisting of a RISC processor; provide a node wrapper associated with each of the plurality of secondary cores, the node wrapper comprising access memory associates with each secondary core, and a load/unload matrix associated with each secondary core; operate the architecture in a manner in which, for at least one core, data is read from and written to the at least cache memory in a control-centric mode; the secondary cores are selectively partitioned to operate in a streaming mode wherein data streams out of the corresponding secondary core into the main memory and other ones of the plurality of secondary cores.

IPC Classes  ?

  • G06F 15/78 - Architectures of general purpose stored program computers comprising a single central processing unit
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors

15.

Parallel processing of data having data dependencies for accelerating the launch and performance of operating systems and other computing applications

      
Application Number 17467231
Grant Number 11669526
Status In Force
Filing Date 2021-09-05
First Publication Date 2022-02-24
Grant Date 2023-06-06
Owner Cornami, Inc. (USA)
Inventor
  • Master, Paul L.
  • Furtek, Frederick Curtis
  • Knuttila, Kim
  • Mcgann, L. Brian

Abstract

Representative embodiments are disclosed for a rapid and highly parallel decompression of compressed executable and other files, such as executable files for operating systems and applications, having compressed blocks including run length encoded (“RLE”) data having data-dependent references. An exemplary embodiment includes a plurality of processors or processor cores to identify a start or end of each compressed block; to partially decompress, in parallel, a selected compressed block into independent data, dependent (RLE) data, and linked dependent (RLE) data; to sequence the independent data, dependent (RLE) data, and linked dependent (RLE) data from a plurality of partial decompressions of a plurality of compressed blocks, to obtain data specified by the dependent (RLE) data and linked dependent (RLE) data, and to insert the obtained data into a corresponding location in an uncompressed file. The representative embodiments are also applicable to other types of data processing for applications having data dependencies.

IPC Classes  ?

  • G06F 16/2455 - Query execution
  • H03M 7/46 - Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
  • G06F 3/06 - Digital input from, or digital output to, record carriers
  • H03M 7/30 - Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
  • H03M 7/40 - Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
  • H03M 7/42 - Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory

16.

Method and system for robust streaming of data

      
Application Number 16825585
Grant Number 11522804
Status In Force
Filing Date 2020-03-20
First Publication Date 2021-09-23
Grant Date 2022-12-06
Owner Cornami, Inc. (USA)
Inventor Subramanian, Krishnamurthy

Abstract

A method and system for providing robust streaming of data from a multi-core die is disclosed. The techniques include using a high bandwidth memory (HBM) device as retransmit buffers for large amounts of data to ensure robust communication in relatively high round trip-transmission time (RTT) transmission. Another technique is supporting two or more Ethernet ports between components to both transmit the same data packets on the two ports to insure robustness. Another technique is to use sequence numbers and send data packets from the different ports in a round robin fashion and reorder the packets upon receipt of an external device. Another technique is dynamically adding and removing paths for data packets between devices with multiple ports based on the quality of the path.

IPC Classes  ?

  • H04L 47/34 - Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
  • H04L 47/32 - Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
  • H04L 49/90 - Buffering arrangements

17.

Method and system for compressing application data for operations on multi-core systems

      
Application Number 16752239
Grant Number 11599367
Status In Force
Filing Date 2020-01-24
First Publication Date 2021-07-29
Grant Date 2023-03-07
Owner Cornami, Inc. (USA)
Inventor Liu, Tianfang

Abstract

A system and method to compress application control data, such as weights for a layer of a convolutional neural network, is disclosed. A multi-core system for executing at least one layer of the convolutional neural network includes a storage device storing a compressed weight matrix of a set of weights of the at least one layer of the convolutional network and a decompression matrix. The compressed weight matrix is formed by matrix factorization and quantization of a floating point value of each weight to a floating point format. A decompression module is operable to obtain an approximation of the weight values by decompressing the compressed weight matrix through the decompression matrix. A plurality of cores executes the at least one layer of the convolutional neural network with the approximation of weight values to produce an inference output.

IPC Classes  ?

  • G06F 9/445 - Program loading or initiating
  • G06F 7/483 - Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
  • H03M 7/40 - Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
  • H03M 7/30 - Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
  • G06K 9/62 - Methods or arrangements for recognition using electronic means
  • G06N 3/02 - Neural networks

18.

RECONFIGURABLE ARITHMETIC ENGINE CIRCUIT

      
Application Number US2020050058
Publication Number 2021/050636
Status In Force
Filing Date 2020-09-10
Publication Date 2021-03-18
Owner CORNAMI, INC. (USA)
Inventor Andraka, Raymond J.

Abstract

A representative reconfigurable processing circuit and a reconfigurable arithmetic circuit are disclosed, each of which may include input reordering queues; a multiplier shifter and combiner network coupled to the input reordering queues; an accumulator circuit; and a control logic circuit, along with a processor and various interconnection networks. A representative reconfigurable arithmetic circuit has a plurality of operating modes, such as floating point and integer arithmetic modes, logical manipulation modes, Boolean logic, shift, rotate, conditional operations, and format conversion, and is configurable for a wide variety of multiplication modes. Dedicated routing connecting multiplier adder trees allows multiple reconfigurable arithmetic circuits to be reconfigurably combined, in pair or quad configurations, for larger adders, complex multiplies and general sum of products use, for example.

IPC Classes  ?

  • G06F 7/57 - Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups  or for performing logical operations

19.

RECONFIGURABLE PROCESSOR CIRCUIT ARCHITECTURE

      
Application Number US2020050069
Publication Number 2021/050643
Status In Force
Filing Date 2020-09-10
Publication Date 2021-03-18
Owner CORNAMI, INC. (USA)
Inventor
  • Master, Paul, L.
  • Knapp, Steven, K.
  • Andraka, Raymond, J.
  • Furtek, Frederick, Curtis
  • Beliaev, Alexei
  • Franz, Martin, A.
  • Meessen, Rene

Abstract

A representative reconfigurable processing circuit and a reconfigurable arithmetic circuit are disclosed, each of which may include input reordering queues; a multiplier shifter and combiner network coupled to the input reordering queues; an accumulator circuit; and a control logic circuit, along with a processor and various interconnection networks. A representative reconfigurable arithmetic circuit has a plurality of operating modes, such as floating point and integer arithmetic modes, logical manipulation modes, Boolean logic, shift, rotate, conditional operations, and format conversion, and is configurable for a wide variety of multiplication modes. Dedicated routing connecting multiplier adder trees allows multiple reconfigurable arithmetic circuits to be reconfigurably combined, in pair or quad configurations, for larger adders, complex multiplies and general sum of products use, for example.

IPC Classes  ?

  • G06F 7/57 - Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups  or for performing logical operations

20.

Reconfigurable arithmetic engine circuit

      
Application Number 17015950
Grant Number 11886377
Status In Force
Filing Date 2020-09-09
First Publication Date 2021-03-11
Grant Date 2024-01-30
Owner Cornami, Inc. (USA)
Inventor Andraka, Raymond J.

Abstract

A representative reconfigurable processing circuit and a reconfigurable arithmetic circuit are disclosed, each of which may include input reordering queues; a multiplier shifter and combiner network coupled to the input reordering queues; an accumulator circuit; and a control logic circuit, along with a processor and various interconnection networks. A representative reconfigurable arithmetic circuit has a plurality of operating modes, such as floating point and integer arithmetic modes, logical manipulation modes, Boolean logic, shift, rotate, conditional operations, and format conversion, and is configurable for a wide variety of multiplication modes. Dedicated routing connecting multiplier adder trees allows multiple reconfigurable arithmetic circuits to be reconfigurably combined, in pair or quad configurations, for larger adders, complex multiplies and general sum of products use, for example.

IPC Classes  ?

  • G06F 5/01 - Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
  • G06F 7/544 - Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using unspecified devices for evaluating functions by calculation
  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
  • G06F 7/523 - Multiplying only
  • G06F 7/50 - Adding; Subtracting
  • H03K 19/21 - EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06F 9/54 - Interprogram communication
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 7/487 - Multiplying; Dividing
  • G06F 7/52 - Multiplying; Dividing
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead

21.

Reconfigurable processor circuit architecture

      
Application Number 17015973
Grant Number 11494331
Status In Force
Filing Date 2020-09-09
First Publication Date 2021-03-11
Grant Date 2022-11-08
Owner Cornami, Inc. (USA)
Inventor
  • Master, Paul L.
  • Knapp, Steven K.
  • Andraka, Raymond J.
  • Beliaev, Alexei
  • Franz, Martin A.
  • Meessen, Rene
  • Furtek, Frederick Curtis

Abstract

A representative reconfigurable processing circuit and a reconfigurable arithmetic circuit are disclosed, each of which may include input reordering queues; a multiplier shifter and combiner network coupled to the input reordering queues; an accumulator circuit; and a control logic circuit, along with a processor and various interconnection networks. A representative reconfigurable arithmetic circuit has a plurality of operating modes, such as floating point and integer arithmetic modes, logical manipulation modes, Boolean logic, shift, rotate, conditional operations, and format conversion, and is configurable for a wide variety of multiplication modes. Dedicated routing connecting multiplier adder trees allows multiple reconfigurable arithmetic circuits to be reconfigurably combined, in pair or quad configurations, for larger adders, complex multiplies and general sum of products use, for example.

IPC Classes  ?

  • G06F 21/44 - Program or device authentication
  • G06F 15/78 - Architectures of general purpose stored program computers comprising a single central processing unit
  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
  • G06F 7/523 - Multiplying only
  • G06F 7/50 - Adding; Subtracting
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • H03K 19/21 - EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt
  • G06F 9/54 - Interprogram communication
  • G06F 5/01 - Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 7/487 - Multiplying; Dividing
  • G06F 7/52 - Multiplying; Dividing
  • G06F 7/544 - Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using unspecified devices for evaluating functions by calculation

22.

CONFIGURING A REDUCED INSTRUCTION SET COMPUTER PROCESSOR ARCHITECTURE TO EXECUTE A FULLY HOMOMORPHIC ENCRYPTION ALGORITHM

      
Application Number US2020044944
Publication Number 2021/026196
Status In Force
Filing Date 2020-08-05
Publication Date 2021-02-11
Owner CORNAMI INC. (USA)
Inventor
  • Kreeger, Morris Jacob
  • Liu, Tianfang
  • Furtek, Frederick
  • Master, Paul L.

Abstract

Systems and methods for configuring a reduced instruction set computer processor architecture to execute fully homomorphic encryption (FHE) logic gates as a streaming topology. The method includes parsing sequential FHE logic gate code, transforming the FHE logic gate code into a set of code modules that each have in input and an output that is a function of the input and which do not pass control to other functions, creating a node wrapper around each code module, configuring at least one of the primary processing cores to implement the logic element equivalents of each element in a manner which operates in a streaming mode wherein data streams out of corresponding arithmetic logic units into the main memory and other ones of the plurality arithmetic logic units.

IPC Classes  ?

  • H04L 9/00 - Arrangements for secret or secure communications; Network security protocols
  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode

23.

Method and apparatus for configuring a reduced instruction set computer processor architecture to execute a fully homomorphic encryption algorithm

      
Application Number 16743257
Grant Number 11693662
Status In Force
Filing Date 2020-01-15
First Publication Date 2020-07-02
Grant Date 2023-07-04
Owner CORNAMI INC. (USA)
Inventor
  • Creeger, Morris Jacob
  • Liu, Tianfang
  • Furtek, Frederick
  • Master, Paul L.

Abstract

Systems and methods for configuring a reduced instruction set computer processor architecture to execute fully homomorphic encryption (FHE) logic gates as a streaming topology. The method includes parsing sequential FHE logic gate code, transforming the FHE logic gate code into a set of code modules that each have in input and an output that is a function of the input and which do not pass control to other functions, creating a node wrapper around each code module, configuring at least one of the primary processing cores to implement the logic element equivalents of each element in a manner which operates in a streaming mode wherein data streams out of corresponding arithmetic logic units into the main memory and other ones of the plurality arithmetic logic units.

IPC Classes  ?

  • G06F 7/48 - Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using unspecified devices
  • G06F 17/14 - Fourier, Walsh or analogous domain transformations
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06F 8/41 - Compilation

24.

Reconfigurable reduced instruction set computer processor architecture with fractured cores

      
Application Number 15970915
Grant Number 11294851
Status In Force
Filing Date 2018-05-04
First Publication Date 2019-11-07
Grant Date 2022-04-05
Owner Cornami, Inc. (USA)
Inventor
  • Master, Paul L.
  • Furtek, Frederick
  • Franz, Ii, Martin Alan
  • Andraka Pe, Raymond J.

Abstract

Systems and methods for reconfiguring a reduced instruction set computer processor architecture are disclosed. Exemplary implementations may: provide a primary processing core consisting of a RISC processor; provide a node wrapper associated with each of the plurality of secondary cores, the node wrapper comprising access memory associates with each secondary core, and a load/unload matrix associated with each secondary core; operate the architecture in a manner in which, for at least one core, data is read from and written to the at least cache memory in a control-centric mode; the secondary cores are selectively partitioned to operate in a streaming mode wherein data streams out of the corresponding secondary core into the main memory and other ones of the plurality of secondary cores.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 15/78 - Architectures of general purpose stored program computers comprising a single central processing unit
  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
  • G06F 7/57 - Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups  or for performing logical operations

25.

FRACTLCORE

      
Serial Number 88682393
Status Pending
Filing Date 2019-11-06
Owner Cornami, Inc. ()
NICE Classes  ? 09 - Scientific and electric apparatus and instruments

Goods & Services

Integrated circuits, digital signal processors and data processors having a processor core configured into a plurality of computational units and state machines for use in instruction processing and data flow operations

26.

TRUSTREAM

      
Serial Number 88468114
Status Registered
Filing Date 2019-06-11
Registration Date 2020-11-10
Owner Cornami, Inc. ()
NICE Classes  ? 09 - Scientific and electric apparatus and instruments

Goods & Services

Computer hardware, downloadable software, downloadable software programming models and programming language, and downloadable software development kits (SDKs), all for programming and configuring integrated circuits and processors for instruction processing and data flow operations, configuration of processor cores into a plurality of computational units for instruction processing and data flow operations, for use in the fields of artificial intelligence, machine learning, neural networks, deep learning, deep neural networks, database processing, edge processing, Internet of Things, security, biometrics, and predictive technology

27.

CORNAMI

      
Serial Number 88460895
Status Registered
Filing Date 2019-06-05
Registration Date 2021-02-02
Owner Cornami, Inc. ()
NICE Classes  ? 42 - Scientific, technological and industrial services, research and design

Goods & Services

Design and development of computer hardware and software; Product research, development, design, and engineering of integrated circuits, processors, semiconductor processors, electronic circuit boards, rack-mountable chassis having processors, software-configurable processors, software development kits (SDKs), cloud computing software, software platform for software development featuring software development kits (SDKs), software and software-programmable models all for programming and configuring integrated circuits and processors for instruction processing and data flow operations for use in the fields of artificial intelligence, machine learning, neural networks, deep learning, deep neural networks, database processing, edge processing, Internet of Things, security, biometrics, and predictive technology; Design, development, customization, integration, technical support, namely, monitoring of technological functions of computer systems, and maintenance of computer software; Providing temporary use of on-line non-downloadable software and on-line non-downloadable software programs all for use in programming and configuring integrated circuits and processors for instruction processing and data flow operations for use in the fields of artificial intelligence, machine learning, neural networks, deep learning, deep neural networks, database processing, edge processing, Internet of Things, security, biometrics, and predictive technology

28.

Method and apparatus for a multi-core system for implementing stream-based computations having inputs from multiple streams

      
Application Number 16126918
Grant Number 11055103
Status In Force
Filing Date 2018-09-10
First Publication Date 2019-01-03
Grant Date 2021-07-06
Owner Cornami, Inc. (USA)
Inventor
  • Furtek, Frederick
  • Master, Paul

Abstract

A method and system of efficient use and programming of a multi-processing core device. The system includes a programming construct that is based on stream-domain code. A programmable core based computing device is disclosed. The computing device includes a plurality of processing cores coupled to each other. A memory stores stream-domain code including a stream defining a stream destination module and a stream source module. The stream source module places data values in the stream and the stream conveys data values from the stream source module to the stream destination module. A runtime system detects when the data values are available to the stream destination module and schedules the stream destination module for execution on one of the plurality of processing cores.

IPC Classes  ?

  • G06F 9/46 - Multiprogramming arrangements
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]
  • G06F 15/173 - Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star or snowflake
  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt

29.

Parallel processing of data having data dependencies for accelerating the launch and performance of operating systems and other computing applications

      
Application Number 16108356
Grant Number 10685023
Status In Force
Filing Date 2018-08-22
First Publication Date 2018-12-13
Grant Date 2020-06-16
Owner Cornami, Inc. (USA)
Inventor
  • Master, Paul L.
  • Furtek, Frederick Curtis
  • Knuttila, Kim
  • Mcgann, L. Brian

Abstract

Representative embodiments are disclosed for a rapid and highly parallel decompression of compressed executable and other files, such as executable files for operating systems and applications, having compressed blocks including run length encoded (“RLE”) data having data-dependent references. An exemplary embodiment includes a plurality of processors or processor cores to identify a start or end of each compressed block; to partially decompress, in parallel, a selected compressed block into independent data, dependent (RLE) data, and linked dependent (RLE) data; to sequence the independent data, dependent (RLE) data, and linked dependent (RLE) data from a plurality of partial decompressions of a plurality of compressed blocks, to obtain data specified by the dependent (RLE) data and linked dependent (RLE) data, and to insert the obtained data into a corresponding location in an uncompressed file. The representative embodiments are also applicable to other types of data processing for applications having data dependencies.

IPC Classes  ?

  • G06F 16/2455 - Query execution
  • H03M 7/46 - Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
  • G06F 3/06 - Digital input from, or digital output to, record carriers
  • H03M 7/30 - Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
  • H03M 7/40 - Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
  • H03M 7/42 - Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory

30.

Method, apparatus, and computer-readable medium for parallelization of a computer program on a plurality of computing cores

      
Application Number 16004799
Grant Number 11853256
Status In Force
Filing Date 2018-06-11
First Publication Date 2018-10-11
Grant Date 2023-12-26
Owner CORNAMI, INC. (USA)
Inventor
  • Harsha, Solomon
  • Master, Paul

Abstract

An apparatus, computer-readable medium, and computer-implemented method for parallelization of a computer program on a plurality of computing cores includes receiving a computer program comprising a plurality of commands, decomposing the plurality of commands into a plurality of node networks, each node network corresponding to a command in the plurality of commands and including one or more nodes corresponding to execution dependencies of the command, mapping the plurality of node networks to a plurality of systolic arrays, each systolic array comprising a plurality of cells and each non-data node in each node network being mapped to a cell in the plurality of cells, and mapping each cell in each systolic array to a computing core in the plurality of computing cores.

IPC Classes  ?

  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
  • G06F 8/41 - Compilation
  • G06Q 40/00 - Finance; Insurance; Tax strategies; Processing of corporate or income taxes

31.

Method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system

      
Application Number 15943032
Grant Number 10318260
Status In Force
Filing Date 2018-04-02
First Publication Date 2018-08-09
Grant Date 2019-06-11
Owner CORNAMI, INC. (USA)
Inventor
  • Furtek, Frederick
  • Master, Paul

Abstract

A method and system of compiling and linking source stream programs for efficient use of multi-node devices. The system includes a compiler, a linker, a loader and a runtime component. The process converts a source code stream program to a compiled object code that is used with a programmable node based computing device having a plurality of processing nodes coupled to each other. The programming modules include stream statements for input values and output values in the form of sources and destinations for at least one of the plurality of processing nodes and stream statements that determine the streaming flow of values for the at least one of the plurality of processing nodes. The compiler converts the source code stream based program to object modules, object module instances and executables. The linker matches the object module instances to at least one of the multiple cores. The loader loads the tasks required by the object modules in the nodes and configure the nodes matched with the object module instances. The runtime component runs the converted program.

IPC Classes  ?

32.

Method, apparatus, and computer-readable medium for parallelization of a computer program on a plurality of computing cores

      
Application Number 15480411
Grant Number 10019410
Status In Force
Filing Date 2017-04-06
First Publication Date 2018-04-05
Grant Date 2018-07-10
Owner CORNAMI, INC. (USA)
Inventor
  • Harsha, Solomon
  • Master, Paul

Abstract

An apparatus, computer-readable medium, and computer-implemented method for parallelization of a computer program on a plurality of computing cores includes receiving a computer program comprising a plurality of commands, decomposing the plurality of commands into a plurality of node networks, each node network corresponding to a command in the plurality of commands and including one or more nodes corresponding to execution dependencies of the command, mapping the plurality of node networks to a plurality of systolic arrays, each systolic array comprising a plurality of cells and each non-data node in each node network being mapped to a cell in the plurality of cells, and mapping each cell in each systolic array to a computing core in the plurality of computing cores.

IPC Classes  ?

  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
  • G06Q 40/00 - Finance; Insurance; Tax strategies; Processing of corporate or income taxes
  • G06F 8/41 - Compilation

33.

Parallel processing of data having data dependencies for accelerating the launch and performance of operating systems and other computing applications

      
Application Number 15493510
Grant Number 10083209
Status In Force
Filing Date 2017-04-21
First Publication Date 2017-08-03
Grant Date 2018-09-25
Owner Cornami, Inc. (USA)
Inventor
  • Master, Paul L.
  • Furtek, Frederick Curtis
  • Knuttila, Kim
  • Mcgann, L. Brian

Abstract

Representative embodiments are disclosed for a rapid and highly parallel decompression of compressed executable and other files, such as executable files for operating systems and applications, having compressed blocks including run length encoded (“RLE”) data having data-dependent references. An exemplary embodiment includes a plurality of processors or processor cores to identify a start or end of each compressed block; to partially decompress, in parallel, a selected compressed block into independent data, dependent (RLE) data, and linked dependent (RLE) data; to sequence the independent data, dependent (RLE) data, and linked dependent (RLE) data from a plurality of partial decompressions of a plurality of compressed blocks, to obtain data specified by the dependent (RLE) data and linked dependent (RLE) data, and to insert the obtained data into a corresponding location in an uncompressed file. The representative embodiments are also applicable to other types of data processing for applications having data dependencies.

IPC Classes  ?

  • H03M 7/40 - Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
  • G06F 17/30 - Information retrieval; Database structures therefor
  • H03M 7/46 - Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
  • H03M 7/42 - Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory

34.

Method, apparatus, and computer-readable medium for parallelization of a computer program on a plurality of computing cores

      
Application Number 15480412
Grant Number 09760531
Status In Force
Filing Date 2017-04-06
First Publication Date 2017-07-27
Grant Date 2017-09-12
Owner CORNAMI, INC. (USA)
Inventor
  • Harsha, Solomon
  • Master, Paul

Abstract

An apparatus, computer-readable medium, and computer-implemented method for parallelization of a computer program on a plurality of computing cores includes receiving a computer program comprising a plurality of commands, decomposing the plurality of commands into a plurality of node networks, each node network corresponding to a command in the plurality of commands and including one or more nodes corresponding to execution dependencies of the command, mapping the plurality of node networks to a plurality of systolic arrays, each systolic array comprising a plurality of cells and each non-data node in each node network being mapped to a cell in the plurality of cells, and mapping each cell in each systolic array to a computing core in the plurality of computing cores.

IPC Classes  ?

  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
  • G06Q 40/00 - Finance; Insurance; Tax strategies; Processing of corporate or income taxes
  • G06F 9/45 - Compilation or interpretation of high level programme languages

35.

Method, apparatus, and computer-readable medium for parallelization of a computer program on a plurality of computing cores

      
Application Number 15476598
Grant Number 09760530
Status In Force
Filing Date 2017-03-31
First Publication Date 2017-07-20
Grant Date 2017-09-12
Owner CORNAMI, INC. (USA)
Inventor
  • Harsha, Solomon
  • Master, Paul

Abstract

An apparatus, computer-readable medium, and computer-implemented method for parallelization of a computer program on a plurality of computing cores includes receiving a computer program comprising a plurality of commands, decomposing the plurality of commands into a plurality of node networks, each node network corresponding to a command in the plurality of commands and including one or more nodes corresponding to execution dependencies of the command, mapping the plurality of node networks to a plurality of systolic arrays, each systolic array comprising a plurality of cells and each non-data node in each node network being mapped to a cell in the plurality of cells, and mapping each cell in each systolic array to a computing core in the plurality of computing cores.

IPC Classes  ?

  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
  • G06F 9/45 - Compilation or interpretation of high level programme languages
  • G06Q 40/00 - Finance; Insurance; Tax strategies; Processing of corporate or income taxes

36.

Method, apparatus, and computer-readable medium for parallelization of a computer program on a plurality of computing cores

      
Application Number 15296681
Grant Number 09652435
Status In Force
Filing Date 2016-10-18
First Publication Date 2017-03-30
Grant Date 2017-05-16
Owner CORNAMI, INC. (USA)
Inventor
  • Harsha, Solomon
  • Master, Paul

Abstract

An apparatus, computer-readable medium, and computer-implemented method for parallelization of a computer program on a plurality of computing cores includes receiving a computer program comprising a plurality of commands, decomposing the plurality of commands into a plurality of node networks, each node network corresponding to a command in the plurality of commands and including one or more nodes corresponding to execution dependencies of the command, mapping the plurality of node networks to a plurality of systolic arrays, each systolic array comprising a plurality of cells and each non-data node in each node network being mapped to a cell in the plurality of cells, and mapping each cell in each systolic array to a computing core in the plurality of computing cores.

IPC Classes  ?

  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
  • G06F 9/45 - Compilation or interpretation of high level programme languages
  • G06Q 40/00 - Finance; Insurance; Tax strategies; Processing of corporate or income taxes

37.

Parallel processing of data having data dependencies for accelerating the launch and performance of operating systems and other computing applications

      
Application Number 15096908
Grant Number 09647686
Status In Force
Filing Date 2016-04-12
First Publication Date 2016-08-04
Grant Date 2017-05-09
Owner Cornami, Inc. (USA)
Inventor
  • Master, Paul L.
  • Furtek, Frederick Curtis
  • Knuttila, Kim
  • Mcgann, L. Brian

Abstract

Representative embodiments are disclosed for a rapid and highly parallel decompression of compressed executable and other files, such as executable files for operating systems and applications, having compressed blocks including run length encoded (“RLE”) data having data-dependent references. An exemplary embodiment includes a plurality of processors or processor cores to identify a start or end of each compressed block; to partially decompress, in parallel, a selected compressed block into independent data, dependent (RLE) data, and linked dependent (RLE) data; to sequence the independent data, dependent (RLE) data, and linked dependent (RLE) data from a plurality of partial decompressions of a plurality of compressed blocks, to obtain data specified by the dependent (RLE) data and linked dependent (RLE) data, and to insert the obtained data into a corresponding location in an uncompressed file. The representative embodiments are also applicable to other types of data processing for applications having data dependencies.

IPC Classes  ?

  • H03M 7/40 - Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
  • H03M 7/30 - Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
  • H03M 7/46 - Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
  • G06F 3/06 - Digital input from, or digital output to, record carriers

38.

Method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system

      
Application Number 14825827
Grant Number 09934011
Status In Force
Filing Date 2015-08-13
First Publication Date 2015-12-03
Grant Date 2018-04-03
Owner CORNAMI, INC. (USA)
Inventor
  • Master, Paul
  • Furtek, Frederick

Abstract

A method and system of compiling and linking source stream programs for efficient use of multi-node devices. The system includes a compiler, a linker, a loader and a runtime component. The process converts a source code stream program to a compiled object code that is used with a programmable node based computing device having a plurality of processing nodes coupled to each other. The programming modules include stream statements for input values and output values in the form of sources and destinations for at least one of the plurality of processing nodes and stream statements that determine the streaming flow of values for the at least one of the plurality of processing nodes. The compiler converts the source code stream based program to object modules, object module instances and executables. The linker matches the object module instances to at least one of the multiple cores. The loader loads the tasks required by the object modules in the nodes and configure the nodes matched with the object module instances. The runtime component runs the converted program.

IPC Classes  ?

  • G06F 9/44 - Arrangements for executing specific programs
  • G06F 9/45 - Compilation or interpretation of high level programme languages
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06F 9/445 - Program loading or initiating

39.

Method, apparatus, and computer-readable medium for parallelization of a computer program on a plurality of computing cores

      
Application Number 14483086
Grant Number 09501449
Status In Force
Filing Date 2014-09-10
First Publication Date 2015-03-12
Grant Date 2016-11-22
Owner CORNAMI, INC. (USA)
Inventor
  • Harsha, Solomon
  • Master, Paul

Abstract

An apparatus, computer-readable medium, and computer-implemented method for parallelization of a computer program on a plurality of computing cores includes receiving a computer program comprising a plurality of commands, decomposing the plurality of commands into a plurality of node networks, each node network corresponding to a command in the plurality of commands and including one or more nodes corresponding to execution dependencies of the command, mapping the plurality of node networks to a plurality of systolic arrays, each systolic array comprising a plurality of cells and each non-data node in each node network being mapped to a cell in the plurality of cells, and mapping each cell in each systolic array to a computing core in the plurality of computing cores.

IPC Classes  ?

  • G06F 15/80 - Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
  • G06F 9/45 - Compilation or interpretation of high level programme languages
  • G06Q 40/00 - Finance; Insurance; Tax strategies; Processing of corporate or income taxes

40.

Method and apparatus for a general-purpose multiple-core system for implementing stream-based computations

      
Application Number 14492705
Grant Number 10073700
Status In Force
Filing Date 2014-09-22
First Publication Date 2015-01-08
Grant Date 2018-09-11
Owner Cornami, Inc. (USA)
Inventor
  • Furtek, Frederick
  • Master, Paul

Abstract

A method and system of efficient use and programming of a multi-processing core device. The system includes a programming construct that is based on stream-domain code. A programmable core based computing device is disclosed. The computing device includes a plurality of processing cores coupled to each other. A memory stores stream-domain code including a stream defining a stream destination module and a stream source module. The stream source module places data values in the stream and the stream conveys data values from the stream source module to the stream destination module. A runtime system detects when the data values are available to the stream destination module and schedules the stream destination module for execution on one of the plurality of processing cores.

IPC Classes  ?

  • G06F 9/46 - Multiprogramming arrangements
  • G06F 9/45 - Compilation or interpretation of high level programme languages
  • G06F 15/00 - Digital computers in general; Data processing equipment in general
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead
  • G06F 15/173 - Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star or snowflake
  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]
  • G06F 9/48 - Program initiating; Program switching, e.g. by interrupt

41.

Method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system

      
Application Number 13204164
Grant Number 09110692
Status In Force
Filing Date 2011-08-05
First Publication Date 2012-02-09
Grant Date 2015-08-18
Owner CORNAMI, INC. (USA)
Inventor
  • Master, Frederick
  • Master, Paul

Abstract

A method and system of compiling and linking source stream programs for efficient use of multi-node devices. The system includes a compiler, a linker, a loader and a runtime component. The process converts a source code stream program to a compiled object code that is used with a programmable node based computing device having a plurality of processing nodes coupled to each other. The programming modules include stream statements for input values and output values in the form of sources and destinations for at least one of the plurality of processing nodes and stream statements that determine the streaming flow of values for the at least one of the plurality of processing nodes. The compiler converts the source code stream based program to object modules, object module instances and executables. The linker matches the object module instances to at least one of the multiple cores. The loader loads the tasks required by the object modules in the nodes and configure the nodes matched with the object module instances. The runtime component runs the converted program.

IPC Classes  ?

  • G06F 9/45 - Compilation or interpretation of high level programme languages
  • G06F 9/38 - Concurrent instruction execution, e.g. pipeline, look ahead

42.

Method and apparatus for a general-purpose, multiple-core system for implementing stream-based computations

      
Application Number 13011763
Grant Number 08843928
Status In Force
Filing Date 2011-01-21
First Publication Date 2011-07-21
Grant Date 2014-09-23
Owner CORNAMI, INC. (USA)
Inventor
  • Master, Paul
  • Furtek, Frederick

Abstract

A method and system of efficient use and programming of a multi-processing core device. The system includes a programming construct that is based on stream-domain code. A programmable core based computing device is disclosed. The computing device includes a plurality of processing cores coupled to each other. A memory stores stream-domain code including a stream defining a stream destination module and a stream source module. The stream source module places data values in the stream and the stream conveys data values from the stream source module to the stream destination module. A runtime system detects when the data values are available to the stream destination module and schedules the stream destination module for execution on one of the plurality of processing cores.

IPC Classes  ?

  • G06F 9/46 - Multiprogramming arrangements
  • G06F 9/45 - Compilation or interpretation of high level programme languages
  • G06F 15/76 - Architectures of general purpose stored program computers
  • G06F 9/40 - Arrangements for executing subprogrammes, i.e. combinations of several instructions
  • G06F 15/173 - Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star or snowflake
  • G06F 9/50 - Allocation of resources, e.g. of the central processing unit [CPU]

43.

Method and system for achieving individualized protected space in an operating system

      
Application Number 10437855
Grant Number 07660984
Status In Force
Filing Date 2003-05-13
First Publication Date 2010-02-09
Grant Date 2010-02-09
Owner CORNAMI, INC. (USA)
Inventor Master, Paul L.

Abstract

Aspects for achieving individualized protected space in an operating system are provided. The aspects include performing on demand hardware instantiation via an ACE (an adaptive computing engine), and utilizing the hardware for monitoring predetermined software programming to protect an operating system.

IPC Classes  ?

  • H04L 9/00 - Arrangements for secret or secure communications; Network security protocols

44.

Method of aggregating multiple certificate authority services

      
Application Number 12486704
Grant Number 07937583
Status In Force
Filing Date 2009-06-17
First Publication Date 2009-12-24
Grant Date 2011-05-03
Owner CORNAMI, INC. (USA)
Inventor
  • Thornton, Russell S.
  • Hodson, Benjamin
  • Seegmiller, Jayson

Abstract

The disclosure relates to the management of PKI digital certificates, including certificate discovery, installation, verification and replacement for endpoints over an insecure network. A database of certificates may be maintained through discovery, replacement and other activities. Certificate discovery identifies certificates and associated information including network locations, methods of access, applications of use and non-use, and may produce logs and reports. Automated requests to certificate authorities for new certificates, renewals or certificate signing requests may precede the installation of issued certificates to servers using installation scripts directed to a particular application or product, which may provide notification or require approval or intervention. An administrator may be notified of expiring certificates, using a database or scanning or server agents. Detailed information on various example embodiments of the inventions are provided in the Detailed Description below, and the inventions are defined by the appended claims.

IPC Classes  ?

  • H04L 9/00 - Arrangements for secret or secure communications; Network security protocols
  • G06F 3/00 - Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
  • G06K 9/00 - Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints

45.

System, method and software for static and dynamic programming and configuration of an adaptive computing architecture

      
Application Number 10645269
Grant Number 07200837
Status In Force
Filing Date 2003-08-21
First Publication Date 2005-02-24
Grant Date 2007-04-03
Owner CORNAMI, INC. (USA)
Inventor Stevens, Cameron

Abstract

The present invention provides a system, method and software for programming and configuring an adaptive computing architecture or device. The invention utilizes program constructs which correspond to and map directly to the adaptive hardware having a plurality of reconfigurable nodes coupled through a reconfigurable matrix interconnection network. A first program construct corresponds to a selected node. A second program construct corresponds to an executable task of the selected node and includes one or more firing conditions capable of determining the commencement of the executable task of the selected node. A third program construct corresponds to at least one input port coupling the selected node to the matrix interconnect network for input data to be consumed by the executable task. A fourth program construct corresponds to at least one output port coupling the selected node to the matrix interconnect network for output data to be produced by the executable task.

IPC Classes  ?

46.

External memory controller node

      
Application Number 10719921
Grant Number 07225301
Status In Force
Filing Date 2003-11-20
First Publication Date 2004-09-09
Grant Date 2007-05-29
Owner CORNAMI, INC. (USA)
Inventor
  • Furtek, Frederick Curtis
  • Master, Paul L.

Abstract

A memory controller to provide memory access services in an adaptive computing engine is provided. The controller comprises: a network interface configured to receive a memory request from a programmable network; and a memory interface configured to access a memory to fulfill the memory request from the programmable network, wherein the memory interface receives and provides data for the memory request to the network interface, the network interface configured to send data to and receive data from the programmable network.

IPC Classes  ?

  • G06F 12/00 - Accessing, addressing or allocating within memory systems or architectures

47.

Task definition for specifying resource requirements

      
Application Number 10233175
Grant Number 08108656
Status In Force
Filing Date 2002-08-29
First Publication Date 2004-03-18
Grant Date 2012-01-31
Owner CORNAMI, INC. (USA)
Inventor
  • Katragadda, Ramana
  • Spoltore, Paul
  • Howard, Ric

Abstract

Task definitions are used by a task scheduler and prioritizer to allocate task operation to a plurality of processing units. The task definition is an electronic record that specifies researching needed by, and other characteristics of, a task to be executed. Resources include types of processing nodes desired to execute the task, needed amount or rate of processing cycles, amount of memory capacity, number of registers, input/output ports, buffer sizes, etc. Characteristics of a task include maximum latency tome, frequency of execution of a task, communication ports, and other characteristics. An exemplary task definition language and syntax is described that uses constructs including other of attempted scheduling operations, percentage or amount of resources desired by different operations, handling of multiple executable images or modules, overlays, port aliases and other features.

IPC Classes  ?

  • G06F 9/30 - Arrangements for executing machine instructions, e.g. instruction decode
  • G06F 9/46 - Multiprogramming arrangements
  • G06F 15/76 - Architectures of general purpose stored program computers
  • G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

48.

Hardware task manager

      
Application Number 10443501
Grant Number 07653710
Status In Force
Filing Date 2003-05-21
First Publication Date 2004-02-05
Grant Date 2010-01-26
Owner CORNAMI, INC. (USA)
Inventor
  • Scheuermann, W. James
  • Hogenauer, Eugene B.

Abstract

A hardware task manager for managing operations in an adaptive computing system. The task manager indicates when input and output buffer resources are sufficient to allow a task to execute. The task can require an arbitrary number of input values from one or more other (or the same) tasks. Likewise, a number of output buffers must also be available before the task can start to execute and store results in the output buffers. The hardware task manager maintains a counter in association with each input and output buffer. For input buffers, a negative value for the counter means that there is no data in the buffer and, hence, the respective input buffer is not ready or available. Thus, the associated task can not run. Predetermined numbers of bytes, or “units,” are stored into the input buffer and an associated counter is incremented. When the counter value transitions from a negative value to a zero the high-order bit of the counter is cleared, thereby indicating the input buffer has sufficient data and is available to be processed by a task.

IPC Classes  ?

  • G06F 15/173 - Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star or snowflake
  • G06F 9/46 - Multiprogramming arrangements
  • G06F 3/00 - Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements

49.

System for authorizing functionality in adaptable hardware devices

      
Application Number 09998006
Grant Number 07046635
Status In Force
Filing Date 2001-11-28
First Publication Date 2003-05-29
Grant Date 2006-05-16
Owner CORNAMI, INC. (USA)
Inventor
  • Master, Paul L.
  • Watson, John

Abstract

A system for authorizing new or ongoing functional use of an adaptable device. The device generates usage information including the times that the device is used, types of functionality provided, indication of amount and type of resources used, and other information. The usage information is transmitted back to a controlling entity, such as an original manufacturer of the adaptable device. The controlling entity can act to enable or prevent use of the provided functionality, as desired. Part of the requirement for using functionality can be monetary, by predetermined agreement, or by other criteria.

IPC Classes  ?

  • G08C 15/00 - Arrangements characterised by the use of multiplexing for the transmission of a plurality of signals over a common path
  • H04B 1/40 - Circuits