dc.contributor.advisor | Horák, David | |
dc.contributor.author | Blana, Vojtěch | |
dc.date.accessioned | 2023-06-23T08:46:03Z | |
dc.date.available | 2023-06-23T08:46:03Z | |
dc.date.issued | 2023 | |
dc.identifier.other | OSD002 | |
dc.identifier.uri | http://hdl.handle.net/10084/150394 | |
dc.description.abstract | Tato bakalářská práce se zabývá efektivitou násobení matice a vektoru jakožto klíčové operace pro velkou škálu vědeckých aplikací. Pro většinu úloh jsou matice velké, ale mají malé procento nenulových prvků - nazýváme je řídkými. Z tohoto důvodu se začali vyvíjet formáty pro uložení řídkých matic, které mají na jedné straně za úkol co nejvíce minimalizovat paměťové nároky a na straně druhé zefektivnit přístup k prvkům matice, které jsou uložené v poli hodnot a snížit tak časovou náročnost pro výpočet s nimi. Základní formáty pro ukládání řídkých matic jsou Coordinate list (COO), Compressed Sparse Row (CSR), Compressed Sparse Column (CSC), Diagonal (DIA), Jagged Diagonal (JAD), Hybrid (HYB), ELLpack (ELL) a Sliced ELL-C-σ (SELL-C-σ). Tato bakalářská práce je rozdělena do několika částí, shrnutí a vysvětlení způsobu ukládání matic v rámci jednotlivých formátů, krátkého seznámení s použitými knihovnami, představení testovaných matic, numerické experimenty a nakonec jejich analýza. Pro testování efektivity operace násobení řídké matice a vektoru v jazyce Python jsem použil knihovny SciPy, PETSc4py, PyViennaCL k měření času operace násobení matice a vektor při použití jednotlivých formátů. V jazyce C++ jsem pracoval s knihovnami Armadillo a ViennaCL. Cílem této práce je analýza výsledků a ladění parametrů formátu SELL-C-σ z hlediska efektivity operace násobení matice a vektoru jakožto klíčové pro iterační řešiče. Tento formát kombinuje CSR a ELL formáty za účelem lepší vektorizace výpočtů. | cs |
dc.description.abstract | This bachelor thesis deals with the efficiency of matrix-vector multiplication as a key operation for a large variety of scientific applications. For most problems, matrices are large and they contain a small percentage of non-zero elements - we call them sparse. For this reason, formats for storing sparse matrices have started to be developed to effectivelly minimize the memory requirements on one hand, and on the other hand to streamline access to the elements of the matrix that are stored in the array of values and reduce the computation time with them. The basic formats for storing sparse matrices are namely: Coordinate list (COO), Compressed Sparse Row (CSR), Compressed Sparse Column (CSC), Diagonal (DIA), Jagged Diagonal (JAD), Hybrid (HYB), ELLpack (ELL) and Sliced ELL-C-σ (SELL-C-σ). This bachelor thesis is divided into several parts, a summary and an explanation of how matrices are stored within each format, a brief introduction to the libraries used, an introduction to the matrices tested, numerical experiments and finally their analysis. To test the efficiency of the sparse matrix-vector multiplication operation in Python, I used the libraries SciPy, PETSc4py, PyViennaCL to measure the time of the matrix-vector multiplication operation using each format. In C++, I worked with the Armadillo and ViennaCL libraries. The aim of this thesis is to analyze the results and fine-tune the parameters of the SELL-C-σ format in terms of the efficiency of the matrix-vector multiplication operation as a key for iterative solvers. This format combines the CSR and ELL formats for better vectorization of the computations. | en |
dc.format.extent | 940669 bytes | |
dc.format.mimetype | application/pdf | |
dc.language.iso | cs | |
dc.publisher | Vysoká škola báňská – Technická univerzita Ostrava | cs |
dc.subject | Řídká matice | cs |
dc.subject | Coordinate list | cs |
dc.subject | Compressed Sparse Row | cs |
dc.subject | Compressed Sparse Column | cs |
dc.subject | Hybridní formát | cs |
dc.subject | Diagonální formát | cs |
dc.subject | Jagged Diagonal formát | cs |
dc.subject | ELLpack formát | cs |
dc.subject | SELL-C-σ | cs |
dc.subject | násobení matice a vektoru | cs |
dc.subject | Python | cs |
dc.subject | C++ | cs |
dc.subject | Sparse matrix | en |
dc.subject | Coordinate list format | en |
dc.subject | Compressed Sparse Row format | en |
dc.subject | Compressed Sparse Column format | en |
dc.subject | Hybrid format | en |
dc.subject | Diagonal format | en |
dc.subject | Jagged Diagonal format | en |
dc.subject | ELLpack format | en |
dc.subject | SELL-C-σ | en |
dc.subject | matrix-vector multiplication | en |
dc.subject | Python | en |
dc.subject | C++ | en |
dc.title | Analýza vlivu použitého maticového formátu na efektivitu násobení matice a vektoru | cs |
dc.title.alternative | Analysis of an impact of used matrix format to the efficiency of matrix by vector multiplication | en |
dc.type | Bakalářská práce | cs |
dc.contributor.referee | Kružík, Jakub | |
dc.date.accepted | 2023-05-30 | |
dc.thesis.degree-name | Bc. | |
dc.thesis.degree-level | Bakalářský studijní program | cs |
dc.thesis.degree-grantor | Vysoká škola báňská – Technická univerzita Ostrava. Fakulta elektrotechniky a informatiky | cs |
dc.description.department | 470 - Katedra aplikované matematiky | cs |
dc.contributor.consultant | Pecha, Marek | |
dc.thesis.degree-program | Výpočetní a aplikovaná matematika | cs |
dc.description.result | velmi dobře | cs |
dc.identifier.sender | S2724 | |
dc.identifier.thesis | BLA0287_FEI_B0541A170008_2023 | |
dc.rights.access | openAccess | |