Efficient heterogeneous programming with FPGAs using the Controller model

被引:1
|
作者
Gabriel Rodriguez-Canal
Yuri Torres
Francisco J. Andújar
Arturo Gonzalez-Escribano
机构
[1] The University of Edinburgh,Bayes Centre
[2] Universidad de Valladolid,Departamento de Informática
[3] Escuela de Ingenieria Informatica,undefined
来源
关键词
Parallel programming; FPGA; OpenCL; Heterogeneous computing;
D O I
暂无
中图分类号
学科分类号
摘要
The Controller model is a heterogeneous parallel programming model implemented as a library. It transparently manages the coordination, communication and kernel launching details on different heterogeneous computing devices. It exploits native or vendor specific programming models and compilers, such as OpenMP, CUDA or OpenCL, thus enabling the potential performance obtained by using them. This work discusses the integration of FPGAs in the Controller model, using high-level synthesis tools and OpenCL. A new Controller backend for FPGAs is presented based on a previous OpenCL backend for GPUs. We discuss new configuration parameters for FPGA kernels and key ideas to adapt the original OpenCL backend while maintaining the portability of the original model. We present an experimental study to compare performance and development effort metrics obtained with the Controller model, Intel oneAPI and reference codes directly programmed with OpenCL. The results show that using the Controller library has advantages and drawbacks compared with Intel oneAPI, while compared with OpenCL it highly reduces the programming effort with negligible performance overhead.
引用
收藏
页码:13995 / 14010
页数:15
相关论文
共 50 条
  • [31] Integrating Digital Logic Design and Assembly Programming Using FPGAs in the Classroom
    Jones, William M.
    Larkins, D. Brian
    PROCEEDINGS OF THE 49TH ANNUAL ASSOCIATION FOR COMPUTING MACHINERY SOUTHEAST CONFERENCE (ACMSE '11), 2011, : 13 - 18
  • [32] Massively Parallel XML Twig Filtering Using Dynamic Programming on FPGAs
    Moussalli, Roger
    Salloum, Mariam
    Najjar, Walid
    Tsotras, Vassilis J.
    IEEE 27TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE 2011), 2011, : 948 - 959
  • [33] CONTROLLER DESIGN FOR MATRIX MULTIPLICATION ON FPGAS
    Khayyat, Ahmad
    Manjikian, Naraig
    2011 24TH CANADIAN CONFERENCE ON ELECTRICAL AND COMPUTER ENGINEERING (CCECE), 2011, : 1327 - 1332
  • [34] A toolchain for safety-critical embedded processor programming using FPGAs
    Kimmitt, Jonathan
    Greaves, David J.
    Cirstea, Marcian
    PROCEEDINGS 2015 IEEE INTERNATIONAL CONFERENCE ON INDUSTRIAL INFORMATICS (INDIN), 2015, : 848 - 855
  • [35] PID controller tuning using evolutionary programming
    Lieslehto, J
    PROCEEDINGS OF THE 2001 AMERICAN CONTROL CONFERENCE, VOLS 1-6, 2001, : 2828 - 2833
  • [36] PID controller tuning using mathematical programming
    Syrcos, G
    Kookos, IK
    CHEMICAL ENGINEERING AND PROCESSING-PROCESS INTENSIFICATION, 2005, 44 (01) : 41 - 49
  • [37] Designing a Unified Programming Model for Heterogeneous Machines
    Garland, Michael
    Kudlur, Manjunath
    Zheng, Yili
    2012 INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS (SC), 2012,
  • [38] A Framework for Iterative Stencil Algorithm Synthesis on FPGAs from OpenCL Programming Model
    Wang, Shuo
    Liang, Yun
    FPGA'17: PROCEEDINGS OF THE 2017 ACM/SIGDA INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE GATE ARRAYS, 2017, : 285 - 286
  • [39] A Model for Programming Data-Intensive Applications on FPGAs: A Genomics Case Study
    Brossard, Elliott
    Richmond, Dustin
    Green, Joshua
    Ebeling, Carl
    Ruzzo, Larry
    Olson, Corey
    Hauck, Scott
    2012 SYMPOSIUM ON APPLICATION ACCELERATORS IN HIGH PERFORMANCE COMPUTING (SAAHPC), 2012, : 84 - 93
  • [40] FPGAs, Programming Models, and Kit Cars
    Betz, Vaughn
    IEEE DESIGN & TEST OF COMPUTERS, 2011, 28 (04): : 112 - 112