H03M7/6011

Dynamic sequencing of data partitions for optimizing memory utilization and performance of neural networks

Optimized memory usage and management is crucial to the overall performance of a neural network (NN) or deep neural network (DNN) computing environment. Using various characteristics of the input data dimension, an apportionment sequence is calculated for the input data to be processed by the NN or DNN that optimizes the efficient use of the local and external memory components. The apportionment sequence can describe how to parcel the input data (and its associated processing parameters—e.g., processing weights) into one or more portions as well as how such portions of input data (and its associated processing parameters) are passed between the local memory, external memory, and processing unit components of the NN or DNN. Additionally, the apportionment sequence can include instructions to store generated output data in the local and/or external memory components so as to optimize the efficient use of the local and/or external memory components.

Systems and methods of encoding information using digital lensing
11671113 · 2023-06-06 · ·

A method, and the associated design, schema and techniques for processing digital data, whether random or not, through encoding and decoding losslessly and correctly for purposes of encryption/decryption or compression/decompression or both, including the use of Digital Lensing, Unlimited Code System, and other associated techniques. There is no assumption of or requirement for the digital information to be processed before processing.

Huffman tree decompression

To decompress encoded data, a Huffman code tree stored in a data header may need to be decompressed and rebuilt. A bit length histogram table is used in a hardware design to more efficiently decompress the Huffman code tree. The bit length histogram table relates each bit length used by the Canonical Huffman Code (CHC) symbols to a corresponding number of symbols in the encoding that have that bit length. Performing decompression using bit length histogram table allows part of the Huffman tree decompression to be performed in a single pass.

Systems and Methods for High Throughput Multi-Input Compression
20170249105 · 2017-08-31 ·

Systems and methods relating generally to data storage, and more particularly to systems and methods for encoding to modify the size of an information set.

Parallel, block-based data encoding and decoding using multiple computational units
11245416 · 2022-02-08 · ·

Massively parallel, block-based encoding and decoding technology that includes an encoded block format uses a plurality of processing cores to perform block-based encoding and decoding operations. The encoded block format includes a header and a payload. The encoded block format's headers represent unique single-Byte and multi-Byte event parameters that occur in the original data block from which each encoded block was generated. The encoded block format's payloads represent a sequence of single-Byte and multi-Byte events using tokens that associate each event with its corresponding parameter(s). Metadata can include an array of encoded block sizes that support random access.

MANAGING MEMORY FRAGMENTATION IN HARDWARE-ASSISTED DATA COMPRESSION

Systems, devices, and methods for managing fragmentation in hardware-assisted compression of data in physical computer memory which may result in reduced internal fragmentation. An example computer-implemented method comprises: providing, by a memory management program to compression hardware, a compression command including an address in physical computer memory of data to be compressed and a list of at least two available buffers for storing compressed data; using, by the compression hardware, the address included in the compression command to retrieve uncompressed data; compressing the uncompressed data; and selecting, by the compression hardware, from the list of at least two available buffers, at least two buffers for storing compressed data based on an amount of space that would remain if the compressed data were stored in the at least two buffers, wherein each of the at least two selected buffers differs in size from at least one other of the selected buffers.

Technologies for dividing work across accelerator devices

Technologies for dividing work across one or more accelerator devices include a compute device. The compute device is to determine a configuration of each of multiple accelerator devices of the compute device, receive a job to be accelerated from a requester device remote from the compute device, and divide the job into multiple tasks for a parallelization of the multiple tasks among the one or more accelerator devices, as a function of a job analysis of the job and the configuration of each accelerator device. The compute engine is further to schedule the tasks to the one or more accelerator devices based on the job analysis and execute the tasks on the one or more accelerator devices for the parallelization of the multiple tasks to obtain an output of the job.

Method, apparatus and computer program product for storing data

Techniques involve storing data. In particular, such techniques involve: obtaining first data to be stored; determining whether the first data is able to be compressed in a compression ratio exceeding a predetermined threshold; and storing, based on the determined result, the first data into a storage device. Accordingly, such techniques can execute corresponding processing for data in a predicted compression ratio, so as to store the data into a storage device. In this manner, such techniques can significantly cut down the overheads for processing data while minimizing a storage space required for storing data.

DOUBLE-PASS LEMPEL-ZIV DATA COMPRESSION WITH AUTOMATIC SELECTION OF STATIC ENCODING TREES AND PREFIX DICTIONARIES

A method includes receiving an input data stream at a processor, and for each byte sequence from a plurality of byte sequences of the input data stream, a hash is generated and compared to a hash table to determine whether a match exists. If a match exists, that byte sequence is incrementally expanded to include one or more additional adjacent bytes from the input data stream, to produce multiple expanded byte sequences. Each of the expanded byte sequences is compared to the hash table to identify a maximum-length matched byte sequence from a set that includes the byte sequence and the plurality of expanded byte sequences. A representation of the maximum-length matched byte sequence is stored in the memory. If a match does not exist, a representation of that byte sequence is stored as a byte sequence literal in the memory.

Methods and devices for entropy coding point clouds
11455749 · 2022-09-27 · ·

Methods and devices for encoding a point cloud. A current node associated with a sub-volume is split into further sub-volumes, each further sub-volume corresponding to a child node of the current node, and, at the encoder, an occupancy pattern is determined for the current node based on occupancy status of the child nodes. A probability distribution is selected from among a plurality of probability distributions based on occupancy data for a plurality of nodes neighbouring the current node. The encoder entropy encodes the occupancy pattern based on the selected probability distribution to produce encoded data for the bitstream and updates the selected probability distribution. The decoder makes the same selection based on occupancy data for neighbouring nodes and entropy decodes the bitstream to reconstruct the occupancy pattern.