Table of Contents
Fetching ...

Neuromorphic Programming: Emerging Directions for Brain-Inspired Hardware

Steven Abreu, Jens E. Pedersen

TL;DR

A conceptual analysis of programming within the context of neuromorphic computing is presented, challenging conventional paradigms and proposing a framework that aligns more closely with the physical intricacies of these systems.

Abstract

The value of brain-inspired neuromorphic computers critically depends on our ability to program them for relevant tasks. Currently, neuromorphic hardware often relies on machine learning methods adapted from deep learning. However, neuromorphic computers have potential far beyond deep learning if we can only harness their energy efficiency and full computational power. Neuromorphic programming will necessarily be different from conventional programming, requiring a paradigm shift in how we think about programming. This paper presents a conceptual analysis of programming within the context of neuromorphic computing, challenging conventional paradigms and proposing a framework that aligns more closely with the physical intricacies of these systems. Our analysis revolves around five characteristics that are fundamental to neuromorphic programming and provides a basis for comparison to contemporary programming methods and languages. By studying past approaches, we contribute a framework that advocates for underutilized techniques and calls for richer abstractions to effectively instrument the new hardware class.

Neuromorphic Programming: Emerging Directions for Brain-Inspired Hardware

TL;DR

A conceptual analysis of programming within the context of neuromorphic computing is presented, challenging conventional paradigms and proposing a framework that aligns more closely with the physical intricacies of these systems.

Abstract

The value of brain-inspired neuromorphic computers critically depends on our ability to program them for relevant tasks. Currently, neuromorphic hardware often relies on machine learning methods adapted from deep learning. However, neuromorphic computers have potential far beyond deep learning if we can only harness their energy efficiency and full computational power. Neuromorphic programming will necessarily be different from conventional programming, requiring a paradigm shift in how we think about programming. This paper presents a conceptual analysis of programming within the context of neuromorphic computing, challenging conventional paradigms and proposing a framework that aligns more closely with the physical intricacies of these systems. Our analysis revolves around five characteristics that are fundamental to neuromorphic programming and provides a basis for comparison to contemporary programming methods and languages. By studying past approaches, we contribute a framework that advocates for underutilized techniques and calls for richer abstractions to effectively instrument the new hardware class.

Paper Structure

This paper contains 27 sections, 3 figures.

Figures (3)

  • Figure 1: Programming and computational models plotted against their operational domain (continuous vs. analog) and the malleability of the computation during execution (immutable vs. plastic). The class of neuromorphic systems is shown as a green ellipse, spanning both the continuous and discrete domains. There is a lack of models for continuous and plastic systems.
  • Figure 2: The relationship between an abstract computation $\lambda: u^\lambda \mapsto y^\lambda$ (middle), the same computation expressed in a different computational model $\lambda^*$ such as a higher-level programming language (top), and the physical computer $\Psi$ that realizes this computation (bottom), from HorsmanEtAl2014.
  • Figure 3: The process of computer programming, inspired by Gruenert2017. The abstract intention lives in the informal space $\Omega$ of all possible computational tasks. This intention is formalized into a program $p \in \lambda$ that is expressed in some formal language, which is then implemented through some physical system $s \in \Psi$.