Особенности использования GPU для параллельной обработки данных

Аннотация

Уже в нулевые было понятно, что закон Мура не будет работать вечно из-за фундаментальных физических ограничений. В то же время обсчитываемые модели становились все сложнее и появлялись новые ресурсоемкие задачи. Это обусловило появления разного рода аппаратный ускорителей вычислений. В виду относительно недавнего появления аппаратных ускорителей как класса и всплеска их популярности, работа с ними редко изучается в университетах, даже на профильных специальностях. Как следствие, базовое GPGPU обросло набором заблуждений и предрассудков. Автор разбирает аспекты программирования на наиболее распространенном аппаратном ускорителе среди простых пользователей – GPU. В статье приводятся основные архитектурные отличия CPU от GPU. Автор описывает возможные фреймворки и языки для GPGPU, отдавая предпочтение связки из CuPy (Python) и Google Colab в виду их доступности и удобства использования. Тем самым показывается, что порог входа для использования графического ускорителя для ускорения вычислений может быть весьма низким. Автор парирует распространенные заблуждения об недостатках использования GPU, такие как такие как пересылка данных из оперативной в видеопамять и обратно, узкая область применения такого класса устройств, относительно небольшой объем видеопамяти. Вместе с тем, в статье отмечается, что простой перенос вычислений с CPU на GPU без учета их особенностей архитектур может не дать желаемого результата. Приводится наглядный пример ситуации, в которой CPU справляется с вычислениями быстрее. Таким образом, решение нестандартной задачи может потребовать отдельного исследования оптимального для нее аппаратного комплекса.

Сведения об авторе

Evgeniy Igorevich Goncharov, Смоленский государственный университет

аспирант физико-математического факультета

Литература

