Mixed-Precision Memcomputing System for Computational Precision
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memcomputing techniques face challenges in achieving sufficient computational precision due to device variability and stochasticity, which limits their effectiveness for many computational tasks.
Innovation Solution
A mixed-precision memcomputing system is implemented, combining low-precision memcomputing hardware with highly precise digital combinational circuitry to iteratively increase computational precision, using resistive memory elements and digital circuitry for analog computations, allowing for improved precision in calculations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If conventional memcomputing techniques are used, then energy efficiency and speed are improved, but computational precision deteriorates due to device variability and stochasticity
Solution Approach 1:
The computational system is segmented into two distinct components: a low-precision memcomputing unit for energy-efficient parallel computations and a high-precision digital processing unit for accuracy-critical operations. This segmentation allows each component to operate in its optimal precision range, resolving the contradiction between energy efficiency and computational precision.
Solution Approach 2:
Different precision levels are applied locally to different parts of the computational system. The memcomputing unit operates at low precision where energy efficiency is paramount, while the digital processing unit operates at high precision where accuracy is required. This local quality differentiation allows the system to achieve both energy efficiency and computational precision in appropriate contexts.
2Productivity
If conventional memcomputing techniques are used, then computation speed is improved, but computational precision deteriorates due to device variability
Solution Approach 1:
The computational system is segmented into two distinct components: a low-precision memcomputing unit for energy-efficient parallel computations and a high-precision digital processing unit for accuracy-critical operations. This segmentation allows each component to operate in its optimal precision range, resolving the contradiction between energy efficiency and computational precision.
Solution Approach 2:
The system dynamically switches between low-precision memcomputing and high-precision digital processing based on the computational requirements of different tasks. This dynamic adaptation allows the system to optimize for speed when using memcomputing and for precision when using digital processing, resolving the contradiction between computation speed and computational precision.
3Measurement precision
If high precision digital computing is used, then computational precision is improved, but energy consumption increases
Solution Approach 1:
Different precision levels are applied locally to different parts of the computational system. The memcomputing unit operates at low precision where energy efficiency is paramount, while the digital processing unit operates at high precision where accuracy is required. This local quality differentiation allows the system to achieve both energy efficiency and computational precision in appropriate contexts.
Solution Approach 2:
The system changes the precision parameter dynamically based on computational requirements. For energy-intensive tasks, the system switches to low-precision memcomputing mode. For accuracy-critical tasks, it switches to high-precision digital processing mode. This parameter change resolves the contradiction between computational precision and energy consumption.
4Measurement precision
If high precision digital computing is used, then computational precision is improved, but computation speed deteriorates
Solution Approach 1:
The computational system is segmented into two distinct components: a low-precision memcomputing unit for energy-efficient parallel computations and a high-precision digital processing unit for accuracy-critical operations. This segmentation allows each component to operate in its optimal precision range, resolving the contradiction between energy efficiency and computational precision.
Solution Approach 2:
The system dynamically switches between low-precision memcomputing and high-precision digital processing based on the computational requirements of different tasks. This dynamic adaptation allows the system to optimize for speed when using memcomputing and for precision when using digital processing, resolving the contradiction between computation speed and computational precision.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
This approach enhances the energy efficiency and speed of computations by leveraging different precision levels for floating-point arithmetic, effectively addressing the limitations of conventional memcomputing systems.
Implementation Method 1
The computational memory may comprise an array of resistive memory elements having resistance or conductance values stored therein, the respective resistance or conductance values being programmable
Implementation Method 2
Each of at least a subset of the resistive memory elements may be selected from the group consisting of phase change memory, metal oxide resistive random-access memory, conductive bridge RAM, and magnetic RAM
Data Source
AI summary
A computing system includes computational memory and digital combinational circuitry operatively coupled with the computational memory. The computational memory is configured to perform computations at a prescribed precision. The digital combinational circuitry is configured to increase the precision of the computations performed by the computational memory. The computational memory and the digital combinational circuitry may be configured to iteratively perform a computation to a predefined precision. The computational memory may include circuitry configured to perform analog computation using values stored in the computational memory, and the digital combinational circuitry may include a central processing unit, a graphics processing unit and/or application specific circuitry. The computational memory may include an array of resistive memory elements having resistance or conductance values stored therein, the respective resistance or conductance values being programmable.


