We propose a productive and efficient programming model to overcome the challenges posed by the end of Moore’s law. Our model bases on a fundamentally new spatial viewpoint that considers the computational structure of application...
We propose a productive and efficient programming model to overcome the challenges posed by the end of Moore’s law. Our model bases on a fundamentally new spatial viewpoint that considers the computational structure of applications. The growth of the computing industry as well as the development of society at large has relied for 50 years on an exponential scaling law that is now coming to an end. The combination of multiple specialized components into a fundamentally heterogeneous system is one of the most promising approaches that drives the IT industry. Latest advances in computer architecture and silicon design enable cost-effective specialized accelerators. Those range from single-purpose designs, such as deep neural network chips, to general purpose graphics processing units and are combined into complex systems. However, programming these heterogeneous spatial systems that range from single systems on chip to million-core supercomputers is a fundamental challenge of our time. Prevalent parallel programming abstractions largely ignore the structure of the computation and guide programmers to design threads of execution that are scheduled to the machine. We depart from this temporal model to a spatial formulation where we express programs as parametric graphs that are mapped as first-class objects by a human-guided compilation system. We ensure productivity by designing a Python-based frontend and integrate the system with modern web technology. Our programming, compilation, and tuning system will substantially advance the state of the art in computing by supporting the graphical mapping of program graphs to spatial accelerators. We will demonstrate our methods on three challenging real-world applications in important domains. We strongly believe that, without holistic spatial programming, the growing complexity and inefficiency of heterogeneous programming will create a scaling wall that will severely limit our future computational capabilities.ver más
Seleccionando "Aceptar todas las cookies" acepta el uso de cookies para ayudarnos a brindarle una mejor experiencia de usuario y para analizar el uso del sitio web. Al hacer clic en "Ajustar tus preferencias" puede elegir qué cookies permitir. Solo las cookies esenciales son necesarias para el correcto funcionamiento de nuestro sitio web y no se pueden rechazar.
Cookie settings
Nuestro sitio web almacena cuatro tipos de cookies. En cualquier momento puede elegir qué cookies acepta y cuáles rechaza. Puede obtener más información sobre qué son las cookies y qué tipos de cookies almacenamos en nuestra Política de cookies.
Son necesarias por razones técnicas. Sin ellas, este sitio web podría no funcionar correctamente.
Son necesarias para una funcionalidad específica en el sitio web. Sin ellos, algunas características pueden estar deshabilitadas.
Nos permite analizar el uso del sitio web y mejorar la experiencia del visitante.
Nos permite personalizar su experiencia y enviarle contenido y ofertas relevantes, en este sitio web y en otros sitios web.