Открытое промежуточное представление специализированных потоковых вычислителей, основанное на MLIR
https://doi.org/10.15514/ISPRAS-2024-36(5)-3
Аннотация
В последнее время для решения вычислительных задач с жесткими ограничениями на производительность (пропускную способность) и энергопотребление (потребляемую мощность) широко используются гетерогенные компьютерные системы. Как правило, такие системы состоят из микропроцессоров общего назначения и аппаратных ускорителей на базе ПЛИС, реализующих наиболее затратные операции (обычно отражающих специфику предметной области). Данная статья посвящена автоматизации проектирования аппаратных ускорителей, ориентированных на задачи потоковой обработки данных (streaming data computing). Особенностями ускорителей этого типа (и решаемых ими задач) являются: (1) непрерывные (на каждом такте работы) прием и выдача данных; (2) ограниченная (по времени и памяти) зависимость выходных данных от входных. Потоковая обработка охватывает широкий класс приложений, включая цифровую обработку сигналов, шифрование трафика, численное моделирование, биоинформатику и другие. В работе предлагается концепция языка DFCIR (DataFlow Computer Intermediate Representation), предназначенного для промежуточного представления моделей потоковых вычислителей. Язык DFCIR основан на открытой компиляторной инфраструктуре MLIR (Multi-Level Intermediate Representation). Для построения RTL-моделей ускорителей по DFCIR-описаниям используются средства CIRCT (Circuit IR Compilers and Tools) – подпроекта MLIR, объединяющего инструменты для работы с моделями аппаратуры.
Ключевые слова
Об авторах
Александр Сергеевич КАМКИНРоссия
Кандидат физико-математических наук, ведущий научный сотрудник ИСП РАН и РЭУ им. Г.В. Плеханова; преподает в МГУ, МФТИ, НИУ ВШЭ и РЭУ. Научные интересы: формальные методы, синтез и верификация цифровой аппаратуры, гетерогенные компьютерные системы.
Михаил Юрьевич ЛИТВИНОВ
Россия
Лаборант Отдела технологий программирования ИСП РАН. Научные интересы: автоматизация проектирования гетерогенных компьютерных систем.
Иван Александрович ГРИГОРОВ
Россия
инженер Отдела технологий программирования ИСП РАН. Научные интересы: высокоуровневый синтез, модели потоков данных.
Список литературы
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).
Рецензия
Для цитирования:
КАМКИН А.С., ЛИТВИНОВ М.Ю., ГРИГОРОВ И.А. Открытое промежуточное представление специализированных потоковых вычислителей, основанное на MLIR. Труды Института системного программирования РАН. 2024;36(5):31-46. https://doi.org/10.15514/ISPRAS-2024-36(5)-3
For citation:
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