PYNQ- Torch: A framework to develop PyTorch accelerators on the PYNQ platform
2019 IEEE. Artificial intelligence based on deep learning has gained popularity in a broad range of applications. Software libraries and frameworks for deep learning provide developers with tools for fast deployment, hiding the algorithmic complexity for training and inference of large neural networks. These frameworks allow mitigating the computational complexity of such algorithms by interfacing parallel computing libraries for specific graphic processing units, which are not available on all platforms, especially if embedded. The framework we propose in this paper enables fast prototyping of custom hardware accelerators for deep learning. In particular we describe how to design, evaluate and deploy accelerators for PyTorch applications written in Python and running on PYNQ compatible platforms, which are based on Xilinx Zynq Systems on Chips. This approach does not require traditional ASIC-style design tools, but rather it simplifies the interfacing between hardware and software components of the neural network, which includes support for deployment on embedded platforms. As an example, we use the framework to design hardware accelerators for a computationally demanding sound synthesis algorithm based on a recurrent neural network.