System-level FPGA device driver with high-level synthesis support

We can exploit the standardization of communication abstractions provided by modern high-level synthesis tools like Vivado HLS, Bluespec and SCORE to provide stable system interfaces between the host and PCIe-based FPGA accelerator platforms. At a high level, our FPGA driver attempts to provide CUDA...

Full description

Saved in:
Bibliographic Details
Main Authors: Vipin, Kizheppatt, Shreejith, Shanker, Gunasekera, Dulitha, Fahmy, Suhaib A., Kapre, Nachiket
Other Authors: School of Computer Engineering
Format: Conference or Workshop Item
Language:English
Published: 2015
Subjects:
Online Access:https://hdl.handle.net/10356/81247
http://hdl.handle.net/10220/39202
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-81247
record_format dspace
spelling sg-ntu-dr.10356-812472020-05-28T07:19:22Z System-level FPGA device driver with high-level synthesis support Vipin, Kizheppatt Shreejith, Shanker Gunasekera, Dulitha Fahmy, Suhaib A. Kapre, Nachiket School of Computer Engineering 2013 International Conference on Field-Programmable Technology (FPT) Computer Science and Engineering We can exploit the standardization of communication abstractions provided by modern high-level synthesis tools like Vivado HLS, Bluespec and SCORE to provide stable system interfaces between the host and PCIe-based FPGA accelerator platforms. At a high level, our FPGA driver attempts to provide CUDA-like driver behavior, and more, to FPGA programmers. On the FPGA fabric, we develop an AXI-compliant, lightweight interface switch coupled to multiple physical interfaces (PCIe, Ethernet, DRAM) to provide programmable, portable routing capability between the host and user logic on the FPGA. On the host, we adapt the RIFFA 1.0 driver to provide enhanced communication APIs along with bitstream configuration capability allowing low-latency, high-throughput communication and safe, reliable programming of user logic on the FPGA. Our driver only consumes 21% BRAMs and 14% logic overhead on a Xilinx ML605 platform or 9% BRAMs and 8% logic overhead on a Xilinx V707 board. We are able to sustain DMA transfer throughput (to DRAM) of 1.47GB/s (74% peak) of the PCIe (x4 Gen2) bandwidth, 120.2MB/s (96%) of the Ethernet (1G) bandwidth and 5.93GB/s (92.5%) of DRAM bandwidth. Accepted version 2015-12-22T09:03:43Z 2019-12-06T14:26:28Z 2015-12-22T09:03:43Z 2019-12-06T14:26:28Z 2013 Conference Paper Vipin, K., Shreejith, S., Gunasekera, D., Fahmy, S. A., & Kapre, N. (2013). System-level FPGA device driver with high-level synthesis support. 2013 International Conference on Field-Programmable Technology (FPT), 128-135. https://hdl.handle.net/10356/81247 http://hdl.handle.net/10220/39202 10.1109/FPT.2013.6718342 en © 2013 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. The published version is available at: [http://dx.doi.org/10.1109/FPT.2013.6718342]. 8 p. application/pdf
institution Nanyang Technological University
building NTU Library
country Singapore
collection DR-NTU
language English
topic Computer Science and Engineering
spellingShingle Computer Science and Engineering
Vipin, Kizheppatt
Shreejith, Shanker
Gunasekera, Dulitha
Fahmy, Suhaib A.
Kapre, Nachiket
System-level FPGA device driver with high-level synthesis support
description We can exploit the standardization of communication abstractions provided by modern high-level synthesis tools like Vivado HLS, Bluespec and SCORE to provide stable system interfaces between the host and PCIe-based FPGA accelerator platforms. At a high level, our FPGA driver attempts to provide CUDA-like driver behavior, and more, to FPGA programmers. On the FPGA fabric, we develop an AXI-compliant, lightweight interface switch coupled to multiple physical interfaces (PCIe, Ethernet, DRAM) to provide programmable, portable routing capability between the host and user logic on the FPGA. On the host, we adapt the RIFFA 1.0 driver to provide enhanced communication APIs along with bitstream configuration capability allowing low-latency, high-throughput communication and safe, reliable programming of user logic on the FPGA. Our driver only consumes 21% BRAMs and 14% logic overhead on a Xilinx ML605 platform or 9% BRAMs and 8% logic overhead on a Xilinx V707 board. We are able to sustain DMA transfer throughput (to DRAM) of 1.47GB/s (74% peak) of the PCIe (x4 Gen2) bandwidth, 120.2MB/s (96%) of the Ethernet (1G) bandwidth and 5.93GB/s (92.5%) of DRAM bandwidth.
author2 School of Computer Engineering
author_facet School of Computer Engineering
Vipin, Kizheppatt
Shreejith, Shanker
Gunasekera, Dulitha
Fahmy, Suhaib A.
Kapre, Nachiket
format Conference or Workshop Item
author Vipin, Kizheppatt
Shreejith, Shanker
Gunasekera, Dulitha
Fahmy, Suhaib A.
Kapre, Nachiket
author_sort Vipin, Kizheppatt
title System-level FPGA device driver with high-level synthesis support
title_short System-level FPGA device driver with high-level synthesis support
title_full System-level FPGA device driver with high-level synthesis support
title_fullStr System-level FPGA device driver with high-level synthesis support
title_full_unstemmed System-level FPGA device driver with high-level synthesis support
title_sort system-level fpga device driver with high-level synthesis support
publishDate 2015
url https://hdl.handle.net/10356/81247
http://hdl.handle.net/10220/39202
_version_ 1681059256784125952