[en] The design of specialized architectures for accelerating the inference procedure of Deep Neural Networks (DNNs) is a booming area of research nowadays. While first-generation rigid accelerator proposals use simple fixed dataflows tailored for dense DNNs, more recent architectures have argued for flexibility to efficiently support a wide variety of layer types, dimensions, and sparsity. As the complexity of these accelerators grows, the analytical models currently being used for design-space exploration are unable to capture execution-time subtleties, leading to inexact results in many cases. This opens up a need for cycle-level simulation tools to allow for fast and accurate design-space exploration of DNN accelerators, and rapid quantification of the efficacy of architectural enhancements during the early stages of a design. To this end, the first contribution of this thesis is STONNE, a cycle-level microarchitectural simulation framework that, plugged into a high-level DNN framework, allows for full-model evaluation of state-of-the-art DNN accelerators. Once we have a validated simulator, the second contribution of this thesis focuses on flexible architectures for DNNs. DNN accelerators use three separate NoCs within the accelerator, namely distribution, multiplier and reduction networks (or DN, MN, and RN, respectively) between the global buffer(s) and compute units (multipliers/adders). These NoCs enable data delivery, and more importantly, on-chip reuse of operands and outputs to minimize the expensive off-chip memory accesses. Among them, the RN, used to generate and reduce the partial sums produced during DNN processing, is what implies the largest fraction of chip area and power dissipation, thus representing a first-order driver of the energy efficiency of the accelerator. RNs can be orchestrated to exploit a Temporal, Spatial or Spatio-Temporal reduction dataflow. Among these, the latter is the one that has shown superior performance. However, as we demonstrate, a state-of-the-art implementation of the Spatio-Temporal reduction dataflow, based on the addition of Accumulators (Ac) to the RN (i.e. RN+Ac strategy), can result in significant area and energy expenses. To cope with this important issue, we propose STIFT (that stands for Spatio-Temporal Integrated Folding Tree) that implements the Spatio-Temporal reduction dataflow entirely on the RN hardware substrate –i.e. without the need of the extra accumulators. STIFT results in significant area and power savings regarding the more complex RN+Ac strategy, at the same time performance is preserved. The third contribution of this thesis increases the flexibility of current sparse accelerators by adding support for several dataflows within the same hardware substrate. Existing Sparse-Sparse Matrix Multiplication (SpMSpM) accelerators are tailored to a particular SpMSpM dataflow, that determines their overall efficiency. We demonstrate that this static decision inherently results in a suboptimal dynamic solution. This is because different SpMSpM kernels show varying features (i.e., dimensions, sparsity pattern, sparsity degree), which makes each dataflow better suited to different data sets. Motivated by this observation, we propose Flexagon, the first reconfigurable SpMSpM accelerator that is capable of performing SpMSpM computation by using the particular dataflow that best matches each case. Flexagon accelerator is based on a novel Merger-Reduction Network (MRN) that unifies the concept of reducing and merging in the same substrate, increasing efficiency. Additionally, Flexagon also includes a 3-tier memory hierarchy, specifically tailored to the different access characteristics of the input and output compressed matrices. Using detailed cycle-level simulation of contemporary DNN models from a variety of application domains, we show that Flexagon achieves average performance benefits of 4.59x, 1.71x, and 1.35x with respect to the state-of-the-art SIGMA-like, SpArch-like and GAMMA-like accelerators (265% , 67% and 18%, respectively, in terms of average performance/area efficiency).

[es] El diseño de arquitecturas especializadas para acelerar el procedimiento de inferencia de las redes neuronales profundas (DNN por sus siglas en inglés) es un área de investigación en auge actualmente. Mientras que las propuestas de aceleradores rígidos de primera generación utilizaban simples flujos de datos fijos adaptados a DNNs densas, las arquitecturas más recientes han abogado por la flexibilidad para soportar eficientemente una amplia variedad de tipos de DNNs. A medida que aumenta la complejidad de estos aceleradores, los modelos analíticos empleados actualmente para la exploración del espacio de diseño son incapaces de captar las sutilezas de la arquitectura, lo que conduce a resultados inexactos en muchos casos. Esto crea la necesidad de disponer de herramientas de simulación a nivel de ciclo que permitan una exploración rápida y precisa del espacio de diseño de los aceleradores DNN. Con este fin, la primera contribución de esta tesis es STONNE, una herramienta de simulación de microarquitecturas a nivel de ciclo que permite realizar evaluaciones detalladas con modelos de DNN reales. A partir de un simulador validado para realizar nuestras evaluaciones, la segunda contribución de esta tesis se centra en las arquitecturas flexibles para DNNs. Este tipo de aceleradores de DNN utilizan tres redes de interconexión separadas dentro del acelerador. Estas redes son conocidas como red de distribución, de multiplicación y de reducción (o DN, MN y RN, respectivamente) y se encargan de conectar la memoria y las unidades de cálculo (multiplicadores/sumadores). Estas redes permiten el envío de datos y la reutilización en el chip de los operandos y resultados parciales. Entre ellas, la RN, utilizada para generar y reducir las sumas parciales producidas durante el procesamiento de la DNN, es la que implica la mayor fracción de área del chip y de disipación de energía, representando así un elemento de máxima importancia en la eficiencia energética del acelerador. Las RNs se pueden orquestar para explotar un flujo de datos de reducción temporal, espacial o espacio-temporal. Entre ellos, este último es el que ha mostrado un rendimiento superior. Sin embargo, como demostramos en esta tesis, una implementación espacio-temporal, basada en la adición de acumuladores (Ac) a la RN (estrategia RN+Ac) puede dar lugar a importantes sobrecargas de área y energía. Para hacer frente a este problema, proponemos STIFT, que implementa el flujo de datos de reducción espacio-temporal completamente en el sustrato de hardware de la RN sin la necesidad de utilizar acumuladores adicionales. STIFT supone un importante ahorro de área y energía respecto a la estrategia más compleja RN+Ac. La tercera contribución de esta tesis aumenta la flexibilidad de los aceleradores actuales con soporte para datos dispersos. Los aceleradores de multiplicación de matrices dispersas (SpMSpM) existentes se adaptan a un flujo de datos SpMSpM concreto que determina su eficiencia global. En esta tesis demostramos que esta decisión de diseño conlleva una solución en tiempo de ejecución subóptima. Esto se debe a que las diferentes SpMSpM que componen una misma DNN presentan características distintas, lo que hace que cada flujo de datos se adapte mejor a diferentes matrices. Motivados por esta observación, proponemos Flexagon, el primer acelerador reconfigurable que permite realizar operaciones SpMSpM utilizando el flujo de datos particular que mejor se adapte a cada caso. El acelerador Flexagon se basa en una novedosa red de reducción y ordenación, y una jerarquía de memoria de tres niveles, adaptada a los distintos flujos de datos. En esta tesis, demostramos que Flexagon logra beneficios de rendimiento promedio de 4,59x, 1,71x y 1,35x con respecto a los aceleradores de última generación del estado del arte tipo SIGMA, SpArch y GAMMA, respectivamente.