Алгоритм обчислення дводіагональної матриці ортогональним розкладанням на графічному процесорі

dc.contributor.authorМалашонок, Геннадiй
dc.contributor.authorСухарський, Сергій
dc.date.accessioned2021-12-14T15:24:28Z
dc.date.available2021-12-14T15:24:28Z
dc.date.issued2021-12-10
dc.description.abstractУ роботі розглянуто та реалізовано алгоритм ортогонального розкладання матриці, який є першою частиною алгоритму SVD. Наведено реалізацію бідіагоналізації матриці та обчислення ортогональних множників методом Хаусхолдера в середовищі jCUDA на графічному процесорі, а також реалізовано алгоритм для центрального процесора для порівнянь. Проведено дослідження отриманих результатів, у яких експериментально визначалось пришвидшення обчислень за рахунок використання графічного процесора, порівняно з обчисленнями на центральному процесорі. Для матриці розміру 2048 використання відеокарти дає змогу пришвидшити обчислення у 53 рази.uk_UA
dc.description.abstractWith 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-15uk_UA
dc.identifier.issn2617-3808
dc.identifier.issn2617-7323
dc.identifier.urihttps://doi.org/10.18523/2617-3808.2021.4.10-15
dc.identifier.urihttps://ekmair.ukma.edu.ua/handle/123456789/21882
dc.language.isoukuk_UA
dc.relation.sourceНаукові записки НаУКМА. Комп'ютерні науки.uk_UA
dc.statusfirst publisheduk_UA
dc.subjectграфічний процесорuk_UA
dc.subjectцентральний процесорuk_UA
dc.subjectматрицяuk_UA
dc.subjectвекторuk_UA
dc.subjectХаусхолдерuk_UA
dc.subjectCUDAuk_UA
dc.subjectстаттяuk_UA
dc.subjectgraphics processoruk_UA
dc.subjectcentral processoruk_UA
dc.subjectmatrixuk_UA
dc.subjectvectoruk_UA
dc.subjectHouseholderuk_UA
dc.subjectCUDAuk_UA
dc.subjectarticleuk_UA
dc.titleАлгоритм обчислення дводіагональної матриці ортогональним розкладанням на графічному процесоріuk_UA
dc.title.alternativeА Gpu-based Orthogonal Matrix Factorization Algorithm that Produces a Two-Diagonal Shapeuk_UA
dc.typeArticleuk_UA
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Alhorytm_obchyslennia_dvodiahonalnoi_matrytsi_ortohonalnym_rozkladanniam_na_hrafichnomu_protsesori.pdf
Size:
472.4 KB
Format:
Adobe Portable Document Format
Description:
стаття
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
7.54 KB
Format:
Item-specific license agreed upon to submission
Description:
Collections