Преобразование последовательной программы в параллельно-конвейерную форму для многокристальных реконфигурируемых вычислительных систем
DOI:
https://doi.org/10.14529/cmse260305Ключевые слова:
высокоуровневый синтез, HLS, трансляция программ, язык C, реконфигурируемая вычислительная система, программирование многопроцессорных вычислительных систем, последовательные программы, параллельно-конвейерные вычисленияАннотация
Для многокристальных реконфигурируемых вычислительных систем (РВС) на базе программируемых логических интегральных схем (ПЛИС) необходимы новые средства создания и масштабирования параллельно-конвейерных программ с автоматическим согласованием информационных потоков данных. Средства масштабирования должны автоматически, без использования специализированных директив трансляции, синтезировать эффективные для многокристальных РВС формы организации вычислений, такие как конвейер в конвейере и макроконвейер, которые ранее могли быть реализованы только инженером-схемотехником. В статье описываются разработанные методы преобразования последовательной программы в параллельно-конвейерную форму, которая позволяет реализовать эффективные формы организации вычислений и может быть адаптирована к различным архитектурам и конфигурациям РВС без корректировки исходного текста программы. Ресурсонезависимая параллельно-конвейерная форма программы обеспечивает гибкое и согласованное масштабирование вычислительной структуры и информационных потоков данных в зависимости от доступного вычислительного ресурса РВС на множестве ПЛИС. Представлено сравнение эффективности созданных параллельно-конвейерных программ комплексом "Тесей" с наиболее популярным средством высокоуровневого синтеза Xilinx Vivado HLS на примере решения задач линейной алгебры.
Библиографические ссылки
Andreev S.S., Dbar S.A., Latsis A.O., Plotkina E.A. How and Why FPGA-Based Supercomputers Can Be Used in Practice. Moscow. RAS. 2017. ISBN 978-5-906906-61-8.
Nane R., et al. A Survey and Evaluation of FPGA High-Level Synthesis Tools. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. Oct. 2016. Vol. 35, no. 10. P. 1591–1604. DOI: 10.1109/TCAD.2015.2513673.
Numan M.W., Phillips B.J., Puddy G.S., Falkner K. Towards Automatic High-Level Code Deployment on Reconfigurable Platforms: A Survey of High-Level Synthesis Tools and Toolchains. IEEE Access. 2020. Vol. 8. P. 174692–174722. DOI: 10.1109/ACCESS.2020.3024098.
Gottschaldt P., Podlubne A., G¨ohringer D. A Taxonomy of the High-Level Synthesis Ecosystem for Heterogeneous FPGA Systems. ACM Transactions on Reconfigurable Technology and Systems. 2025. Vol. 18, no. 4. Article 44. P. 1–33. DOI: 10.1109/3764664.
Kamkin A.S., Chupilko M.M., Lebedev M.S., et al. Comparison of High-Level Synthesis and Digital Hardware Design Tools. Proceedings of the Institute for System Programming of the Russian Academy of Sciences. ISP RAS. 2022. Vol. 34, no. 5. P. 7–22.
Lahti S., H¨am¨al¨ainen T. High-Level Synthesis for FPGAs – A Hardware Engineer’s Perspective. IEEE Access. 2025. Vol. 13. P. 28574–28593. DOI: 10.1109/ACCESS.2025.3540320.
Levin I.I., Dordopulo A.I. Reconfigurable Computing Systems. Resource-Independent Programming. Rostov-on-Don: Publishing House of the Southern Federal University. 2025. 380 p.
Kalyaev I.A., Levin I.I. Reconfigurable Computing Systems Based on FPGAs. Rostov-on-Don: Publishing House of the Southern Scientific Center of the Russian Academy of Sciences. 2022. 506 p. ISBN 978-5-4358-0232-0. URL: https://elibrary.ru/item.asp?id=49962846 (accessed: 30.09.2026).
Levin I.I., Dordopulo A.I., Gudkov V.A., Gulenok A.A. High-Level Synthesis Tools for Multi-Chip Reconfigurable Computing Systems. Bulletin of the South Ural State University, Series: Computational Mathematics and Software Engineering. 2022. Vol. 11, no. 3. P. 5–21. DOI: 10.14529/cmse220301.
Dordopulo A.I., Levin I.I., Gudkov V.A., Gulenok A.A. High-Level Synthesis Toolchain "Theseus" for Multichip Reconfigurable Computer Systems. Supercomputing Frontiers and Innovations. 2023. Vol. 10, no. 2. P. 18–31. DOI: 10.14529/jsfi230202.
Farooq U., Mehrez H. Pre-Silicon Verification Using Multi-FPGA Platforms: A Review. Journal of Electronic Testing. 2021. Vol. 37, no. 1. P. 7–24. DOI: 10.1007/s10836-021-05929-1.
Vipin K., Fahmy S.A. FPGA Dynamic and Partial Reconfiguration: A Survey of Architectures, Methods, and Applications. ACM Computing Surveys. 2018. Vol. 51, no. 4. Article 72. DOI: 10.1145/3193827.
Levin I.I., Dordopulo A.I., Gudkov V.A., et al. A Suite of Programming Tools for FPGA-Based Reconfigurable Computing Systems. Parallel Computing Technologies (PaVT’2020). Short Papers and Poster Descriptions. 2020. P. 163–173.
Lee J., Hur C.-K., Jung R., et al. Reconciling High-Level Optimizations and Low-Level Code in LLVM. Proceedings of the ACM on Programming Languages 2, OOPSLA. October 2018. Article 125. P. 1–28. DOI: 10.1145/3276495.
Leopoldseder D., Schatz R., Stadler L., et al. Fast-Path Loop Unrolling of Non-Counted Loops to Enable Subsequent Compiler Optimizations. Proceedings of the 15th International Conference on Managed Languages & Runtimes (ManLang’18). 2018. Article 2. DOI: 10.1145/3237009.3237013.
Palkowski M., Bielecki W. TRACO Parallelizing Compiler. Soft Computing in Computer and Information Science. Vol. 342 / ed. by A. Wiliski, I. Fray, J. Peja. Cham: Springer, 2015. P. 409–421. Advances in Intelligent Systems and Computing. DOI: 10.1007/978-3-319-15147-2_34.
Jensen N., Karlsson S. Improving Loop Dependence Analysis. ACM Transactions on Architecture and Code Optimization. 2017. Vol. 14, no. 3. P. 1–24. DOI: 10.1145/3095754.
Devan P.S., Kamat R.K. A Review – LOOP Dependence Analysis for Parallelizing Compiler. International Journal of Computer Science and Information Technologies. 2014. Vol. 5, no. 3. URL: https://www.ijcsit.com/docs/Volume%205/vol5issue03/ijcsit20140503305.pdf (accessed: 30.09.2026).
Bielecki W., Palkowski M. Perfectly Nested Loop Tiling Transformations Based on the Transitive Closure of the Program Dependence Graph. Soft Computing in Computer and Information Science. Vol. 342 / ed. by A. Wiliski, I. Fra, J. Peja. Cham: Springer, 2015. P. 309–320. Advances in Intelligent Systems and Computing. DOI: 10.1007/978-3-319-15147-2_26.
Levin I.I., Gudkov V.A., Evstafiev G.A., et al. A Methodology for Translating C Programs for FPGA-Based Reconfigurable and Hybrid Computing Systems. Bulletin of Computer and Information Technologies. 2019. No. 12 (186). P. 54–60. DOI: 10.14489/VKIT.2019.12.PP.054-060.
Dordopulo A.I., Levin I.I. Performance Reduction for Automatic Development of Parallel Applications for Reconfigurable Computer Systems. Supercomputing Frontiers and Innovations. 2020. Vol. 7, no. 2. P. 4–23. DOI: 10.14529/jsfi200201.
Levin I.I., Doronchenko Y.I., Fedorov A.M., Raskladkin M.K. A Promising High-Performance Reconfigurable Computing Unit "Arcturus" based on Xilinx UltraScale+ FPGAs. Parallel Computing Technologies (PaVT’2023). P. 162–172. URL: https://omega.sp.susu.ru/pavt2023/short/006.pdf (accessed: 30.09.2026).




