WP6 Hardware-software integration for neuromorphic systems
By combining different More-Moore and Beyond-Moore functional blocks, an overall system demonstrator is developed in WP6. In order to adapt concepts from machine learning to the technologies developed in NEUROTEC so that they can be seamlessly transferred, a "neuromorphic tensor flow" is being developed in WP6 whose functionality encompasses all NEUROTEC applications. The applications investigated in WP6 include currently popular AI models, including attention mechanisms and spatiotemporal pattern learning. Attentional mechanisms will use CIM blocks for the required matrix operations, and TCAM blocks as memory modules. Spatio-temporal pattern learning will use the memristor-based SNN chip of WP 5.3. To predict the performance and energy efficiency of a highly scaled system, our models will be integrated into appropriately scaled simulations. Another application is in accelerating the solution of combinatorial optimization problems, which are challenging for today's digital hardware (CPUs and GPUs) due to unstructured memory accesses and computationally intensive operations. Memristor-based in-memory implementations have recently been shown to be potentially very competitive in terms of high speed and low power consumption [CAI2020]. WP6 will build on this work and use the stochastic building blocks of WP5 to solve real-world problems.
In total, WP6 comprises four sub-work packages:
In WP6.1, analog associative computing is explored using the CIM and CAM type beyond-moore blocks developed in WP5.1 and WP5.2.
WP6.2 aims to design robust adaptation mechanisms, especially for pulsatile neural networks, which will be developed in WP5.3.
In WP6.3, Tensorflow-like software tools for programming More-Moore and Beyond-Moore systems will be developed.
WP6.4 leverages the CIM and TRNG circuit blocks developed in WP5.1 and WP5.4 to explore efficient stochastic neuromorphic implementations (Hopfield networks and Boltzmann machines) for solving industrially relevant OPtimization problems