October 6, 2022
Journal Article

Bridging Python to Silicon: The SODA Toolchain


Systems performing scientific computing, data analysis, and machine learning tasks have a growing demand for application-specific accelerators that can provide high computational performance while meeting strict size and power requirements. However, the algorithms and applications that need to be accelerated are evolving at a rate that is incompatible with manual design processes based on hardware description languages. Agile hardware design tools based on compiler techniques, instead, can quickly produce an application specific integrated circuit (ASIC) accelerator starting from a high-level algorithmic description. We present the SODA Synthesizer, a modular and opensource hardware compiler that provides automated end-to-end synthesis from high-level software frameworks to ASIC implementation, relying on multi-level representations to progressively lower and optimize the input code. Our approach does not require the application developer to write any register-transfer level code, and it is able to reach up to 364 GFLOPS/W (32-bit precision) efficiency on typical convolutional neural network operators.

Published: October 6, 2022


Bohm Agostini N., S. Curzel, J. Zhang, A.M. Limaye, C. Tan, V.C. Amatya, and M. Minutoli, et al. 2022. Bridging Python to Silicon: The SODA Toolchain. IEEE Micro 42, no. 5:78 - 88. PNNL-SA-169276. doi:10.1109/MM.2022.3178580