Architecture neuromorphique et environnement logiciel pour machine de calcul versatile – ARCH2NEU
On assiste depuis quelques années à un changement fondamental dans le domaine des architectures de calcul. La fréquence d’horloge des microprocesseurs à tendance à se stabiliser, et les augmentations de performances passent par une augmentation de la surface des circuits, notamment grâce aux architectures multi-cœurs. Ceci pose des questions peu évidentes de passage à l’échelle, et incite à s’éloigner des architectures classiques de type Von Neuman vers des architectures massivement parallèles et décentralisées. Parallèlement à ceci, on a pu voir apparaitre ces dernières décennies des architectures à hautes performances s’inspirant du fonctionnement du système nerveux (et donc appelées architectures « neuromorphiques »). Ces architectures émulent sur silicium le fonctionnement d’un neurone biologique, et l’arrangement de la connectivité des différents neurones entre eux détermine le comportement du réseau de neurones. Ces architectures sont soit utilisées pour étudier le fonctionnement du cerveau, soit dédiées au traitement du signal, auquel cas un circuit spécifique est développé pour réaliser une fonction donnée (traitement d’image, de son,…). Le but de ce projet est de concevoir une machine de calcul neuromorphique versatile. Il s’agit pour cela de concevoir une architecture de calcul neuromorphique programmable ainsi que le circuit électronique associé, de construire une bibliothèque de fonctions réalisables par cette architecture, et de développer une chaine de compilation permettant de programmer très simplement le système. Du point de vue de l’utilisateur, cette machine devrait être aussi simple à programmer qu’un microprocesseur classique. L’intérêt réside dans le fait que cette machine serait très bien adaptée à certaines classes de fonctions, notamment de traitement du signal. On cherche donc à répondre la question suivante : quel couple matériel et logiciel peut utiliser à plein la puissance des architectures neuromorphiques tout en fournissant à l’utilisateur une machine d’une simplicité et d’une souplesse d’utilisation maximales ? La nouveauté de ce projet consiste donc à fournir à un utilisateur non-expert des systèmes neuromorphiques la possibilité de programmer simplement de tels circuits afin d’implémenter un algorithme donné. Ceci est rendu possible par l’introduction d’une bibliothèque de fonctions et d’une chaine de compilation associés au circuit neuromorphique programmable. On cherche à se situer quelque part à mi-chemin entre les architectures d’usage général, tel un microprocesseur, et les architectures spécialisées dédiées au calcul haute performance.
Coordination du projet
L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.
Partenariat
Aide de l'ANR 0 euros
Début et durée du projet scientifique :
- 0 Mois