Дослідження паралельних алгоритмів мовою Python з використанням різних платформ

dc.contributor.authorПогорілий, Сергій
dc.contributor.authorСемьонов, Богдан
dc.description.abstractРеалізовано послідовну версію методу Гауса (розв’язання систем лінійних алгебраїчних рів- нянь) та її паралельну версію на ядрах архітектури CUDA з використанням різних програмних бібліотек та платформ на мові програмування Python, а саме: Anaconda (Numba), PyCUDA, KappaCUDA та PyOpenCL. Проведено низку досліджень: порівняння швидкості виконання різних реалізацій методу Гауса.uk_UA
dc.description.abstractPython programming language was the first main object of the research of this article. The language provides constructs intended to enable writing clear programs on both small and large scales. Python interpreters are available for many operating systems, allowing Python code to run in a wide variety of systems. Some tables were created for comparing Python with other languages. General-purpose computing on graphics processing units (GPGPU) is considered in the paper, which typically handles computation only for computer graphics and is used to perform computation in applications traditionally handled by the central processing unit (CPU). The article examines the implementation of GPGPU technology tools with programming language Python APIs: Anaconda, PyCUDA, KappaCUDA, and PyOpenCL. NVidiaCUDA technology is introduced, which is the second main object of the research, and the article discusses its advantages. Possibilities of this technology are shown. Fast facts about NVIDIA are given. Then its production and achievements are considered. It could be concluded that this technology has made a great impact on the market and is developing very actively. The article deals with modern architectures used in video adapters. The code is given as an example, which is used in working with graphical process units, and the instructions how to work with the global memory are offered. It could be concluded that such a technology can be used in a wide variety of applications and can be developed in different ways. Different patterns of thread interaction in this technology are shown. The problems of synchronization and different solutions are considered. The dynamic parallelism and its principles are defined. A serial version of the Gaussian elimination (solving systems of linear algebraic equations) and its parallel version on the CUDA architecture cores in the Python programming language were implemented. A number of research procedures were done: a comparison of the speed of the various implementations of the Gaussian elimination with using of various program libraries and platforms: Anaconda (Numba), PyCUDA, KappaCUDA, and PyOpenCL.en_US
dc.identifier.citationПогорілий С. Д. Дослідження паралельних алгоритмів мовою Python з використанням різних платформ / Погорілий С. Д., Семьонов Б. О. // Наукові записки НаУКМА. Комп'ютерні науки. - 2017. - Т. 198. - С. 14-21.uk_UA
dc.relation.sourceНаукові записки НаУКМА: Комп'ютерні наукиuk_UA
dc.statuspublished earlieruk_UA
dc.subjectметод Гаусаuk_UA
dc.titleДослідження паралельних алгоритмів мовою Python з використанням різних платформuk_UA
dc.title.alternativeResearch of Parallel Algorithms with Python Language with Using Various Platformsen_US
Original bundle
Now showing 1 - 1 of 1
Thumbnail Image
609.02 KB
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
7.54 KB
Item-specific license agreed upon to submission