Pass a pointer: exploring shared virtual memory abstractions in OpenCL Tools for FPGAs
File(s)FelixFPT17.pdf (422.35 KB)
Accepted version
Author(s)
Winterstein, F
Constantinides, GA
Type
Conference Paper
Abstract
Heterogeneous CPU-FPGA systems are gaining momentum in the embedded systems sector and in the data center market. While the programming abstractions for implementing the data transfer between CPU and FPGA (and vice versa) that are available in today's commercial programming tools are well-suited for certain types of applications, the CPU-FPGA communication for applications that share complex pointer-based data structures between the CPU and FPGA remains difficult to implement. This paper focuses on programming environments providing a virtual memory space that is shared between the host CPU and one (or potentially several) FPGA devices. One example of shared virtual memory (SVM) is defined by the recent OpenCL 2.0 standard. SVM allows the software and hardware portion of a hybrid application to share complex data structures seamlessly (and concurrently) by simply passing a pointer, which greatly eases programming heterogeneous systems. We present a framework that automatically adds the physical infrastructure for SVM into a commercial OpenCL tool for FPGAs. This paper explores the design space for these building blocks and studies the performance impact. We show that, due to the ability of SVM-enabled implementations to avoid artificially sizing dynamic data structures and fetching data on-the-fly, up to 2x speed-up over an OpenCL design without SVM support can be achieved. Our framework is open-source and publicly available.
Date Issued
2018-02-05
Date Acceptance
2017-09-15
Citation
2017 International Conference on Field Programmable Technology (ICFPT), 2018
Publisher
IEEE
Journal / Book Title
2017 International Conference on Field Programmable Technology (ICFPT)
Copyright Statement
© 2017 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
Sponsor
Engineering & Physical Science Research Council (E
Royal Academy Of Engineering
Imagination Technologies Ltd
Grant Number
11908 (EP/K034448/1)
Prof Constantinides Chair
Prof Constantinides Chair
Source
2017 International Conference on Field-Programmable Technology
Subjects
Science & Technology
Technology
Computer Science, Information Systems
Engineering, Electrical & Electronic
Computer Science
Engineering
SYSTEM
Publication Status
Published
Start Date
2017-12-11
Finish Date
2017-12-13
Coverage Spatial
Melbourne, Australia