-
Natural sciences
- Machine learning and decision making
-
Engineering and technology
- Pattern recognition and neural networks
Om aan de eisen van hoge verwerkingssnelheid en laag stroomverbruik aan de rand te voldoen, zijn er recentelijk verschillende neurale netwerkversnellers ontwikkeld. Een technologie genaamd Compute-In-Memory (CIM), die is gebaseerd op resistive computing, is momenteel een zeer veelbelovende kandidaat vergeleken met traditionele op CMOS-gebaseerde geheugen. CIM-architecturen genieten veel flexibiliteit in de programmering (bijvoorbeeld op het gebied van adresberekening); echter, in de praktijk vereisen deze versnellers dat bestaande algoritmen worden aangepast en in sommige gevallen zelfs gedeeltelijk opnieuw ontworpen.
Onlangs is er binnen imec enige vooruitgang geboekt met softwaretools voor automatische toewijzing van bestaande algoritmen aan versnellerarchitecturen, gebaseerd op een relatief nieuw programmeerparadigma genaamd Differentiable Programming. Voor CIM heeft deze benadering het voordeel dat het toepassingsgebied kan worden uitgebreid van convolutionele/dichte neurale netwerklagen naar real-time beeldverwerking en computer vision-algoritmen met gebruik van dichte berekeningen. Dit is zeer nuttig voor robotische toepassingen, bewaking en autonome rijsystemen.
Het doel is om nieuwe softwaretoewijzingstechnieken te ontwikkelen voor opkomende rekenarchitecturen zoals CIM. Voor het toewijzingsproces zullen belangrijke aspecten zoals afwegingen tussen geheugen/verwerkingdoorvoer, stroomverbruik en numerieke precisie in overweging worden genomen. Prestatievoorspellingsmodellen zullen worden geïntegreerd in de toewijzingstools om te helpen bij het verkrijgen van een geschikte CIM-implementatie