IP Library Granted Patent US 12693898
Granted Patent B2
US 12693898 · App. 17/685,277 · Granted Jul 28, 2026

Memory allocation for processing sequential data

Inventor: Tushar Khinvasara (Pune, IN)
Assignee: NVIDIA Corporation
G06F9/5016G06N3/02G06N5/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12693898
App. No.
17/685,277
Granted
Jul 28, 2026
Kind
B2
Abstract

Apparatuses, systems, and techniques to allocate memory based on a part of a sequence of items. In at least one embodiment, memory is allocated based on the size of a sliding window used to analyze images with neural networks.

Claims (48)

1 . A computer-implemented method, comprising:

allocating contiguous memory;

storing, in the contiguous memory, a plurality of sequences of items obtained from a plurality of sources;

identifying, using a sliding window spanning at least a portion of each of two or more sequences of the plurality of sequences obtained from two or more sources of the plurality of sources, a segment of the contiguous memory comprising subsets of each of the two or more sequences;

obtaining next items in the plurality of sequences;

overwriting one or more of the subsets of the segment using the obtained next items to be in order with corresponding sequences of the plurality of sequences.

2 . The method of claim 1 , further comprising allocating the contiguous memory based, at least in part, on a number of items that the sliding window captures from the plurality of sequences of items.

3 . The method of claim 1 , wherein one or more items of the plurality of sequences of items are frames of a video stream.

4 . The method of claim 1 , wherein a number of items in the stored plurality of the sequences of items is based, at least in part, on a number of items that the sliding window captures from the two or more sequences.

5 . The method of claim 1 , wherein the plurality of the sequences of items comprises data generated using a plurality of sensors.

6 . The method of claim 1 , further comprising:

using a neural network to generate one or more inferences based on the stored plurality of the sequences of items.

7 . One or more processors, comprising circuitry to:

allocate contiguous memory;

store, in the contiguous memory, a plurality of sequences of items obtained from a plurality of sources;

identify, using a sliding window spanning at least a portion of each of two or more sequences of the plurality of sequences obtained from two or more sources of the plurality of sources, a segment of the contiguous memory comprising subsets of each of the two or more sequences;

obtain next items in the plurality of sequences;

overwrite one or more of the subsets of the segment using the obtained next items to be in order with corresponding sequences of the plurality of sequences.

8 . The processor one or more processors of claim 7 , wherein the circuitry is further to send the subsets of the two or more sequences of the segment as a batch to be processed by one or more neural networks.

9 . The one or more processors of claim 7 , wherein the circuitry is further to identify, using the sliding window, a different segment of the contiguous memory comprising at least the obtained next items.

10 . The one or more processors of claim 7 , wherein one or more of the plurality of the sequences of items are temporally sequenced still images from a streaming data source.

11 . The one or more processors of claim 7 , wherein every n-th buffer index captured by the sliding window stores an item from a different sequence of the two or more sequences of the plurality of sequences.

12 . The one or more processors of claim 7 , wherein the circuitry is further to cause a neural network to be trained using the segment of the contiguous memory comprising the subsets of the two or more sequences.

13 . A system comprising:

one or more processors to cause the system to:

allocate contiguous memory;

store, in the contiguous memory, a plurality of sequences of items obtained from a plurality of sources;

identify, using a sliding window spanning at least a portion of each of two or more sequences of the plurality of sequences obtained from two or more sources of the plurality of sources, a segment of the contiguous memory comprising subsets of each of the two or more sequences;

obtain next items in the plurality of sequences;

overwrite one or more of the subsets of the segment using the obtained next items to be in order with corresponding sequences of the plurality of sequences.

14 . The system of claim 13 , wherein each sequential item is to be written sequentially into sequential buffers arranged contiguously in the contiguous memory.

15 . The system of claim 13 , wherein the one or more processors are to cause the system to allocate the contiguous memory to be sufficient to store at least one less than twice a number of sequential items in the sliding window.

16 . The system of claim 13 , wherein one or more items of the plurality of the sequences of items are frames from a live video stream.

17 . The system of claim 13 , wherein the one or more processors are to allocate the contiguous memory based, at least in part, on one or more sizes of one or more additional sliding windows, wherein each of the one or more additional sliding windows capture one or more additional sequences of items.

18 . The system of claim 13 , further comprising:

a neural network, wherein the neural network is to receive input items in sequence from the allocated contiguous memory.

19 . The system of claim 13 , wherein the one or more processors are to cause the system to allocate the contiguous memory based, at least in part, on a number of the sources.

20 . A non-transitory machine-readable medium having stored thereon a set of instructions, which if performed by one or more processors, cause the one or more processors to at least:

allocate contiguous memory;

store, in the contiguous memory, a plurality of sequences of items obtained from a plurality of sources;

identify, using at least one sliding window spanning at least a portion of each of two or more sequences of the plurality of sequences obtained from two or more sources of the plurality of sources, a segment of the contiguous memory comprising subsets of each of the two or more sequences;

obtain next items in the plurality of sequences;

overwrite one or more of the subsets of the segment using the obtained next items to be in order with corresponding sequences of the plurality of sequences.

21 . The non-transitory machine-readable medium of claim 20 , further including instructions, which if performed by the one or more processors, cause the one or more processors to allocate the contiguous memory based, at least in part, on multiplying together a number of the plurality of the sequences of items and a number of items for each of the subsets.

22 . The non-transitory machine-readable medium of claim 20 , further including instructions, which if performed by the one or more processors, cause the one or more processors to allocate the contiguous memory based, at least in part, on a number of the plurality of the sequences of items.

23 . The non-transitory machine-readable medium of claim 20 , wherein the at least one sliding window comprises a plurality of windows each associated with a respective different sequence of the plurality of the sequences of items.

24 . The non-transitory machine-readable medium of claim 20 , further including instructions, which if performed by the one or more processors, cause the one or more processors to allocate the contiguous memory based further, at least in part, on a number of the plurality of the sequences of items to be sent to a neural network as input data.

25 . The non-transitory machine-readable medium of claim 20 , further including instructions, which if performed by the one or more processors, cause a neural network to generate information from one or more of the plurality of the sequences of items stored in the allocated contiguous memory.