Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3624062.3624539acmotherconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedingsconference-collections
research-article
Open access

Tydi-lang: A Language for Typed Streaming Hardware

Published: 12 November 2023 Publication History

Abstract

Transferring composite data structures with variable-length fields often requires designing unique protocols, causing incompatibility issues and decreased collaboration among hardware developers, especially in the open-source community. Because the high-level meaning of a protocol is often lost in translation to low-level languages when a custom protocol needs to be designed, extra documentation is required, the interpretation of which introduces new opportunities for errors.
The Tydi specification (Tydi-spec) was proposed to address the issues by codifying the complex structures in a type and providing a standard protocol to transfer typed data among components. This paper presents Tydi-lang, a language that incorporates Tydi-spec for describing typed streams and offers templates for reusable components. An open-source compiler from Tydi-lang to Tydi intermediate representation (Tydi-IR) is implemented, and a Tydi-IR to VHDL compiler is utilized. Through Tydi-lang examples translating high-level SQL to VHDL, we demonstrate its efficiency in raising abstraction levels and reducing design effort.

Supplemental Material

MP4 File
Recording of "Tydi-lang: A Language for Typed Streaming Hardware" presentation at H2RC 2023.

References

[1]
Apache. 2022. Apache Arrow. Retrieved 20 July 2022 from https://arrow.apache.org/
[2]
Jonathan Bachrach, Huy Vo, Brian Richards, Yunsup Lee, Andrew Waterman, Rimas Avižienis, John Wawrzynek, and Krste Asanović. 2012. Chisel: Constructing hardware in a Scala embedded language. In DAC Design Automation Conference 2012. 1212–1221. https://doi.org/10.1145/2228360.2228584
[3]
Clash. 2022. Clash: Home. Retrieved 21 July 2022 from https://clash-lang.org/
[4]
Github. 2022. Tydi-lang. Retrieved 19 Sep 2023 from https://github.com/twoentartian/tydi-lang/blob/main/CookBook/14_tpch_sql19/19.sql
[5]
Github. 2032. Tydi-lang. Retrieved 19 Sep 2023 from https://github.com/twoentartian/tydi-lang/blob/main/tydi_lang_front_end/tydi_source/tydi_ir2.td
[6]
Joost Hoozemans, Johan Peltenburg, Fabian Nonnemacher, Akos Hadnagy, Zaid Al-Ars, and H. Peter Hofstee. 2021. FPGA Acceleration for Big Data Analytics: Challenges and Opportunities. IEEE Circuits and Systems Magazine 21, 2 (2021), 30–47. https://doi.org/10.1109/MCAS.2021.3071608
[7]
Matti Käyrä and Timo D. Hämäläinen. 2021. A Survey on System-on-a-Chip Design Using Chisel HW Construction Language. In IECON 2021 – 47th Annual Conference of the IEEE Industrial Electronics Society. 1–6. https://doi.org/10.1109/IECON48115.2021.9589614
[8]
Sakari Lahti, Panu Sjövall, Jarno Vanne, and Timo D. Hämäläinen. 2019. Are We There Yet? A Study on the State of High-Level Synthesis. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 38, 5 (2019), 898–911. https://doi.org/10.1109/TCAD.2018.2834439
[9]
Zongze Li and Song Fu. 2019. Accelerating RNN on FPGA with Efficient Conversion of High-Level Designs to RTL. In 2019 IEEE International Conference on Big Data (Big Data). 3355–3364. https://doi.org/10.1109/BigData47090.2019.9006540
[10]
Yanqiang Liu, Yao Li, Zhengwei Qi, and Haibing Guan. 2019. A scala based framework for developing acceleration systems with FPGAs. Journal of Systems Architecture 98 (2019), 231–242. https://doi.org/10.1016/j.sysarc.2019.08.001
[11]
Evangelos Mageiropoulos, Nikolaos Chrysos, Nikolaos Dimou, and Manolis Katevenis. 2021. Using hls4ml to Map Convolutional Neural Networks on Interconnected FPGA Devices. In 2021 IEEE 29th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). 277–277. https://doi.org/10.1109/FCCM51124.2021.00062
[12]
Johan Peltenburg, Lars T.J. van Leeuwen, Joost Hoozemans, Jian Fang, Zaid Al-Ars, and H. Peter Hofstee. 2020. Battling the CPU Bottleneck in Apache Parquet to Arrow Conversion Using FPGA. In 2020 International Conference on Field-Programmable Technology (ICFPT). 281–286. https://doi.org/10.1109/ICFPT51103.2020.00048
[13]
Johan Peltenburg, Jeroen Van Straten, Matthijs Brobbel, Zaid Al-Ars, and H. Peter Hofstee. 2020. Tydi: An Open Specification for Complex Data Structures Over Hardware Streams. IEEE Micro 40, 4 (2020), 120–130. https://doi.org/10.1109/MM.2020.2996373
[14]
J. Peltenburg, J. van Straten, M. Brobbel, H.P. Hofstee, and Z. Al-Ars. 2019. Supporting Columnar In-memory Formats on FPGA: The Hardware Design of Fletcher for Apache Arrow. In Applied Reconfigurable Computing. 32–47.
[15]
Johan Peltenburg, Jeroen van Straten, Lars Wijtemans, Lars van Leeuwen, Zaid Al-Ars, and Peter Hofstee. 2019. Fletcher: A Framework to Efficiently Integrate FPGA Accelerators with Apache Arrow. In 2019 29th International Conference on Field Programmable Logic and Applications (FPL). 270–277. https://doi.org/10.1109/FPL.2019.00051
[16]
Pest. 2023. pest. The Elegant Parser. Retrieved 19 Sep 2023 from https://pest.rs/
[17]
Antti Rautakoura, Matti Käyrä, Timo D. Hämäläinen, Wolfgang Ecker, Esko Pekkarinen, and Mikko Teuho. 2020. Kamel: IP-XACT compatible intermediate meta-model for IP generation. In 2020 23rd Euromicro Conference on Digital System Design (DSD). 325–331. https://doi.org/10.1109/DSD51259.2020.00060
[18]
Matthijs Reukers, Yongding Tian, Zaid Al-Ars, Peter Hofstee, Matthijs Brobbel, Johan Peltenburg, and Jeroen an Straten. 2023. A Toolchain for Streaming Dataflow Accelerator Designs for Big Data Analytics: Defining an IR for Composable Typed Streaming Dataflow Designs. Fourteenth International Workshop on Accelerating Analytics and Data Management Systems Using Modern Processor and Storage Architectures (2023).
[19]
Sebastiaan Alvarez Rodriguez, Jayjeet Chackrabroty, Aaron Chu, Ivo Jimenez, Jeff LeFevre, Carlos Maltzahn, and Alexandru Uta. 2021. Zero-Cost, Arrow-Enabled Data Interface for Apache Spark. In 2021 IEEE International Conference on Big Data (Big Data). 2400–2405. https://doi.org/10.1109/BigData52589.2021.9671595
[20]
Ofer Shacham, Sameh Galal, Sabarish Sankaranarayanan, Megan Wachs, John Brunhaver, Artem Vassiliev, Mark Horowitz, Andrew Danowitz, Wajahat Qadeer, and Stephen Richardson. 2012. Avoiding game over: Bringing design to the next level. In DAC Design Automation Conference 2012. 623–629. https://doi.org/10.1145/2228360.2228472
[21]
Yongding Tian, Zaid Al-Ars, and Peter Hofstee. 2022. Tydi-lang: a language for typed streaming hardware – A manual for future Tydi-lang compiler developers. arxiv:2212.11154 [cs.PL] https://arxiv.org/abs/2212.11154

Cited By

View all
  • (2023)Tydi-Chisel: Collaborative and Interface-Driven Data-Streaming Accelerators2023 IEEE Nordic Circuits and Systems Conference (NorCAS)10.1109/NorCAS58970.2023.10305451(1-7)Online publication date: 31-Oct-2023

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SC-W '23: Proceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis
November 2023
2180 pages
ISBN:9798400707858
DOI:10.1145/3624062
This work is licensed under a Creative Commons Attribution International 4.0 License.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 November 2023

Check for updates

Author Tags

  1. CAD
  2. HDL
  3. streaming data flow

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • Eureka Xecs project TASTI

Conference

SC-W 2023

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)196
  • Downloads (Last 6 weeks)33
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Tydi-Chisel: Collaborative and Interface-Driven Data-Streaming Accelerators2023 IEEE Nordic Circuits and Systems Conference (NorCAS)10.1109/NorCAS58970.2023.10305451(1-7)Online publication date: 31-Oct-2023

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media