Spiking Neural Network Compilation for Multi-Platform Simulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge lies in efficiently simulating large spiking neural networks in real-time across various platforms without requiring significant modifications to the network description, as the computational requirements change with the size and complexity of the network, often necessitating specialized hardware.

Innovation Solution

A method and apparatus for generating executable code for a target platform in a neural network by receiving a spiking neural network description and platform-specific instructions, allowing for compilation and simulation across multiple platforms without modifying the network description, utilizing a processor and memory to generate executable code based on these inputs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If the network size increases, then the computational power and simulation capability improve, but the simulation time increases and real-time performance deteriorates

Engineering Contradiction:
Improvecomputational powerVSAvoidsimulation time
Core Design Contradiction:
PowerVSLoss of time

Solution Approach 1:

The patent segments the neural network simulation across multiple platforms (CPU, GPU, FPGA, ASIC) with different computational characteristics. Large networks are divided into portions that can be simulated in parallel on specialized hardware, reducing overall simulation time while maintaining real-time performance for critical portions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects and switches between different simulation platforms based on network size, complexity, and real-time requirements. The compilation system generates platform-specific code that adapts to varying computational demands, allowing the simulation to maintain optimal performance across different operating conditions.

Inventive Principle:
Principle #15Dynamics

2Productivity

If specialized hardware is used, then the simulation speed and efficiency improve, but the device complexity and hardware requirements increase

Engineering Contradiction:
Improvesimulation speedVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal compilation system that generates executable code for multiple target platforms (CPU, GPU, FPGA, ASIC) from a single neural network description. This multi-functional approach allows the same network model to be deployed on different hardware configurations without requiring separate development efforts for each platform.

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

Solution Approach 2:

The compilation system changes parameters such as parallelization degree, memory allocation, and computational kernel optimization based on the target platform's characteristics. By adjusting these parameters during code generation, the system optimizes simulation speed for each specific hardware configuration without increasing overall device complexity.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If the network complexity increases, then the computational accuracy and model fidelity improve, but the adaptability to different platforms decreases

Engineering Contradiction:
Improvecomputational accuracyVSAvoidplatform adaptability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediate representation layer between the neural network description and platform-specific implementation. This intermediary compilation system translates the abstract network model into optimized code for different platforms while preserving computational accuracy. The intermediate representation maintains the semantic meaning of complex operations regardless of the target platform.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Use of energy by moving object

If platform-specific optimizations are applied, then the computational efficiency on each platform improves, but the code complexity and development time increase

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidcode complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent applies platform-specific optimizations during the code generation phase rather than requiring manual optimization for each platform. The compilation system performs preliminary actions by automatically analyzing the target platform's characteristics and generating optimized code accordingly, eliminating the need for developers to write separate optimized code for each platform.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9886663B2Compiling network descriptions to multiple platforms
Publication Date: 2018.02.06 QUALCOMM INC
  • US9886663B2 patent drawing
  • US9886663B2 patent drawing
  • US9886663B2 patent drawing

AI summary

A method of generating executable code for a target platform in a neural network includes receiving a spiking neural network description. The method also includes receiving platform-specific instructions for one or more target platforms. Further, the method includes, generating executable code for the target platform(s) based on the platform-specific instructions and the network description.