Reordering N-Dimensional Sparse Data Chunks for Spatial Locality

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Sparse N-dimensional Convolutional Neural Networks (CNNs) face challenges in maintaining spatial locality of data, leading to inefficient computation due to the sparse nature of the data, which results in increased computational burden and slower performance as only active voxels are stored, causing a loss of spatial locality and increased data re-fetching.

Innovation Solution

Reordering data into chunks that contain spatially co-located data elements, with chunk sizes optimized for memory constraints, to maintain spatial locality and reduce re-fetching, while being agnostic to data orientation and adaptable across different memory levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If sparse N-dimensional CNN data is stored with only active voxels, then storage efficiency is improved, but spatial locality is lost leading to increased computational burden

Engineering Contradiction:
Improvestorage efficiencyVSAvoidcomputational efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments sparse N-dimensional data into discrete chunks, where each chunk contains a subset of voxels with their spatial relationships preserved. This segmentation allows efficient storage of only active voxels while maintaining the spatial locality needed for computational operations by organizing voxels into coherent groups rather than storing them as isolated elements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested hierarchical structure where voxels are organized within chunks, which are further organized within memory levels. This nested organization allows the system to maintain spatial locality at multiple scales - voxels within chunks preserve local spatial relationships, while chunks themselves are arranged to preserve broader spatial patterns, enabling efficient computation despite sparse storage.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Productivity

If data is re-ordered to maintain spatial locality, then computational efficiency is improved, but data re-fetching increases

Engineering Contradiction:
Improvecomputational efficiencyVSAvoiddata re-fetching time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary reordering of sparse data into spatially coherent chunks before processing begins. By pre-organizing the data structure to maintain spatial locality, the system eliminates the need for repeated data re-fetching during computational operations, as all necessary spatially-related voxels are already co-located in the same chunks when processing starts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies different organizational strategies to different regions of the data based on their spatial characteristics. Chunks containing densely packed active voxels are organized differently from sparsely populated regions, optimizing spatial locality locally while minimizing overall data re-fetching requirements through region-adaptive organization.

Inventive Principle:
Principle #3Local quality

3Loss of time

If chunk size is increased to reduce re-fetching, then memory utilization is improved, but memory constraints are violated

Engineering Contradiction:
Improvedata re-fetching frequencyVSAvoidmemory constraint compliance
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements dynamic chunk sizing where the size of each chunk is adjusted based on the specific memory constraints of the target system and the local density of active voxels. This dynamic adaptation allows the system to maximize chunk sizes to reduce re-fetching operations while ensuring that no single chunk exceeds the available memory capacity, thereby satisfying memory constraints through flexible, context-aware sizing.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of chunk size based on memory availability and data characteristics. By making chunk size a variable parameter rather than a fixed value, the system can optimize for reduced re-fetching in systems with larger memory while automatically adapting to smaller memory constraints, thus resolving the contradiction between reducing re-fetching and satisfying memory limits.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12189559B2Methods, apparatus, and articles of manufacture to reorder N-dimensional sparse data into groups of data elements that can be collocated in a memory
Publication Date: 2025.01.07 INTEL CORP
  • US12189559B2 patent drawing
  • US12189559B2 patent drawing
  • US12189559B2 patent drawing

AI summary

Exemplary embodiments maintain spatial locality of the data being processed by a sparse CNN. The spatial locality is maintained by reordering the data to preserve spatial locality. The reordering may be performed on data elements and on data for groups of co-located data elements referred to herein as “chunks”. Thus, the data may be reordered into chunks, where each chunk contains data for spatially co-located data elements, and in addition, chunks may be organized so that spatially located chunks are together. The use of chunks helps to reduce the need to re-fetch data during processing. Chunk sizes may be chosen based on the memory constraints of the processing logic (e.g., cache sizes).