SynADT: dynamic data structures in high level synthesis
SynADT: dynamic data structures in high level synthesis
Data Types (ADTs) such as dictionaries and lists are essential for many embedded computing applications such as network stacks. However, in heterogeneous systems, code using ADTs can usually only run in CPUs, because components written in HLS do not support dynamic data structures. HLS tools cannot be used to synthesise dynamic data structures directly because the use of pointers is very restricted, such as not supporting pointers to pointers or pointer casting. Consequently, it is unclear what the API should look like and how to express dynamic data structures in HLS so that the tools can compile them. We propose SynADT, which consists of a methodology and a benchmark. The methodology provides classic data structures (linked lists, binary trees, hash tables and vectors) using relativeaddresses instead of pointers in Vivado HLS. The benchmark can be used to evaluate the performance of data structures in HLS, ARM processors and soft processors such as MicroBlaze, CPUs can utilise either the default C memory allocator or a hardware memory allocator. We evaluate the data structures in a Zynq FPGA demonstrating scaling to approximately 10MB memory usage and 1M data items. With a workload that utilises 10MB memory, the HLS data structures operating at 150MHz are on average 1.35× faster than MicroBlaze data structures operating at 150MHz with the default C allocator and 7.97× slower than ARM processor data structures operating at 667MHz with the default C allocator.
Data structures, Dynamic memory, High Level Synthesis
64-71
Xue, Zeping
5dff2a90-fd64-41cb-ad31-6600e05a33a7
Thomas, David B.
5701997d-7de3-4e57-a802-ea2bd3e6ab6c
16 August 2016
Xue, Zeping
5dff2a90-fd64-41cb-ad31-6600e05a33a7
Thomas, David B.
5701997d-7de3-4e57-a802-ea2bd3e6ab6c
Xue, Zeping and Thomas, David B.
(2016)
SynADT: dynamic data structures in high level synthesis.
In Proceedings - 24th IEEE International Symposium on Field-Programmable Custom Computing Machines, FCCM 2016.
IEEE.
.
(doi:10.1109/FCCM.2016.26).
Record type:
Conference or Workshop Item
(Paper)
Abstract
Data Types (ADTs) such as dictionaries and lists are essential for many embedded computing applications such as network stacks. However, in heterogeneous systems, code using ADTs can usually only run in CPUs, because components written in HLS do not support dynamic data structures. HLS tools cannot be used to synthesise dynamic data structures directly because the use of pointers is very restricted, such as not supporting pointers to pointers or pointer casting. Consequently, it is unclear what the API should look like and how to express dynamic data structures in HLS so that the tools can compile them. We propose SynADT, which consists of a methodology and a benchmark. The methodology provides classic data structures (linked lists, binary trees, hash tables and vectors) using relativeaddresses instead of pointers in Vivado HLS. The benchmark can be used to evaluate the performance of data structures in HLS, ARM processors and soft processors such as MicroBlaze, CPUs can utilise either the default C memory allocator or a hardware memory allocator. We evaluate the data structures in a Zynq FPGA demonstrating scaling to approximately 10MB memory usage and 1M data items. With a workload that utilises 10MB memory, the HLS data structures operating at 150MHz are on average 1.35× faster than MicroBlaze data structures operating at 150MHz with the default C allocator and 7.97× slower than ARM processor data structures operating at 667MHz with the default C allocator.
This record has no associated files available for download.
More information
Published date: 16 August 2016
Additional Information:
Publisher Copyright:
© 2016 IEEE.
Copyright:
Copyright 2017 Elsevier B.V., All rights reserved.
Venue - Dates:
24th IEEE International Symposium on Field-Programmable Custom Computing Machines, FCCM 2016, , Washington, United States, 2016-05-01 - 2016-05-03
Keywords:
Data structures, Dynamic memory, High Level Synthesis
Identifiers
Local EPrints ID: 453659
URI: http://eprints.soton.ac.uk/id/eprint/453659
PURE UUID: a4ad8bed-c6b0-4679-8be1-056660b37dc2
Catalogue record
Date deposited: 20 Jan 2022 17:45
Last modified: 17 Mar 2024 04:10
Export record
Altmetrics
Contributors
Author:
Zeping Xue
Author:
David B. Thomas
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics