OpenACC to FPGA: A Directive-Based High-Level Programming Framework for High-Performance Reconfigurable Computing
TimeThursday, November 15th8:30am - 5pm
DescriptionAccelerator-based heterogeneous computing has become popular solutions for power-efficient high performance computing (HPC). Along these lines, Field Programmable Gate Arrays (FPGAs) have offered more advantages in terms of performance and energy efficiency for specific workloads than other accelerators. Nevertheless, FPGAs have traditionally suffered several disadvantages limiting their deployment in HPC systems, mostly due to the challenges of programmability and portability. We present a directive-based, high-level programming framework for high-performance reconfigurable computing. It takes a standard, portable OpenACC C program as input and generates a hardware configuration file for execution on FPGAs. We implemented this prototype system in our open-source OpenARC compiler, which uses the Altera OpenCL compiler as its backend. Preliminary evaluation of the proposed framework on an Intel Stratix~V with five OpenACC benchmarks demonstrates that our proposed FPGA-specific compiler optimizations and novel OpenACC pragma extensions assist the compiler in generating more efficient FPGA programs.