Алгоритм обчислення дводіагональної матриці ортогональним розкладанням на графічному процесорі
dc.contributor.author | Малашонок, Геннадiй | |
dc.contributor.author | Сухарський, Сергій | |
dc.date.accessioned | 2021-12-14T15:24:28Z | |
dc.date.available | 2021-12-14T15:24:28Z | |
dc.date.issued | 2021-12-10 | |
dc.description.abstract | У роботі розглянуто та реалізовано алгоритм ортогонального розкладання матриці, який є першою частиною алгоритму SVD. Наведено реалізацію бідіагоналізації матриці та обчислення ортогональних множників методом Хаусхолдера в середовищі jCUDA на графічному процесорі, а також реалізовано алгоритм для центрального процесора для порівнянь. Проведено дослідження отриманих результатів, у яких експериментально визначалось пришвидшення обчислень за рахунок використання графічного процесора, порівняно з обчисленнями на центральному процесорі. Для матриці розміру 2048 використання відеокарти дає змогу пришвидшити обчислення у 53 рази. | uk_UA |
dc.description.abstract | With the development of the Big Data sphere, as well as those fields of study that we can relate to artificial intelligence, the need for fast and efficient computing has become one of the most important tasks nowadays. That is why in the recent decade, graphics processing unit computations have been actively developing to provide an ability for scientists and developers to use thousands of cores GPUs have in order to perform intensive computations. The goal of this research is to implement orthogonal decomposition of a matrix by applying a series of Householder transformations in Java language using JCuda library to conduct a research on its benefits. Several related papers were examined. Malaschonok and Savchenko in their work have introduced an improved version of QR algorithm for this purpose [4] and achieved better results, however Householder algorithm is more promising for GPUs according to another team of researchers – Lahabar and Narayanan [6]. However, they were using Float numbers, while we are using Double, and apart from that we are working on a new BigDecimal type for CUDA. Apart from that, there is still no solution for handling huge matrices where errors in calculations might occur. The algorithm of orthogonal matrix decomposition, which is the first part of SVD algorithm, is researched and implemented in this work. The implementation of matrix bidiagonalization and calculation of orthogonal factors by the Hausholder method in the jCUDA environment on a graphics processor is presented, and the algorithm for the central processor for comparisons is also implemented. Research of the received results where we experimentally measured acceleration of calculations with the use of the graphic processor in comparison with the implementation on the central processor are carried out. We show a speedup up to 53 times compared to CPU implementation on a big matrix size, specifically 2048, and even better results when using more advanced GPUs. At the same time, we still experience bigger errors in calculations while using graphic processing units due to synchronization problems. We compared execution on different platforms (Windows 10 and Arch Linux) and discovered that they are almost the same, taking the computation speed into account. The results have shown that on GPU we can achieve better performance, however there are more implementation difficulties with this approach. | |
dc.identifier.citation | Малашонок Г.І. Алгоритм обчислення дводіагональної матриці ортогональним розкладанням на графічному процесорі / Малашонок Г. І., Сухарський С. С. // Наукові записки НаУКМА. Комп'ютерні науки. - 2021. - Т. 4. - С. 10-15. - https://doi.org/10.18523/2617-3808.2021.4.10-15 | uk_UA |
dc.identifier.issn | 2617-3808 | |
dc.identifier.issn | 2617-7323 | |
dc.identifier.uri | https://doi.org/10.18523/2617-3808.2021.4.10-15 | |
dc.identifier.uri | https://ekmair.ukma.edu.ua/handle/123456789/21882 | |
dc.language.iso | uk | uk_UA |
dc.relation.source | Наукові записки НаУКМА. Комп'ютерні науки. | uk_UA |
dc.status | first published | uk_UA |
dc.subject | графічний процесор | uk_UA |
dc.subject | центральний процесор | uk_UA |
dc.subject | матриця | uk_UA |
dc.subject | вектор | uk_UA |
dc.subject | Хаусхолдер | uk_UA |
dc.subject | CUDA | uk_UA |
dc.subject | стаття | uk_UA |
dc.subject | graphics processor | uk_UA |
dc.subject | central processor | uk_UA |
dc.subject | matrix | uk_UA |
dc.subject | vector | uk_UA |
dc.subject | Householder | uk_UA |
dc.subject | CUDA | uk_UA |
dc.subject | article | uk_UA |
dc.title | Алгоритм обчислення дводіагональної матриці ортогональним розкладанням на графічному процесорі | uk_UA |
dc.title.alternative | А Gpu-based Orthogonal Matrix Factorization Algorithm that Produces a Two-Diagonal Shape | uk_UA |
dc.type | Article | uk_UA |
Files
Original bundle
1 - 1 of 1
Loading...
- Name:
- Alhorytm_obchyslennia_dvodiahonalnoi_matrytsi_ortohonalnym_rozkladanniam_na_hrafichnomu_protsesori.pdf
- Size:
- 472.4 KB
- Format:
- Adobe Portable Document Format
- Description:
- стаття
License bundle
1 - 1 of 1
No Thumbnail Available
- Name:
- license.txt
- Size:
- 7.54 KB
- Format:
- Item-specific license agreed upon to submission
- Description: