Оптимізація програмного коду для високорівневого синтезу при апаратній реалізації обчислювально-навантажених алгоритмів
DOI:
https://doi.org/10.30837/2522-9818.2025.3.189Ключові слова:
вбудовані системи; високорівневий синтез; оптимізація коду С; система на кристалі.Анотація
Предметом дослідження є вплив методів оптимізації коду високонавантажених алгоритмів, що застосовуються у цифровій обробці сигналів, на апаратні витрати та швидкодію при реалізації на різних платформах. Мета. Порівняльний аналіз впливу трьох підходів до оптимізації C-коду, а саме розгортання циклів, перехід до арифметики з фіксованою комою та їх комбінації, на ефективність реалізації алгоритмів множення матриць, швидкого перетворення Фур’є та вейвлет-перетворення за допомогою засобів високорівневого синтезу (HLS) на платформі SoC, персональних комп’ютерах (ПК) та одноплатних комп’ютерів. У статті вирішуються такі завдання: реалізація високонавантажених алгоритмів на базі обраних апаратних платформ та з використанням HLS; порівняння часу виконання алгоритмів із застосуваннями трьох підходів до оптимізації та без; порівняння апаратних витрат для реалізацій алгоритмів з різними варіантами оптимізації коду та без; сформулювати висновки про вплив різних способів оптимізації С-коду на швидкодію та апаратні витрати на різних цільових платформах. Використовуються такі методи: методи оптимізації С/С++ коду, діагностичний експеримент за допомогою інструментарію високорівневого синтезу для реалізації алгоритмів цифрової обробки сигналів на обраній апаратній платформі та збору статистичних даних з використанням Python. Результати. Для алгоритмів на основі арифметичних операцій оптимізація коду забезпечила до 30% зменшення часу виконання на ARM-платформах. Для алгоритмів на основі перетворення Фур’є комплексна оптимізація дозволила скоротити час виконання до 90% на процесорних пристроях. Для програмованої логіки (FPGA) жоден з методів оптимізації не забезпечив значного прискорення виконання, однак перехід до фіксованої арифметики зумовив зменшення апаратних витрат на 40–80% незалежно від типу алгоритму. Висновки. Вибір стратегії оптимізації C-коду має суттєвий вплив на ефективність реалізації алгоритмів на процесорних архітектурах, тоді як для FPGA ключову роль відіграє оптимізація використаних типів даних. Отримані результати можуть слугувати практичними рекомендаціями для проєктування вбудованих систем із застосуванням HLS з метою прискорення алгоритмів.
Посилання
References
Tratt, L. (2025), "Four kinds of optimisation", available at: https://tratt.net/laurie/blog/2023/ four_kinds_of_optimisation.html (last accessed: 10.02.2025).
Xu, K., Zhang, G. L., Yin, X., Zhuo, C., Schlichtmann U., Li B. (2024), "Automated C/C++ program repair for high-level synthesis via large language models", ACM/IEEE international symposium on machine learning for CAD (MLCAD '24), 09-11 September 2024, Salt Lake City, USA, P. 1–9. DOI: https://doi.org/10.1109/mlcad62225.2024.10740262
Licht, J. de Fine, Besta, M., Meierhans, S., Hoefler, T. (2021), “Transformations of high-level synthesis codes for high-performance computing”, IEEE Transactions on Parallel and Distributed Systems, 2021,Vol. 32 (No. 5), P. 1014‒1029. DOI: https://doi.org/10.1109/tpds.2020.3039409
Ahmad A., Du L., Zhang W. (2024), “Fast and practical Strassen’s matrix multiplication using FPGAs”, 34th International Conference on Field-Programmable Logic and Applications (FPL’24), 2-6 September 2024, Torino, Italy, P. 311–317. DOI: https://doi.org/10.1109/fpl64840.2024.00050
Khan G. N., Iniewski K. (2017), Embedded systems code optimization and power consumption: chapter in Embedded and Networking System, 2017, P. 97–116. DOI: https://doi.org/10.1201/b15497-8
Almorin, H., Gal, B. L., Crenne, J., Jego, C., Kissel, V. (2022), “High-throughput FFT architectures using HLS tools”, 29th IEEE International Conference on Electronics, Circuits and Systems (ICECS), 24–26 October 2022, Glasgow, United Kingdom, P. 1‒4. DOI: https://doi.org/10.1109/ icecs202256217.2022.9970886
Gayathri, S. (2022), “Improved FIR filter using Schonhage-Strassen algorithm based multipliers”, International Journal of Science and Research (IJSR), 2022, Vol. 11 (No. 11), P. 1103–1106. DOI: https://doi.org/10.21275/sr221120132156
Juang, W.-H., Wu, M.-C., Sheu, Y.-H., Shieh, J.-Y., Hsieh, T.-H. (2023), “A cost-efficient hardware accelerator design for 2D sliding discrete fourier transform”, International Conference on Consumer Electronics - Taiwan (ICCE-Taiwan), 17-19 July 2023, PingTung, Taiwan, P. 595‒596. DOI: https://doi.org/10.1109/icce-taiwan58799.2023.10227037
Kumar, A. (2015), “New trends and challenges in source code optimization”, International Journal of Computer Applications, 2015, Vol. 131(No. 16), P. 27–32. DOI: https://doi.org/10.5120/ijca2015907609
Lee, Y., Youn, J., Nam, K., Oh, H., Paek, Y. (2023), “Optimizing hardware resource utilization for accelerating the NTRU-KEM algorithm”, Computers, 2023, Vol. 12 (No. 259), P. 1‒14. DOI: https://doi.org/10.3390/computers12120259
Zhao, R., Cheng, J., Luk, W., Constantinides, G. A. (2022), “POLSCA: polyhedral high-level synthesis with compiler transformations”, 32nd International Conference on Field-Programmable Logic and Applications (FPL), 29 August – 2 September 2022, Belfast, United Kingdom, P. 235‒242. DOI: https://doi.org/10.1109/fpl57034.2022.00044
Qian, X., Shi, J., Shi, L., Zhang, H., Bian, L., Qian, W. (2022), “Scheduling information-guided efficient high-level synthesis design space exploration”, IEEE 40th International Conference on Computer Design (ICCD), 23-26 October 2022, Olympic Valley, USA, P. 203‒206. DOI: https://doi.org/10.1109/iccd56317.2022.00038
Hong, H., Xiao, C., Wang, S. (2024), “Rethinking high-level synthesis design space exploration from a contrastive perspective”, 42nd International Conference on Computer Design (ICCD), 18-20 November 2024, Milan, Italy, P. 179–182. DOI: https://doi.org/10.1109/iccd63220.2024.00035
Ferikoglou, A., Kakolyris, A., Kypriotis, V., Masouros, D., Soudris, D., Xydis, S. (2023), “Data-driven HLS optimization for reconfigurable accelerators”, 61st ACM/IEEE Design Automation Conference, 23-27 June 2023, San Francisco, USA, P. 1–16. DOI: https://doi.org/10.1145/3649329.3658471
Basalama, S., Cong, J. (25), “Stream-HLS: towards automatic dataflow acceleration”, ACM/SIGDA International Symposium on Field Programmable Gate Arrays (FPGA '25), 27 February 2025 ‒ 1 March 2025, Monterey, USA, P. 103‒114. DOI: https://doi.org/10.1145/3706628.3708878
Si, Q., Schaefer, С. B. (2023), “ADVICE: automatic design and optimization of behavioral application specific processors”, Great Lakes Symposium on VLSI (GLSVLSI'23), 5-7 June 2023, Knoxville, USA, P. 327‒332. DOI: https://doi.org/10.1145/3583781.3590214
##submission.downloads##
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія

Ця робота ліцензується відповідно до Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Наше видання використовує положення про авторські права Creative Commons для журналів відкритого доступу.
Автори, які публікуються у цьому журналі, погоджуються з наступними умовами:
Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0), котра дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи у цьому журналі.
Автори мають право укладати самостійні додаткові угоди щодо не комерційного та не ексклюзивного розповсюдження роботи у тому вигляді, в якому вона була опублікована цим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи у цьому журналі.
Політика журналу дозволяє і заохочує розміщення авторами в мережі Інтернет (наприклад, у сховищах установ або на особистих веб-сайтах) рукопису опублікованої роботи, оскільки це сприяє виникненню продуктивної наукової дискусії та позитивно позначається на оперативності та динаміці цитування опублікованої роботи.