1. Moore G.E. No exponential is forever: but "Forever" can be delayed! [semiconductor industry]. In: 2003 IEEE International Solid-State Circuits Conference, 2003. Digest of Technical Papers. ISSCC., San Francisco, CA, USA: IEEE Press; 2003. p. 20-23. vol.1. https://doi.org/10.1109/ISSCC.2003.1234194
2. Kolesnikov N.A., Letuchiy S.V. Moore's Law and Contemporary Problems. In: Scientifically Technical and Economical Cooperation in Asia-Pacific Countries in the 21st Century. 2020;2:336-341. (In Russ., abstract in Eng.) EDN: KZECDP
3. Powell J.R. The Quantum Limit to Moore's Law. Proceedings of the IEEE. 2008;96(8):1247-1248. https://doi.org/10.1109/JPROC.2008.925411
4. Jouppi N.P., et al. In-datacenter performance analysis of a tensor processing unit. SIGARCH Comput. Archit. News. 2017;45(2):1-12. https://doi.org/10.1145/3140659.3080246
5. Li Z., et al. A survey of FPGA design for AI era. Journal of Semiconductors. 2020;41(2):021402. https://doi.org/10.1088/1674-4926/41/2/021402
6. Hu Y., Liu Y., Liu Z. A Survey on Convolutional Neural Network Accelerators: GPU, FPGA and ASIC. In: 2022 14th International Conference on Computer Research and Development (ICCRD). Shenzhen, China: IEEE Press; 2022. p. 100-107. https://doi.org/10.1109/ICCRD54409.2022.9730377
7. Lloyd S. The Universe as Quantum Computer. arXiv:1312.4455. 2013. https://doi.org/10.48550/arXiv.1312.4455
8. Potapov A.A. Computational Dielectric Metasurfaces in Photonic Topological Devices for Multidimensional Signal Processing. Radioelectronics. Nanosystems. Information Technologies. 2024;16(1):11-30. https://doi.org/10.17725/rensit.2024.16.011
9. Melnikov A.K., et al. Analysis of Advanced Computer Technologies for Calculation of Exact Approximations of Statistics Probability Distributions. Izvestiya SFedU. Engineering Sciences. 2022;(4):50-62. (In Russ., abstract in Eng.) https://doi.org/10.18522/2311-3103-2022-4-50-62
10. Lykov D., et al. Performance Evaluation and Acceleration of the QTensor Quantum Circuit Simulator on GPUs. In: 2021 IEEE/ACM Second International Workshop on Quantum Computing Software (QCS). St. Louis, MO, USA: IEEE Press; 2021. p. 27-34. https://doi.org/10.1109/QCS54837.2021.00007
11. Dev J.A. Bitcoin mining acceleration and performance quantification. In: 2014 IEEE 27th Canadian conference on electrical and computer engineering (CCECE). Toronto, ON, Canada: IEEE Press; 2014. p. 1-6. https://doi.org/10.1109/CCECE.2014.6900989
12. Zhang F., Zhang Y., Bakos J. GPApriori: GPU-Accelerated Frequent Itemset Mining. In: 2011 IEEE International Conference on Cluster Computing. Austin, TX, USA: IEEE Press; 2011. p. 590-594. https://doi.org/10.1109/CLUSTER.2011.61
13. Pham H.L., et al. A high-efficiency FPGA-based multimode SHA-2 accelerator. IEEE Access. 2022;10:11830-11845. https://doi.org/10.1109/ACCESS.2022.3146148
14. Barkatullah J., Hanke T. Goldstrike 1: CoinTerra's First-Generation Cryptocurrency Mining Processor for Bitcoin. IEEE Micro. 2015;35(2):68-76. https://doi.org/10.1109/MM.2015.13
15. Buber E., Diri B. Performance Analysis and CPU vs GPU Comparison for Deep Learning. In: 2018 6th International Conference on Control Engineering & Information Technology (CEIT). Istanbul, Turkey: IEEE Press; 2018. p. 1-6. https://doi.org/10.1109/CEIT.2018.8751930
16. Fatica M. CUDA toolkit and libraries. In: 2008 IEEE Hot Chips 20 Symposium (HCS). Stanford, CA, USA: IEEE Press; 2008. p. 1-22. https://doi.org/10.1109/HOTCHIPS.2008.7476520
17. Munshi A. The OpenCL specification. In: 2009 IEEE Hot Chips 21 Symposium (HCS). Stanford, CA, USA: IEEE Press; 2009. p. 1-314. https://doi.org/10.1109/HOTCHIPS.2009.7478342
18. Holm H.H., Brodtkorb A.R., Sætra M.L. GPU Computing with Python: Performance, Energy Efficiency and Usability. Computation. 2020;8(1):4. https://doi.org/10.3390/computation8010004
19. Scarpino M. OpenCL in action: how to accelerate graphics and computations. Simon and Schuster, 2011.
20. Goncharov E.I. Realization the (λ, μ)-Convolution Product of Matrixes by Means of the (0, μ)-Convolution Product. Sistemy komp’yuternoj matematiki i ih prilozheniya = Computer Mathematics Systems and Their Applications. 2022;(23):96-100. (In Russ., abstract in Eng.) EDN: LTOEGA
21. Volkov A.V., Denisenko M.V., Satanin A.M. An Algorithm for Calculating Qubit Dissipative Dynamics on a Supercomputer Complex Using GPU Accelerators. Vestnik of Lobachevsky University of Nizhni Novgorod. 2012;(5-2):42-48. (In Russ., abstract in Eng.) EDN: PZKPQX
22. Mikushin D.N., Levchenko O.A., Petrov A.P. COACCEL – A Pipelined Computing Environment for multi‑GPU systems. In: Parallel Computational Technologies (PCT'2011). М.: FSAEIHE SUSU (NRU) Publ.; 2011. p. 548-554. (In Russ., abstract in Eng.) EDN: TBLXFF
23. Bakkum P., Skadron K. Accelerating SQL database operations on a GPU with CUDA. In: Proceedings of the 3rd Workshop on General-Purpose Computation on Graphics Processing Units (GPGPU-3). New York, NY, USA: Association for Computing Machinery; 2010. p. 94-103. https://doi.org/10.1145/1735688.1735706
24. Zoric D.P., Olcan D.I., Kolundzija B.M. On increasing capabilities of GPU in-core solver applied to method of moments. In: 2012 6th European Conference on Antennas and Propagation (EUCAP). Prague, Czech Republic: IEEE Press; 2012. p. 391-394. https://doi.org/10.1109/EuCAP.2012.6206020
25. Sesin I.Yu., Bolbakov R.G. Comparative analysis of software optimization methods in context of branch predication on GPUs. Russian Technological Journal. 2021;9(6):7-15. https://doi.org/10.32362/2500-316X-2021-9-6-7-15
Опубликована
2023-12-20
Как цитировать
GONCHAROV, Evgeniy Igorevich. Особенности использования GPU для параллельной обработки данных. Современные информационные технологии и ИТ-образование, [S.l.], v. 19, n. 4, p. 924-930, dec. 2023. ISSN 2411-1473. Доступно на: <http://sitito.cs.msu.ru/index.php/SITITO/article/view/1044>. Дата доступа: 03 nov. 2026 doi: https://doi.org/10.25559/SITITO.019.202304.924-930.
Раздел
Параллельное и распределенное программирование, грид-технологии