ОЦІНКА ЕФЕКТИВНОСТІ РЕАЛІЗАЦІЇ АСИНХРОННИХ ОБЧИСЮВАЛЬНИХ АЛГОРИТМІВ ЗАСОБАМИ КОРУТИН ТА ПОТОКІВ С++

Автор(и)

  • H.Ia. Vokhmianin
  • O.O. Zhulkovskyi
  • I.I. Zhulkovska
  • V.A. Katan
  • V.Iu. Klym
  • I.I. Kuznietsov

DOI:

https://doi.org/10.34185/1562-9945-3-146-2023-06

Ключові слова:

співпрограма, корутина, асинхронне програмування, багатопоточність, паралельні обчислення, алгоритм, швидкодія

Анотація

Одним із механізмів підвищення продуктивності обчислень при комп’ютерному мо-делюванні є корутини – зручний засіб управління асинхронними операціями, введе-ний у стандарт C++20. Метою роботи є підвищення швидкодії обчислювальних ал-горитмів – основи комп’ютерних моделей – за рахунок використанням механізму корутин та потоків даних. В результаті застосування нового, більш ефективного і простого підходу вдалося досягти відносного збільшення швидкості обчислень у 1,94 рази при значній розмірності матриці

Посилання

Andrist B. C++ High Performance: Master the art of optimizing the functioning of your C++ code / B. Andrist, V. Sehr, B.Garney. – 2nd Edition: textbook. – 2020. – 540 p.

Conway Melvin E. Design of a separable transition-diagram compiler/ Melvin E. Conway // Communications of the ACM. – 1963. – Vol. 6. – № 1. – P.396 – 408.

Knuth Donald E. Fundamental algorithms, The art of computer programming / Donald E. Knuth. – Publisher: Addison-Wesley, 1968. – Vol.1.– 634 p.

Zhulkovskyi O.O. Evaluating the effectiveness of the implementation of computa-tional algorithms using the OреnMP standard for parallelizing programs / O. O. Zhulkovskyi, I. I. Zhulkovska, V. V. Shevchenko // Informatics and Mathematical Methods in Simulation. – 2021. – Vol.11. – №4. – P. 268 – 277.

DOI: 10.15276/imms.v11.no4.268

Zhulkovskyi O. O. Evaluation of the efficiency of the implementation of parallel computational algorithms using the library in C++ / O.O.Zhulkovskyi, I. I. Zhulkovska, V. V. Shevchenko, H. Ya. Vokhmianin // Computer Systems and In-formation Technologies. – 2022. – № 3. – P. 49–55. DOI: 10.31891/csit-2022-3-6

Fertig A. Programming with C++20: Concepts, Coroutines, Ranges, and more/ A. Fertig, F. Panter. – Textbook. – 2021. – 333 p.

Browning J. Burton. C++20 Recipes: A Problem-Solution Approach / J.Burton Browning, B. Sutherland. – 2nd Edition: textbook. – 2020. – 657 p.

Williams A. C++ Concurrency in Action: Practical Multithreading/ A.Williams. – Textbook. – 2012. – 528 p.

Mastering Posch M. C++ Multithreading: Write robust, concurrent, and parallel applications / Posch M. Mastering. – Textbook. – 2017. – 246 p.

Zhulkovskii O. A. Information-Modeling Forecasting System for Thermal Mode of Top Converter Lance / O.A. Zhulkovskii, S.P. Panteikov, I.I.Zhulkovskaya // Steel in Translation. – 2022. – Vol. 52. – № 5. – P. 495–502.

DOI: 10.3103/S0967091222050138

Zhulkovskyi O.O. Features of Mathematical simulation of the processes of com-bined heat transfer in waveguides / O.O. Zhulkovskyi, Iu.V. Savchenko, I.I. Zhulkovska et al. // Proceedings of the 2022 IEEE 4th International Conference on Modern Electrical and Energy System, MEES 2022. – P.452–456.

DOI: 10.1109/MEES58014.2022.10005676

Опубліковано

2023-05-11