ExaMPI – Keynote: Streaming Messages – A Distributed Memory Programming Model for Reconfigurable Hardware
TimeFriday, 13 November 20202:30pm - 3:30pm EST
DescriptionReconfigurable architectures, such as Field-Programmable Gate Arrays (FPGAs), are stepping-in modern data centers and HPC clusters to address the nearing end of technology scaling. Modern HPC FPGAs are usually shipped with network connections to facilitate their large scale adoption in cloud services and supercomputers. When FPGAs are deployed in distributed settings, however, communication is typically handled either by going through the host machine, sacrificing performance, or by streaming across fixed device-to-device connections, sacrificing flexibility. In this talk, we present Streaming Messages, a communication model for distributed memory programming in multi-FPGA systems that unifies explicit message passing with a hardware-oriented programming model. We introduce the Streaming Message Interface (SMI), a communication interface specification for high-level synthesis programs specifically designed to capture and expose the semantics of Streaming Messages. Finally, we show the results of a reference implementation of SMI that integrates with OpenCL on Intel FPGAs, demonstrating that, using SMI, programmers can implement distributed and scalable HPC programs on reconfigurable hardware, without deviating from best practices for hardware design.