Novel Arithmetics to Accelerate Machine Learning Classifiers in Autonomous Driving Applications Autonomous driving techniques frequently need the clustering and the classification of data coming from several input sensors, like cameras, radar and lidars. These subtasks need to be implemented in realtime in embedded onboard computing units. The trend for data classification and clustering in the signal processing community is moving towards machine learning (ML) algorithms. One of them, which plays a central role, is the  k nearest neighbors ( k NN) algorithm. To meet stringent requirements in terms of realtime computing capability and circuitmemory complexity, ML accelerators are needed. Innovation is required in terms of computing arithmetic since classic integer numbers lead to low classification accuracy with respect to the needs of safety critical applications like autonomous driving. Instead, floating numbers require too much circuit and memory. To overcome these issues the paper shows that the use of a new format, called Posit, implemented in a new cppPosit software library, can lead to a  k NN implementation having the same accuracy of floats, but with halved bitsize. This means that a Posit Processing Unit (PPU) reduces by a factor higher than 2 the data transfer and storage complexity of ML accelerators. We also prove that a LUTbased complete tabulated implementation of a PPU for a 8bit requires just 64 kB storage size, compliant with memoryconstrained devices.

EmbML Tool: Supporting the use of Supervised Learning Algorithms in LowCost Embedded Systems Machine Learning (ML) is becoming a ubiquitous technology employed in many realworld applications. In some applications, sensors measure the environment while ML algorithms are responsible for interpreting the data. These systems often face three main restrictions: power consumption, cost, and lack of infrastructure. Therefore, we need highlyefficient classifiers suitable to execute in unresourceful hardware. However, this scenario conflicts to the stateofpractice of ML, in which classifiers are frequently implemented in highlevel interpreted languages, make unrestricted use of floatingpoint operations and assume plenty of resources. In this paper, we present a software tool named EmbML that implements a pipeline to develop classifiers for lowpowered embedded systems. It starts with learning a classifier using popular software packages or libraries. Then, EmbML converts the classifier into a carefully crafted C code with support for embedded hardware. Our experimental evaluation shows that EmbML classifiers present competitive results in terms of accuracy, time and memory cost.