Efficient Local memory support for approximate computing - Brandalero, Marcelo; Malfatti, Guilherme Meneguzzi; Oliveira, Geraldo Francisco; da Silveira, Leonardo Almeida; Gonçalves, Larissa Rozales; da Silva, Bruno Castro; Carro, Luigi; Beck, Antônio Carlos Schneider (Anais do Simpósio Brasileiro de Engenharia de Sistemas Computacionais (SBESC); 2018: Anais do VIII Simpósio Brasileiro de Engenharia de Sistemas Computacionais, 2018)
Given the saturation of single-threaded performance improvements in General-Purpose Processors (GPPs), novel architectural techniques are required to meet emerging demands. In this paper, we propose a generic acceleration framework for approximate algorithms that replaces computation with table look-up accesses in dedicated memories. At compile time, annotated application kernels are automatically profiled using sample inputs, and the most representative input-output mappings of each kernel are selected by using K-Means Clustering and saved in the program binary. At runtime, these mappings are loaded into dedicated look-up tables, and kernel execution is replaced by hardware execution of the Nearest-Centroid Classifier, which selects from memory the best matching output to the region. We show a comparison with a similar framework based on neural acceleration and that, under similar levels of quality, the proposed approach achieves on average three times better performance and energy with significant area savings, thus opening new opportunities for performance harvesting in approximate accelerators.