Lattice Boltzmann Boundary Encoding in Unused Population Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Lattice Boltzmann methods are memory-bound and face challenges in implementing complex boundary conditions, which increase memory requirements and hinder data locality, making performance optimization techniques impractical.

Innovation Solution

The method involves encoding boundary condition data in unused portions of random access memory and providing it to local memory for application during the lattice Boltzmann modeling process, using techniques like kernel fusion to optimize memory usage and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If complex boundary conditions are implemented in lattice Boltzmann methods, then the modeling capability is improved, but memory requirements increase and data locality is hindered

Engineering Contradiction:
Improvemodeling capabilityVSAvoidmemory requirements
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent makes the population storage locations serve multiple functions: they simultaneously store particle population data and boundary condition parameters. By encoding boundary condition data (such as wall positions, pressure values, velocity components) within the same memory locations that would otherwise store outgoing or incoming populations, the system eliminates the need for separate boundary condition storage structures, thereby reducing overall memory requirements while maintaining complex boundary condition capabilities

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent nests boundary condition data within the population storage structure by encoding boundary parameters in unused portions of population storage locations. This nested arrangement allows boundary condition information to be embedded within the existing population data structure, optimizing memory utilization and improving data locality without requiring additional memory resources

Inventive Principle:
Principle #7Nested doll (Nesting)

2Adaptability or versatility

If complex boundary conditions are implemented in lattice Boltzmann methods, then the modeling capability is improved, but performance optimization techniques become impractical

Engineering Contradiction:
Improvemodeling capabilityVSAvoidimplementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the boundary condition application process with the collision and streaming operations into a unified kernel. By encoding boundary condition data in the same memory locations as population data and processing both together in a single computational kernel, the patent eliminates the need for separate boundary condition handling steps, thereby simplifying the implementation while maintaining support for complex boundary conditions

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If separate memory is allocated for boundary condition data, then the boundary conditions can be stored, but memory overhead increases

Engineering Contradiction:
Improveboundary condition storageVSAvoidmemory overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent makes the population storage locations serve multiple functions: they simultaneously store particle population data and boundary condition parameters. By encoding boundary condition data (such as wall positions, pressure values, velocity components) within the same memory locations that would otherwise store outgoing or incoming populations, the system eliminates the need for separate boundary condition storage structures, thereby reducing overall memory requirements while maintaining complex boundary condition capabilities

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent recovers unused memory resources by identifying and utilizing the storage locations for outgoing populations at boundaries (which are not requested from memory) or incoming populations (which will be missing from memory). These previously wasted or unused portions are recovered and repurposed to store boundary condition data, thereby eliminating memory overhead without compromising the reliability of boundary condition storage

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS20250265183A1Memory-efficient encoding and decoding of boundary conditions in the lattice boltzmann method
Publication Date: 2025.08.21 AUTODESK INC
  • US20250265183A1 patent drawing
  • US20250265183A1 patent drawing
  • US20250265183A1 patent drawing

AI summary

Methods, systems, and apparatus, including medium-encoded computer program products include: receiving an allocation of storage locations in a first memory, where the storage locations are used for storing representations of particle populations for respective lattice units of a discretized space, where the first memory is a random access memory of a processing system; receiving boundary conditions data; encoding the boundary condition data in unused portions of the storage locations of the first memory during at least one time step of a lattice Boltzmann modelling process; providing the boundary conditions data from the first memory to a second memory for applying, in the second memory, the boundary conditions at the one or more boundaries during the at least one time step, where the second memory is a local memory of the processing system; and providing a result of the at least one time step of the lattice Boltzmann modelling process.