G06F5/00

Buffering of associative operations on random memory addresses
10534575 · 2020-01-14 · ·

A system, a method, and computer program product for performing buffering operations. A data update is received at a buffering location. The buffering location includes a first buffer portion and a second buffer portion. The data update includes an address tag. The buffering location is communicatively coupled to a memory location configured to receive the data update. A target address of the data update in the memory location is determined using the first buffer portion and compared to the address tag. The data update is applied using the first buffer portion to update data in the first buffer portion upon determination that the target address matches the address tag. The target address of the data update is pre-fetched from the memory location upon determination that the target address does not match the address tag. The first and second buffer portions buffer the data update using the pre-fetched target address.

INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND DATA STRUCTURE
20200012685 · 2020-01-09 · ·

An information processing device includes: a memory; and a processor coupled to the memory and configured to: convert target data into first data by predetermined arithmetic processing; generate second data based on the converted first data and identification information which specifies a file of the target data; and store the target data in an address of a memory corresponding to the generated second data.

Customized internet-of-things data packaging and brokering

A data-brokerage service that facilitates data sharing between Internet-of-Things (IoT) platforms via peer-to-peer connections is described. In various embodiments, the data-brokerage service receives, from an IoT platform acting as data consumer, a selection of data fields included in a plurality of data streams provided from a plurality of respective IoT platforms acting as data producers. Responsive to the selection, the data-brokerage service causes the plurality of data-producer platforms to stream at least the selected data fields of the plurality of data streams to the data-consumer platform, and causes the data-consumer platform to combine the streamed data fields received from the plurality of data-producer platforms into a single target data stream.

System And Method Of Input Alignment For Efficient Vector Operations In An Artificial Neural Network
20200005127 · 2020-01-02 ·

A novel and useful system and method of input alignment for streamlining vector operations that reduce the required memory read bandwidth. The input aligner as deployed in the NN processor, functions to facilitate the reuse of data read from memory and to avoid having to re-read that data in the context of neural network calculations. The input aligner functions to distribute input data (or weights) to the appropriate compute elements while consuming input data in a single cycle. Thus, the input aligner is operative to lower the required read bandwidth of layer input in an ANN. This reflects the fact that normally in practice, a vector multiplication is performed every time instance. This considers the fact that in many native calculations that take place in an ANN, the same data point is involved in multiple calculations.

DATA TRANSFORMATION SYSTEM AND METHOD
20240037348 · 2024-02-01 · ·

A method of transforming data including receiving data in a first language specific form, converting the data in the first language specific form to a language agnostic form, storing the data in the language agnostic form, converting the data in the language agnostic form to at least one second language specific form and exporting, on demand, the data in at least one of the at least one second language specific form.

DATA TRANSFORMATION SYSTEM AND METHOD
20240037348 · 2024-02-01 · ·

A method of transforming data including receiving data in a first language specific form, converting the data in the first language specific form to a language agnostic form, storing the data in the language agnostic form, converting the data in the language agnostic form to at least one second language specific form and exporting, on demand, the data in at least one of the at least one second language specific form.

Multi-producer single consumer lock-free queues with producer reference counting
10514997 · 2019-12-24 · ·

Systems and methods associated with a multi-producer single consumer lock-free queue capable of accumulating traces is described herein. In a non-limiting embodiment, data is determined to be allocated, and a first head/tail pair indicating a location along a queue is received, the location indicating where a data bucket is able to be placed. A first data bucket to use for storing the data is determined, and the data is stored using the first data bucket. The first data bucket is then placed on the queue, and a first instruction to decrement a first reference count for the first head/tail pair is generated.

Multi-producer single consumer lock-free queues with producer reference counting
10514997 · 2019-12-24 · ·

Systems and methods associated with a multi-producer single consumer lock-free queue capable of accumulating traces is described herein. In a non-limiting embodiment, data is determined to be allocated, and a first head/tail pair indicating a location along a queue is received, the location indicating where a data bucket is able to be placed. A first data bucket to use for storing the data is determined, and the data is stored using the first data bucket. The first data bucket is then placed on the queue, and a first instruction to decrement a first reference count for the first head/tail pair is generated.

Image reading apparatus
11943405 · 2024-03-26 · ·

An image reading apparatus includes a feed roller configured to feed a document, a transport roller disposed downstream of the feed roller and configured to transport the document downstream; a transport motor being a drive source of the transport roller; a reading unit disposed downstream of the transport roller and configured to read the document; and a control unit configured to control the reading unit and the transport motor, wherein the control unit is configured to obtain information on a document type and an inclination detection reference value for an inclination of image data set in accordance with the document type and obtained from the reading unit, and when the inclination of the image data exceeds the inclination detection reference value in accordance with the document type, the control unit stops the transport motor.

Element ordering handling in a ring buffer

Data processing apparatuses, methods of data processing, complementary instructions and programs related to ring buffer administration are disclosed. An enqueuing operation performs an atomic compare-and-swap oper-ation to store a first processed data item indication to an enqueuing-target slot in the ring buffer contingent on an in-order marker not being present there and, when successful, determines that a ready-to-dequeue condition is true for the first processed data item indication. A dequeuing operation, when the ready-to-de-queue condition for a dequeuing-target slot is true, comprises writing a null data item to the dequeuing-target slot and, when dequeuing in-order, further comprises, dependent on whether a next contiguous slot has null content, determining a retirement condition and, when the retirement condition is true, performing a retirement process on the next contiguous slot comprising making the next con-tiguous slot available to a subsequent enqueuing operation. Further subsequent slots may also be retired.