Журналов:     Статей:        

Радиопромышленность. 2020; 30: 28-33

Параллельные технологии программирования на вычислительных комплексах

Прядко С. А., Трошин А. Ю., Козлов В. Д., Иванов А. Е.

https://doi.org/10.21778/2413-9599-2020-30-3-28-33

Аннотация

В статье описываются различные возможности ускорения расчетов на вычислительных комплексах. Эти возможности тесно связаны с архитектурой таких комплексов. Целью работы является предоставление информации, необходимой при выборе возможности ускорения процесса решения вычислительной задачи. Приводится описание основных возможностей, реализуемых с помощью следующих моделей: программирование в системах с общей памятью, программирование в системах с распределенной памятью и программирование на графических ускорителях (видеокартах). Излагается основная концепция, принципы, достоинства и недостатки каждой из рассматриваемых моделей программирования. Все стандарты написания программ, описанные в статье, возможно использовать в операционных системах как семейства Linux, так и Windows. Необходимые библиотеки доступны и совместимы с языком программирования C/C++. В заключении статьи даются рекомендации по использованию той или иной технологии в зависимости от типа задачи, которую необходимо решить.

Список литературы

1. Reinsel D., Gantz J., Rydning J. The Digitization of the World [Электронный ресурс]. URL: https://www.seagate.com/files/www-content/our-story/trends/files/idc-seagate-dataage-whitepaper.pdf (дата обращения: 06.07.2020).

2. Ежова Н. А., Соколинский Л. Б. Обзор моделей параллельных вычислений // Вестник ЮУрГУ. 2019. № 3. С. 58–91.

3. Антонов А. С. Параллельное программирование с использованием технологии OpenMP. М.: МГУ, 2009. 77 c.

4. Антонов А. С. Параллельное программирование с использованием технологии MPI. М.: Национальный Открытый Университет «ИНТУИТ», 2016. 84 с.

5. Копысов С. П., Новиков А. К. Промежуточное программное обеспечение параллельных вычислений. Ижевск: Удмуртский университет. 2012. 140 с.

6. Малявко А. А. Параллельное программирование на основе технологий OpenMP, MPI, CUDA. М.: Юрайт, 2018. 115 с.

7. Боресков А. В., Харламов А. А., Марковский Н. Д. Параллельные вычисления на GPU. Архитектура и программная модель CUDА. М.: МГУ, 2012. 336 с.

8. Сандерс Дж., Кэндрот Э. Технология CUDA в примерах: введение в программирование графических процессоров. М.: ДМК Пресс, 2013. 232 с.

9. Антонюк В. А. OpenCL. Открытый язык для параллельных программ. М.: МГУ, 2017. 88 с.

10. Бастраков С. И. Программирование на OpenCL. [Электронный ресурс]. URL: https://docplayer.ru/37490743-Programmirovanie-na-opencl.html (дата обращения: 06.07.2020).

Radio industry (Russia). 2020; 30: 28-33

Parallel programming technologies on computer complexes

Pryadko S. A., Troshin A. Yu., Kozlov V. D., Ivanov A. E.

https://doi.org/10.21778/2413-9599-2020-30-3-28-33

Abstract

The article describes various options for speeding up calculations on computer systems. These features are closely related to the architecture of these complexes. The objective of this paper is to provide necessary information when selecting the capability for the speeding process of solving the computation problem. The main features implemented using the following models are described: programming in systems with shared memory, programming in systems with distributed memory, and programming on graphics accelerators (video cards). The basic concept, principles, advantages, and disadvantages of each of the considered programming models are described. All standards for writing programs described in the article can be used both on Linux and Windows operating systems. The required libraries are available and compatible with the C/C++ programming language. The article concludes with recommendations on the use of a particular technology, depending on the type of task to be solved.

References

1. Reinsel D., Gantz J., Rydning J. The Digitization of the World [Elektronnyi resurs]. URL: https://www.seagate.com/files/www-content/our-story/trends/files/idc-seagate-dataage-whitepaper.pdf (data obrashcheniya: 06.07.2020).

2. Ezhova N. A., Sokolinskii L. B. Obzor modelei parallel'nykh vychislenii // Vestnik YuUrGU. 2019. № 3. S. 58–91.

3. Antonov A. S. Parallel'noe programmirovanie s ispol'zovaniem tekhnologii OpenMP. M.: MGU, 2009. 77 c.

4. Antonov A. S. Parallel'noe programmirovanie s ispol'zovaniem tekhnologii MPI. M.: Natsional'nyi Otkrytyi Universitet «INTUIT», 2016. 84 s.

5. Kopysov S. P., Novikov A. K. Promezhutochnoe programmnoe obespechenie parallel'nykh vychislenii. Izhevsk: Udmurtskii universitet. 2012. 140 s.

6. Malyavko A. A. Parallel'noe programmirovanie na osnove tekhnologii OpenMP, MPI, CUDA. M.: Yurait, 2018. 115 s.

7. Boreskov A. V., Kharlamov A. A., Markovskii N. D. Parallel'nye vychisleniya na GPU. Arkhitektura i programmnaya model' CUDA. M.: MGU, 2012. 336 s.

8. Sanders Dzh., Kendrot E. Tekhnologiya CUDA v primerakh: vvedenie v programmirovanie graficheskikh protsessorov. M.: DMK Press, 2013. 232 s.

9. Antonyuk V. A. OpenCL. Otkrytyi yazyk dlya parallel'nykh programm. M.: MGU, 2017. 88 s.

10. Bastrakov S. I. Programmirovanie na OpenCL. [Elektronnyi resurs]. URL: https://docplayer.ru/37490743-Programmirovanie-na-opencl.html (data obrashcheniya: 06.07.2020).