Open-Source MLIR-Based Intermediate Representation for Applica-tion-Specific Streaming Computers
https://doi.org/10.15514/ISPRAS-2024-36(5)-3
Abstract
Recently, heterogeneous computer systems have been widely used to solve computational tasks with strict constraints on performance (throughput) and power consumption. Typically, such systems consist of general-purpose microprocessors and FPGA-based hardware accelerators implementing the most expensive operations (which are usually application-specific ones). This article is devoted to the design automation of hardware accelerators for streaming data computing. The features of this type of accelerators (and the problems they solve) are as follows: (1) continuous (cycle-by-cycle) reception and production of data; (2) bounded (in time and memory) output-input dependence. Streaming data computing covers a wide range of applications, including digital signal processing, traffic encryption, numerical modeling, bioinformatics, etc. The paper introduces the concept of DFCIR (DataFlow Computer Intermediate Representation), а language for an intermediate representation of streaming data computing designs. The DFCIR language is based on the open compiler infrastructure MLIR (Multi-Level Intermediate Representation). RTL models of accelerators are built from DFCIR descriptions with the use of CIRCT (Circuit IR Compilers and Tools), a subproject of MLIR that combines tools for working with hardware designs.
Keywords
About the Authors
Alexander Sergeevich KAMKINRussian Federation
Cand. Sci. (Phys.-Math.), leading researcher at ISP RAS and Plekhanov Russian University of Economics; teaches at MSU, MIPT, HSE, and PRUE. Research interests: formal methods, synthesis and verification of digital hardware, and heterogeneous computer systems.
Mikhail Yurievich LITVINOV
Russian Federation
Laboratory assistant at Software Engineering Department of ISP RAS. Research interests: automated design of heterogeneous computer systems.
Ivan Aleksandrovich GRIGOROV
Russian Federation
Engineer assistant at Software Engineering Department of ISP RAS. Research interests: high-level synthesis and dataflow models.
References
1. I. Ekmecic, I. Tartalja, V. Milutinovic. EM/sup 3/: a taxonomy of heterogeneous computing systems. Computer, vol. 28, no. 12, 1995. pp. 68-70. DOI: 10.1109/2.476202.
2. I. Ekmecic, I. Tartalja, V. Milutinovic. A survey of heterogeneous computing: concepts and systems. Proceedings of the IEEE, vol. 84, no. 8, 1996. pp. 1127-1144. DOI: 10.1109/5.533958.
3. IEEE Standard for Verilog Hardware Description Language. IEEE Std 1364-2005, 2006. DOI: 10.1109/IEEESTD.2006.99495.
4. IEEE Standard for SystemVerilog: Unified Hardware Design, Specification and Verification Language. IEEE Std 1800-2005, 2005. DOI: 10.1109/IEEESTD.2005.97972.
5. IEEE Standard VHDL Language Reference Manual. IEEE Std 1076-2019, 2019. DOI: 10.1109/IEEESTD.2019.8938196.
6. С.Ю. Кун. Матричные процессоры на СБИС. Мир, 1991. 672 с.
7. E. Lee, D. Messerschmitt. Static scheduling of synchronous data flow programs for digital signal processing. IEEE Transactions on Computers, C-36(1), 1987. pp. 24-35. DOI: 10.1109/TC.1987.5009446.
8. C. Leiserson, J. Saxe. Retiming synchronous circuitry. Algorithmica, vol. 6, 1991. pp. 5-35.
9. DOI: 10.1007/BF01759032.
10. MLIR: Multi-level Intermediate Representation. URL: https://mlir.llvm.org/
11. (дата обращения: 15.08.2024).
12. The LLVM Compiler Infrastructure Project. URL: https://llvm.org/ (дата обращения: 15.08.2024).
13. CIRCT: Circuit IR Compilers and Tools. URL: https://circt.llvm.org/ (дата обращения: 15.08.2024).
14. A. Kamkin, M. Chupilko, M. Lebedev, S. Smolov, G. Gaydadjiev. High-level synthesis versus hardware construction. Design, Automation & Test in Europe Conference & Exhibition (DATE), 2023.
15. DOI: 10.23919/DATE56975.2023.10136904.
16. Chisel/FIRRTL Hardware Compiler Framework. URL: https://www.chisel-lang.org/
17. (дата обращения: 15.08.2024).
18. MyHDL. URL: https://www.myhdl.org/ (дата обращения: 15.08.2024).
19. Bluespec SystemVerilog Documentation. URL: https://web.ece.ucsb.edu/its/bluespec/
20. (дата обращения: 15.08.2024).
21. P. Coussy, M. Meredith, D. Gajski, A. Takach. An Introduction to High-level Synthesis.
22. IEEE Design and Test of Computers, 2009. pp. 8-17. DOI: 10.1109/MDT.2009.69.
23. Vitis HLS. URL: https://www.xilinx.com/support/documentation-navigation/design-hubs/dh0090-vitis-hls-hub.html/ (дата обращения: 15.08.2024).
24. Bambu: A Free Framework for the High-Level Synthesis of Complex Applications.
25. URL: https://panda.deib.polimi.it/?page_id=31/ (дата обращения: 15.08.2024).
26. LegUp: Software IDE for Programming Microchip FPGAs. URL: http://lightsail.legupcomputing.com/
27. (дата обращения: 15.08.2024).
28. MaxCompiler. URL: https://www.maxeler.com/products/software/maxcompiler/
29. (дата обращения: 15.08.2024).
30. XLS: Accelerated HW Synthesis. URL: https://google.github.io/xls/ (дата обращения: 15.08.2024).
31. О.В. Непомнящий, А.И. Легалов, И.Н. Рыженко. Метод архитектурно-независимого высокоуровневого синтеза СБИС. Известия ЮФУ. Технические науки, №8 (202), 2018. c. 38-47. DOI: 10.23683/2311-3103-2018-8-38-47.
32. M. Kingshuk, B. Uday. HIR: An MLIR-based Intermediate Representation for Hardware Accelerator Description. ACM International Conference on Architectural Support for Programming Languages and Operating Systems (APLOS), vol. 4, 2023. pp. 189-201. DOI: 10.1145/3623278.3624767.
33. FIRRTL dialect. URL: https://circt.llvm.org/docs/Dialects/FIRRTL/(дата обращения: 15.08.2024).
34. HW dialect. URL: https://circt.llvm.org/docs/Dialects/HW/ (дата обращения: 15.08.2024).
35. Comb dialect. URL: https://circt.llvm.org/docs/Dialects/Comb/ (дата обращения: 15.08.2024).
36. Seq dialect. URL: https://circt.llvm.org/docs/Dialects/Seq/, (дата обращения: 15.08.2024).
37. LLHD dialect. URL: https://circt.llvm.org/docs/Dialects/LLHD/ (дата обращения: 15.08.2024).
38. IEEE Standard Multivalue Logic System for VHDL Model Interoperability. IEEE Std 1164-1993, 1993. DOI: 10.1109/IEEESTD.1993.115571.
39. Utopia: A High-Level Synthesis Framework. URL: https://github.com/ispras/utopia-hls/
40. (дата обращения: 15.08.2024).
Review
For citations:
KAMKIN A.S., LITVINOV M.Yu., GRIGOROV I.A. Open-Source MLIR-Based Intermediate Representation for Applica-tion-Specific Streaming Computers. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2024;36(5):31-46. (In Russ.) https://doi.org/10.15514/ISPRAS-2024-36(5)-3