Transforming a Sequential Program into a Parallel Pipeline Form for Multi-Chip Reconfigurable Computing Systems

Authors

  • Ilya I. Levin LLC "Research Center for Supercomputers and Neurocompute", Taganrog
  • Alexey I. Dordopulo Research Institute of Multiprocessor Computer Systems, Southern Federal University, Taganrog
  • Vyacheslav A. Gudkov LLC "Research Center for Supercomputers and Neurocomputers", Taganrog
  • Andrey A. Gulenok LLC "Research Center for Supercomputers and Neurocompute", Taganrog

DOI:

https://doi.org/10.14529/cmse260305

Keywords:

High-Level Synthesis (HLS), program translation, C language, reconfigurable computing systems, programming of multiprocessor computing systems, sequential programs, parallel pipeline computing

Abstract

Multi-chip reconfigurable computing systems (RCS) based on field-programmable gate arrays (FPGAs) require novel design tools capable of creating and scaling parallel pipelined programs with automatic dataflow synchronization. Such scaling tools should automatically synthesize efficient computational organizations—such as pipeline-within-pipeline and macropipeline architectures-without relying on specialized compiler directives. Previously, these forms could only be implemented manually by hardware engineers. This paper presents developed transformation techniques that convert sequential programs into a parallel pipelined form. This representation supports efficient computational structures and can be adapted to various RCS architectures and configurations without any changes to the source code. The resource-independent parallel pipelined program representation ensures flexible and coordinated scaling of both the computational fabric and the data streams, depending on the available computational resources across a multi-FPGA system. The performance of parallel pipelined programs generated by the Teseus framework is compared against the widely used Xilinx Vivado HLS high-level synthesis tool on a set of linear algebra benchmarks.

References

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).

Published

2026-11-02

Issue

Section

Full Papers