-
Natural sciences
- Machine learning and decision making
-
Engineering and technology
- Pattern recognition and neural networks
To meet high speed processing and low power requirements at the edge, several neural network accelerators have recently been developed. A technology named Compute-In-Memory (CIM) which is based on resistive computing, is currently a very promising candidate compared to traditional CMOS-based memory. CIM architectures enjoy a lot of flexibility in the programming (e.g., in terms of address calculation); however, in practice, these accelerators require existing algorithms to be adapted and in some cases even partially redesigned.
Recently, within imec, some progress was made on software tools for automatic mapping of existing algorithms onto accelerator architectures, based on a relatively new programming paradigm called Differentiable Programming. For CIM, this approach has the advantage that the application area can be expanded from convolutional/dense neural network layers to real-time image processing and computer vision algorithms using dense computations. This is very useful for robotic applications, surveillance and autonomous driving systems.
The goal is to develop novel software mapping techniques onto emerging compute architectures such as CIM. For the mapping process, important aspects such as trade-offs between memory/compute throughput, power consumption and numerical precision will be considered. Performance prediction models will be integrated in the mapping tools in order to assist with obtaining a suitable CIM implementation.