Boyi: A systematic framework for automatically deciding the right execution model of OpenCL applications on FPGAs

Jiantong Jiang, Zeke Wang, Xue Liu, Juan Gómez-Luna, Nan Guan, Qingxu Deng, Wei Zhang, Onur Mutlu

Research output: Chapter in book / Conference proceedingConference article published in proceeding or bookAcademic researchpeer-review

7 Citations (Scopus)

Abstract

FPGA vendors provide OpenCL software development kits for easier programmability, with the goal of replacing the time-consuming and error-prone register-transfer level (RTL) programming. Many studies explore optimization methods (e.g., loop unrolling, local memory) to accelerate OpenCL programs running on FPGAs. These programs typically follow the default OpenCL execution model, where a kernel deploys multiple work-items arranged into workgroups. However, the default execution model is not always a good fit for an application mapped to the FPGA architecture, which is very different from the multithreaded architecture of GPUs, for which OpenCL was originally designed. In this work, we identify three other execution models that can better utilize the FPGA resources for the OpenCL applications that do not fit well into the default execution model. These three execution models are based on two OpenCL features devised for FPGA programming (namely, single work-item kernel and OpenCL channel).We observe that the selection of the right execution model determines the performance upper bound of a particular application, which can vary by two orders magnitude between the most suitable execution model and the most unsuitable one. However, there is no way to select the most suitable execution model other than empirically exploring the optimization space for the four of them, which can be prohibitive. To help FPGA programmers identify the right execution model, we propose Boyi, a systematic framework that makes automatic decisions by analyzing OpenCL programming patterns in an application. After finding the right execution model with the help of Boyi, programmers can apply other conventional optimizations to reach the performance upper bound. Our experimental evaluation shows that Boyi can 1) accurately determine the right execution model, and 2) greatly reduce the exploration space of conventional optimization methods.

Original languageEnglish
Title of host publicationFPGA 2020 - 2020 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays
PublisherAssociation for Computing Machinery, Inc
Pages299-309
Number of pages11
ISBN (Electronic)9781450370998
DOIs
Publication statusPublished - 23 Feb 2020
Event2020 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, FPGA 2020 - Seaside, United States
Duration: 23 Feb 202025 Feb 2020

Publication series

NameFPGA 2020 - 2020 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays

Conference

Conference2020 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, FPGA 2020
Country/TerritoryUnited States
CitySeaside
Period23/02/2025/02/20

Keywords

  • Execution Model
  • FPGA
  • OpenCL
  • Programmability

ASJC Scopus subject areas

  • Hardware and Architecture
  • Electrical and Electronic Engineering

Cite this