G06F7/49

Native ternary random numbers generation

A system and method for random number generation are presented. A plurality of parameter values are generated by inspecting a plurality of cells in a memory array. Each parameter value in the plurality of parameter values is associated with a cell of the plurality of cells. A plurality of unstable cells in the plurality of cells are identified. Each unstable cell in the plurality of unstable cells is associated with a parameter value within a threshold value of an average of the plurality of parameter values. First, second and third groups of cells in the plurality of unstable cells identified and associated with values. The groups are determined based upon the parameter values associated with the cells in each group. A data stream is generated using the first group of cells, the second group of cells, and the third group of cells.

Native ternary random numbers generation

A system and method for random number generation are presented. A plurality of parameter values are generated by inspecting a plurality of cells in a memory array. Each parameter value in the plurality of parameter values is associated with a cell of the plurality of cells. A plurality of unstable cells in the plurality of cells are identified. Each unstable cell in the plurality of unstable cells is associated with a parameter value within a threshold value of an average of the plurality of parameter values. First, second and third groups of cells in the plurality of unstable cells identified and associated with values. The groups are determined based upon the parameter values associated with the cells in each group. A data stream is generated using the first group of cells, the second group of cells, and the third group of cells.

Computer architecture for performing inversion using correlithm objects in a correlithm object processing system
11301544 · 2022-04-12 · ·

A system includes a memory and a node. The memory stores first and second log string correlithm objects. The node aligns the first and second log string correlithm objects such that a sub-string correlithm object from the first log string correlithm object associated with the logarithmic value of ten aligns with a sub-string correlithm object from the second log string correlithm object representing the logarithmic value of one. The node receives a first real-world numerical value and identifies a first sub-string correlithm object from the first log string correlithm object that corresponds to the first real-world numerical value. The node determines which sub-string correlithm object from the second log string correlithm object aligns in n-dimensional space with the first sub-string correlithm object from the first log string correlithm object, and outputs the determined sub-string correlithm object.

Fast sort engine
11281427 · 2022-03-22 ·

A method of sorting an array of data elements, the method includes assigning values associated with a monotonic function to the data elements, and sorting the array of data elements by sorting the monotonic function values using a least significant digit (LSD) Radix sort.

Fast sort engine
11281427 · 2022-03-22 ·

A method of sorting an array of data elements, the method includes assigning values associated with a monotonic function to the data elements, and sorting the array of data elements by sorting the monotonic function values using a least significant digit (LSD) Radix sort.

Methods, Systems, and Circuits for Coordinated Optimization in In-Memory Sorting
20230401034 · 2023-12-14 ·

Disclosed herein are systems, methods, and computer-readable media for sorting datasets within a Processing in Memory (PIM)-based system. A request to sort a dataset stored in a 3D-stacked memory can be received. The request can identify a specific dataset and sorting criteria, which includes a plurality of keys. The dataset can be partitioned into several subarrays across various memory banks within the 3D-stacked memory. Each piece of data within these subarrays can be separated into buckets based on the keys. Local histograms for each subarray and bank histograms based on the local histograms can be generated. A prefix-sum operation on the bank histograms can determine individual positions for the sorted dataset. Aggregation of the subarrays from all memory banks can form the sorted dataset, which can be subsequently returned.

Methods, Systems, and Circuits for Coordinated Optimization in In-Memory Sorting
20230401034 · 2023-12-14 ·

Disclosed herein are systems, methods, and computer-readable media for sorting datasets within a Processing in Memory (PIM)-based system. A request to sort a dataset stored in a 3D-stacked memory can be received. The request can identify a specific dataset and sorting criteria, which includes a plurality of keys. The dataset can be partitioned into several subarrays across various memory banks within the 3D-stacked memory. Each piece of data within these subarrays can be separated into buckets based on the keys. Local histograms for each subarray and bank histograms based on the local histograms can be generated. A prefix-sum operation on the bank histograms can determine individual positions for the sorted dataset. Aggregation of the subarrays from all memory banks can form the sorted dataset, which can be subsequently returned.

Systems and methods for efficient scaling of quantized integers

The disclosed computer-implemented method may include receiving an input value and a floating-point scaling factor and determining (1) an integer scaling factor based on the floating-point scaling factor, (2) a pre-scaling adjustment value representative of a number of places by which to shift a binary representation of the input value prior to a scaling operation, and (3) a post-scaling adjustment value representative of a number of places by which to shift the binary representation of the input value following the scaling operation. The method may further include calculating a scaled result value by (1) shifting rightwards the binary representation of the input value by the pre-scaling adjustment value, (2) scaling the shifted binary representation of the input value by the integer scaling factor, and (3) shifting rightwards the shifted and scaled binary value by the post-scaling adjustment value. Various other methods, systems, and computer-readable media are also disclosed.

Systems and methods for efficient scaling of quantized integers

The disclosed computer-implemented method may include receiving an input value and a floating-point scaling factor and determining (1) an integer scaling factor based on the floating-point scaling factor, (2) a pre-scaling adjustment value representative of a number of places by which to shift a binary representation of the input value prior to a scaling operation, and (3) a post-scaling adjustment value representative of a number of places by which to shift the binary representation of the input value following the scaling operation. The method may further include calculating a scaled result value by (1) shifting rightwards the binary representation of the input value by the pre-scaling adjustment value, (2) scaling the shifted binary representation of the input value by the integer scaling factor, and (3) shifting rightwards the shifted and scaled binary value by the post-scaling adjustment value. Various other methods, systems, and computer-readable media are also disclosed.

Method and system for secure encryption

A method executed by a computer system that transmits a multimedia content through a negative-base number. The method includes generating a binary sequence for the multimedia content, converting the binary sequence into a negative-base number, receiving the negative-base number, retrieving a negative base of the negative base number, calculating the binary sequence based on the negative-base number and the negative base, and obtaining the multimedia content based on the binary sequence.