19 research outputs found
Supercomputing Frontiers
This open access book constitutes the refereed proceedings of the 7th Asian Conference Supercomputing Conference, SCFA 2022, which took place in Singapore in March 2022. The 8 full papers presented in this book were carefully reviewed and selected from 21 submissions. They cover a range of topics including file systems, memory hierarchy, HPC cloud platform, container image configuration workflow, large-scale applications, and scheduling
Parallel software for lattice N=4 supersymmetric Yang--Mills theory
We present new parallel software, SUSY LATTICE, for lattice studies of
four-dimensional supersymmetric Yang--Mills theory with gauge
group SU(N). The lattice action is constructed to exactly preserve a single
supersymmetry charge at non-zero lattice spacing, up to additional potential
terms included to stabilize numerical simulations. The software evolved from
the MILC code for lattice QCD, and retains a similar large-scale framework
despite the different target theory. Many routines are adapted from an existing
serial code, which SUSY LATTICE supersedes. This paper provides an overview of
the new parallel software, summarizing the lattice system, describing the
applications that are currently provided and explaining their basic workflow
for non-experts in lattice gauge theory. We discuss the parallel performance of
the code, and highlight some notable aspects of the documentation for those
interested in contributing to its future development.Comment: Code available at https://github.com/daschaich/sus
Recommended from our members
Scalable electronic structure methods to solve the Kohn-Sham equation
From the single hydrogen to proteins in the hundreds of thousands of kilodaltons, scientists can use the electronic structure of interacting atoms to predict their material properties. Knowing the material properties through solving the electronic structure problem, would allow for the controlled prediction and corresponding design of materials. The Kohn-Sham equations, based on density functional theory, transform a many-body problem impossible to solve for anything but the smallest molecules, into a practical problem which can be used to predict material properties. Although KSDFT scales as the cube of the number of electrons in the system, there are additional well documented approximations to further reduce the number of electrons, such as the pseudopotential method.
The incoming exascale era will lead to unavoidable challenges in solving the Kohn-Sham equations. These challenges include communication and hardware considerations. Old paradigms, epitomized by repeated series of globally forced synchronization points, will give way to new breeds of algorithms to maximizing scaling performance while maintaining portability.
This thesis focuses on the solution to Kohn-Sham DFT in real space at scale. Key to this effort is a parallel treatment of numerical elements involving the Rayleigh-Ritz method. At minimum, the Rayleigh-Ritz projection requires a number of distributed matrix vector operations equal to the number of electrons solved for in a system. Furthermore, the projection requires that number, squared and then halved, of dot products. The memory cost for such an algorithm also grows very large quickly, and explicit intelligent management is not an option. I demonstrate the computational requirements for the various steps in solving for the electronic structure problem for both large and small molecular systems. This thesis also discusses opportunities in real space Kohn-Sham DFT to further utilize floating point optimized hardware the with higher order stencils.Chemical Engineerin
Acceleration Techniques for Industrial Large Eddy Simulation with High-Order Methods on CPU-GPU Clusters
One of the NASA's 2030 CFD Vision document key finding is that the use of CFD in the aerospace design process is severely limited by the inability to accurately and reliably predict turbulent flows with significant regions of separation. Scale-resolving simulations such as large eddy simulation (LES) are increasingly utilized with more complex problems such as flow over high lift configurations and through aircraft engines. The present work has the overall objective of reducing the computational cost of industrial LES. The high-order flux reconstruction (FR) method is used as the spatial discretization scheme. First, two acceleration techniques are investigated: the p-multigrid algorithm and Mach number preconditioning. The Weiss and Smith low Mach number preconditioner is used together with the p-multigrid method, and the third order explicit Runge-Kutta (RK3) scheme is considered as the smoother to reduce memory requirements. Mach number preconditioning significantly increased the efficiency of the p-multigrid method. For unsteady simulations, the preconditioner helped with the efficiency of the p-multigrid with larger physical time steps. In most steady cases, the preconditioned p-multigrid approach is comparable to or faster than the implicit LU-SGS algorithm and requires less memory, specially for p 2 schemes. An efficient implementation of the FR method is done for modern GPU clusters and the speedup is investigated for different polynomial orders and cell types. Approaches to improve the parallel efficiency of multi-GPU simulations are also studied. The simulation node-hour cost on the Summit supercomputer is reduced by a factor of 50 for hexahedron cells and up to 200 for tetrahedron cells. Two low memory implicit time integration methods are implemented on GPUs: the matrix-free GMRES solver and a novel local GMRES-SGS method. Parametric studies are done to evaluate their performance on LES benchmark cases. On the High-Lift Common Research Model case for the 2021 4th AIAA High-Lift Prediction Workshop, both GPU implicit time methods provide an additional speedup of 14 and 68, respectively, over the GPU explicit time simulation
Austrian High-Performance-Computing meeting (AHPC2020)
This booklet is a collection of abstracts presented at the AHPC conference
MRRR-based Eigensolvers for Multi-core Processors and Supercomputers
The real symmetric tridiagonal eigenproblem is of outstanding importance in
numerical computations; it arises frequently as part of eigensolvers for
standard and generalized dense Hermitian eigenproblems that are based on a
reduction to tridiagonal form. For its solution, the algorithm of Multiple
Relatively Robust Representations (MRRR or MR3 in short) - introduced in the
late 1990s - is among the fastest methods. To compute k eigenpairs of a real
n-by-n tridiagonal T, MRRR only requires O(kn) arithmetic operations; in
contrast, all the other practical methods require O(k^2 n) or O(n^3) operations
in the worst case. This thesis centers around the performance and accuracy of
MRRR.Comment: PhD thesi
Paralelni algoritmi Jacobijeva tipa za singularnu i generaliziranu singularnu dekompoziciju
In this thesis, a hierarchically blocked one-sided Jacobi algorithm for the singular value decomposition (SVD) is presented. The algorithm targets both single and multiple graphics processing units (GPUs). The blocking structure reflects the levels of the GPUās memory hierarchy. To this end, a family of parallel pivot strategies on the GPUās shared address space has been developed, but the strategies are applicable to inter-node communication as well, with GPU nodes, CPU nodes, or, in general, any NUMA nodes. Unlike common hybrid approaches, the presented algorithm in a single-GPU setting needs a CPU for the controlling purposes only, while utilizing the GPUās resources to the fullest extent permitted by the hardware. When required by the problem size, the algorithm, in principle, scales to an arbitrary number of GPU nodes. The scalability is demonstrated by more than twofold speedup for sufficiently large matrices on a four-GPU system vs. a single GPU. The subsequent part of the thesis describes how to modify the two-sided HariāZimmermann algorithm for computation of the generalized eigendecomposition of a symmetric matrix pair (A; B), where B is positive definite, to an implicit algorithm that computes the generalized singular value decomposition (GSVD) of a pair (F; G). In addition, blocking and parallelization techniques for accelerating both the CPU and the GPU computation are presented, with the GPU approach following the Jacobi SVD algorithm from the first part of the thesis. For triangular matrix pairs of a moderate size, numerical tests show that the double precision sequential pointwise algorithm is several times faster than the established DTGSJA algorithm in LAPACK, while the accuracy is slightly better, especially for the small generalized singular values. Cache-aware blocking increases the performance even further. As with the one-sided Jacobi-type (G)SVD algorithms in general, the presented algorithm is almost perfectly parallelizable and scalable on the shared memory machines, where the speedup almost solely depends on the number of cores used. A distributed memory variant, intended for huge matrices that do not fit into a single NUMA node, as well as a GPU variant, are also sketched. The thesis concludes with the affirmative answer to a question whether the onesided Jacobi-type algorithms can be an efficient and scalable choice for computing the (G)SVD of dense matrices on the massively parallel CPU and GPU architectures. Unless otherwise noted by the inline citations or implied by the context, this thesis is an overview of the original research results, most of which has already been published in [55, 58]. The authorās contributions are the one-sided Jacobi-type GPU algorithms for the ordinary and the generalized SVD, of which the latter has not yet been published, as well as the parallelization technique and some implementation details of the one-sided HariāZimmermann CPU algorithm for the GSVD. The rest is joint work with Sanja and SaÅ”a Singer.Singularna dekompozicija, katkad zvana prema engleskom originalu i dekompozicija singularnih vrijednosti, ili kraÄe SVD, jedna je od najkorisnijih matriÄnih dekompozicija, kako za teorijske, tako i za praktiÄne svrhe. Svaka matrica (zbog jednostavnijeg zapisa, uobiÄajeno se smatra da je ; u protivnom, traži se SVD matrice ) može se rastaviti u produkt tri matrice gdje su i unitarne, a je 'dijagonalna' s nenegativnim dijagonalnim elementima. Osim ovog oblika dekompozicije, koristi se i skraÄeni oblik pri Äemu je matrica s ortonormiranim stupcima, a za , je sada stvarno dijagonalna. Izvan matematike, u 'stvarnom' životu, SVD se koristi u procesiranju slika (rekonstrukciji, sažimanju, izoÅ”travanju) i signala, s primjenama u medicini (CT, tj. kompjuterizirana tomografija; MR, tj. magnetna rezonancija), geoznanostima, znanosti o materijalima, kristalografiji, sigurnosti (prepoznavanje lica), izvlaÄenja informacija iz velike koliÄine podataka (na primjer, LSI, tj. latent semantic indexing), ali i drugdje. VeÄina primjena koristi svojstvo da se iz SVD-a lako Äita najbolja aproksimacija dane matrice matricom fiksnog (niskog) ranga. Äini se da je lakÅ”e reÄi gdje se SVD ne koristi, nego gdje se koristi, stoga se SVD Äesto naziva i "Å”vicarskim nožiÄem matriÄnih dekompozicija". Prvi poÄeci razvoja SVD-a sežu u 19. stoljeÄe, kad su poznati matematiÄari Eugenio Beltrami, Camille Jordan, James Joseph Sylvester, Erhard Schmidt i Herman Weyl pokazali njezinu egzistenciju i osnovna svojstva (za detalje pogledati [74]). Pioniri u numeriÄkom raÄunanju SVD-a su Ervand George Kogbetliantz, te Gene Golub i William Kahan, koji su razvili algoritam za raÄunanje (bidijagonalni QR), koji je dvadeset i pet godina vladao scenom numeriÄkog raÄunanja SVD-a. U to vrijeme, sveuÄiliÅ”te Stanford (gdje je Gene Golub radio) bilo je 'glavno sjediÅ”te' za razvoj primjena SVD-a. PoÄetkom devedesetih godina, 'sjediÅ”te SVD-a' preseljeno je u Europu, nakon objave Älanka [21] o relativnoj toÄnosti raÄunanja svojstvenih vrijednosti simetriÄnih pozitivno definitnih matrica koriÅ”tenjem Jacobijeve metode. Naime, problem raÄunanja svojstvene dekompozicije pozitivno definitne matrice i problem raÄunanja SVD-a usko su vezani. Ako je poznata dekompozicija singularnih vrijednosti matrice punog stupÄanog ranga, , pri Äemu je faktor matrice , , onda je simetriÄna i pozitivno definitna i vrijedi Matrica je matrica svojstvenih vektora, a svojstvene vrijednosti su kvadrati singularnih vrijednosti. Stoga se algoritmi za raÄunanje svojstvenih vrijednosti, kod kojih se transformacija vrÅ”i dvostranim (i slijeva i zdesna) djelovanjem na matricu , mogu napisati implicitno, tako da se transformacija vrÅ”i ili zdesna na faktor ili slijeva na faktor . U svojoj doktorskoj disertaciji DrmaÄ [24] je napravio daljnju analizu, ne samo singularne dekompozicije raÄunate Jacobijevim algoritmom, nego i generalizirane singularne dekompozicije (GSVD). Temeljem tih istraživanja, SVD baziran na Jacobijevim rotacijama uÅ”ao je i u numeriÄku biblioteku LAPACK. U meÄuvremenu, gotovo sva raÄunala postala su viÅ”ejezgrena, a moderni klasteri raÄunala za znanstveno raÄunanje sastoje se od nekoliko tisuÄa do nekoliko stotina tisuÄa viÅ”ejezgrenih procesora, pa standardni sekvencijalni algoritmi nipoÅ”to viÅ”e nisu primjereni za numeriÄko raÄunanje. Stoga se ubrzano razvijaju paralelni algoritmi koji poÅ”tuju i hijerarhijsku memorijsku strukturu odgovarajuÄih raÄunala, težeÄi iskoristiti brzu cache memoriju za procesiranje potproblema u blokovima, na koje je moguÄe primijeniti BLAS-3 operacije. Ideja blokiranja je u primjeni Å”to viÅ”e (tipiÄno, kubiÄno u dimenziji matrice) numeriÄkih operacija nad podacima u brzoj memoriji. Nadalje, pojavom grafiÄkih procesnih jedinica namijenjenih znanstvenom raÄunanju, kao i drugih visokoparalelnih numeriÄkih akceleratora (npr. Intel Xeon Phi), otvorio se novi segment istraživanja, koji poÅ”tuje njihov masivni paralelizam, s pojedinaÄno slabaÅ”nom snagom svake dretve u odnosu na srediÅ”nji procesor. Generaliziranu singularnu dekompoziciju (GSVD) uveli su Van Loan [77], te Paige i Saunders [62]. Definicija GSVD-a neÅ”to je manje poznata. Ako su zadane matrice i , za koje vrijedi tad postoje unitarne matrice , i matrica , takve da je Elementi matrica i su nula, osim dijagonalnih elemenata, koji su realni i nenegativni. Nadalje, i zadovoljavaju Omjeri su generalizirane singularne vrijednosti para . Ako je punog stupÄanog ranga, tada je i generalizirane singularne vrijednosti su konaÄni brojevi. Ako je par realan, onda su realne sve matrice u dekompoziciji. Odavde nadalje, zbog jednostavnoti pretpostavlja se da je par realan. Može se pokazati da, ako je , tada se relacija izmeÄu GSVD-a i reducirane forme CS (kosinus-sinus) dekompozicije (vidjeti, na primjer, [26]) može iskoristiti za njezino raÄunanje (pogledati, na primjer Älanke Stewarta [72, 73] i Suttona [75]). SliÄno kao i SVD, generalizirana singularna dekompozicija ima primjene u mnogim podruÄjima, kao Å”to je usporedna analiza podataka vezanih uz genome [1], nepotpuna singularna metoda rubnih elemeneata [47], ionosferna tomografija [9], ali i mnogo drugih. GSVD para matrica blisko je vezana s hermitskim generaliziranim svojstvenim problemom za par , tako da se metode za istovremenu dijagonalizaciju para mogu modificirati za raÄunanje GSVD-a para . U ovoj radnji razvijen je brzi i efikasan algoritam za raÄunanje generalizirane singularne dekompozicije realnog para . Metoda razvijena u radnji bazirana je na algoritmu za raÄunanje generalizirane svojstvene dekompozicije, gdje su i simetriÄne matrice, a par je definitan, tj. postoji realna konstanta takva da je matrica pozitivno definitna. Älanke s metodom objavili su 1960. Falk i Langemeyer [31, 32] u slabo poznatom priruÄniku. Kad je paralelna verzija metode testirana, pokazalo se da pati zbog problema rastuÄe skale stupaca matrice tijekom procesa ortogonalizacije. Treba joÅ” primijetiti da pozitivna definitnost matrice odmah znaÄi da je definitan i par . Gotovo desetljeÄe nakon Falka i Langemeyera, Katharina Zimmermann je u svojoj doktorskoj disertaciji [81] grubo skicirala metodu za rjeÅ”avanje generaliziranog svojstvenog problema (1) ako je B pozitivno definitna. Gose [34] je predložio optimalnu ne-cikliÄku pivotnu strategiju i dokazao globalnu konvergenciju originalne metode. Hari je u svojoj disertaciji [37], potaknut Zimmermanninom skicom metode, izveo algoritam i pokazao njegovu globalnu i kvadratiÄnu konvergenciju uz cikliÄke pivotne strategije. KvadratiÄnu konvergenciju originalne FalkāLangemeyerove metode dokazao je 1988. SlapniÄar u svojem magisteriju, Äetiri godine nakon dokaza konvergencije HariāZimmermann metode. Hari je u [37] pokazao kljuÄnu vezu izmeÄu HariāZimmermannine i FalkāLangemeyerove varijante algoritma. Ako je matrica obostrano skalirana dijagonalnom matricom , tako da su joj dijagonalni elementi jednaki 1 prije svakog koraka poniÅ”tavanja u FalkāLangemeyerovoj metodi, dobiva se HariāZimmermannina metoda. Dakle, nova metoda imala je kljuÄno svojstvo normiranosti stupaca barem jedne matrice, Å”to se pokazalo iznimno bitnim za uspjeh algoritma (izbjegavanje skaliranja matrica tijekom procesa ortogonalizacije). Treba reÄi da se GSVD može raÄunati i na druge naÄine. DrmaÄ je u [26] izveo algoritam za raÄunanje GSVD-a para , kad je punog stupÄanog ranga. Algoritam transformira problem na samo jednu matricu, a nakon toga primjenjuje jednostrani Jacobijev SVD algoritam. Taj algoritam raÄuna generalizirane singularne vrijednosti s malom relativnom greÅ”kom. Algoritam svoÄenja na jednu matricu sastoji se od tri koraka: skaliranje stupaca matrica i , QR faktorizacije sa stupÄanim pivotiranjem veÄ skalirane matrice , i konaÄno, rjeÅ”avanjem trokutastog linearnog sustava s desnih strana. Posljednja dva koraka su sekvencijalna i vrlo ih je teÅ”ko paralelizirati. Sama ideja koriÅ”tenja implicitne (tj. jednostrane) FalkāLangemeyerove metode za GSVD para , s punog stupÄanog ranga, sreÄe se u disertaciji Annette Deichmƶller [17], meÄutim, tamo se ne spominju usporedbe te metode s drugim metodama. S druge strane, algoritam za raÄunanje GSVD-a u biblioteci LAPACK (potprogram xGGSVD), je modificirani Kogbetliantzov algoritam (vidjeti Paige [61]) s obveznim pretprocesiranjem (vidjeti Bai i Demmel [5]). Algoritam pretprocesiranja [6] transformira zadani matriÄni par u par , takav da su i gornjetrokutaste, a je i nesingularna. Ako se unaprijed zna da je punog stupÄanog ranga, i implicitna FalkāLangemeyerova i implicitna HariāZimmermannina metoda Äe raditi i bez pretprocesiranja. Ako su i vitke (engl. "tall and skinny"), QR factorizacija obje matrice Äe ubrzati ortogonalizaciju. Ako nije punog ranga, onda treba koristiti isto pretprocesiranje kao u LAPACK-u, buduÄi da puni stupÄani rang matrice garantira pozitivnu definitnost matrice . U ovoj radnji razvijen je i hijerarhijski, blokirani jednostrani algoritam za raÄunanje SVD-a. Opisani algoritam može raditi na viÅ”eprocesorskom raÄunalu, raÄunalnim klasterima, jednoj ili viÅ”e grafiÄkih procesnih jedinica. Princip rada algoritma na svim arhitekturama je sliÄan. Posebno je opisan algoritam koji radi na grafiÄkim procesnim jedinicama. Struktura blokiranja reflektira razine memorijske strukture grafiÄke procesne jedninice. Da bi se to postiglo, razvijene su familije paralelnih pivotnih strategija za dijeljenu (engl. shared) memoriju grafiÄkih procesnih jedinica. Uz dodatak rasporeda po procesima, strategije se mogu koristiti i kao strategije za komuniciranje meÄu raÄunalnim Ävorovima (bili oni grafiÄke procesne jedinice, jezgre procesora ili tzv. NUMA Ävorovi). Razvijeni algoritam nije hibridni, tj. centralnu procesnu jedinicu koristi samo za kontrolne svrhe, a cjelokupno raÄunanje odvija se na grafiÄkoj procesnoj jedinici. Kad je zbog veliÄine problema potrebno, algoritam se može rasprostrijeti (skalirati) na proizvoljan broj grafiÄkih procesnih jedinica. Na dovoljno velikim matricama, skalabilnost je pokazana ubrzanjem od preko dva puta na Äetiri grafiÄke procesne jedinice, obzirom na jednu. U drugom dijelu radnje opisuje se jedan naÄin modifikacije dvostranog HariāZimmermanninog algoritma za raÄunanje generalizirane svojstvene dekompozicije matriÄnog para , gdje su obje matrice simetriÄne, a je pozitivno definitna. Implicitni algoritam raÄuna GSVD para , pri Äemu je . Nadalje, pokazuje se kako treba blokirati algoritam, te kako ga paralelizirati, i u sluÄaju standardnih, i u sluÄaju grafiÄkih procesora. Za trokutaste matriÄne parove srednje velikih dimenzija (približno 5 000), pokazano je da je veÄ sekvencijalni, neblokirani algoritam u dvostrukoj toÄnosti, predložen u radnji, nekoliko desetaka puta brži no Å”to je to LAPACK potprogram DTGSJA i pritom ima neÅ”to bolju toÄnost, posebno za male generalizirane singularne vrijednosti. Blokiranje algoritma koje odgovara cacheima znatno ubrzava algoritam. Pokazuje se da je i ovaj algoritam, sliÄno kao jednostrani Jacobijev algoritam za SVD, gotovo idealno paralelizabilan i skalabilan na raÄunalima s dijeljenom memorijom, te da njegovo ubrzanje gotovo iskljuÄivo ovisi o broju koriÅ”tenih jezgara. U vrijeme testiranja, pokazalo se da je paralelizirani i blokirani HariāZimmermannin algoritam preko sto puta brži od LAPACK potprograma DTGESJA s viÅ”edretvenim BLAS potprogramima. Varijanta algoritma za razdijeljenu (engl. distributed) memoriju namijenjena je ogromnim matricama koje ne stanu u jedan NUMA Ävor. TakoÄer, skicirana je i GPU varijanta algoritma, koja je vrlo sliÄna jednostranom Jacobijevom algoritmu za SVD. Disertacija zavrÅ”ava zakljuÄkom da su ovi algoritmi Jacobijevog tipa efikasni i skalabilni i izvrstan su izbor za raÄunanje (G)SVD-a punih matrica na masivno paralelnim standardnim arhitekturama i na grafiÄkim procesnim jedinicama. Ova doktorska disertacija bazirana je na originalnim znanstvenim radovima [55, 58], te proÅ”irena nekim novim rezultatima. Autorov doprinos u ovoj disertaciji su novi paralelni algoritmi za (G)SVD za grafiÄke procesne jedinice, tehnike paralelizacije, te detalji implementacije jednostranog HariāZimmermannina algoritma. Ostatak je zajedniÄki rad sa Sanjom Singer i SaÅ”om Singerom. Diane OāLeary, 2006. https://www.top500.or
Paralelni algoritmi Jacobijeva tipa za singularnu i generaliziranu singularnu dekompoziciju
In this thesis, a hierarchically blocked one-sided Jacobi algorithm for the singular value decomposition (SVD) is presented. The algorithm targets both single and multiple graphics processing units (GPUs). The blocking structure reflects the levels of the GPUās memory hierarchy. To this end, a family of parallel pivot strategies on the GPUās shared address space has been developed, but the strategies are applicable to inter-node communication as well, with GPU nodes, CPU nodes, or, in general, any NUMA nodes. Unlike common hybrid approaches, the presented algorithm in a single-GPU setting needs a CPU for the controlling purposes only, while utilizing the GPUās resources to the fullest extent permitted by the hardware. When required by the problem size, the algorithm, in principle, scales to an arbitrary number of GPU nodes. The scalability is demonstrated by more than twofold speedup for sufficiently large matrices on a four-GPU system vs. a single GPU. The subsequent part of the thesis describes how to modify the two-sided HariāZimmermann algorithm for computation of the generalized eigendecomposition of a symmetric matrix pair (A; B), where B is positive definite, to an implicit algorithm that computes the generalized singular value decomposition (GSVD) of a pair (F; G). In addition, blocking and parallelization techniques for accelerating both the CPU and the GPU computation are presented, with the GPU approach following the Jacobi SVD algorithm from the first part of the thesis. For triangular matrix pairs of a moderate size, numerical tests show that the double precision sequential pointwise algorithm is several times faster than the established DTGSJA algorithm in LAPACK, while the accuracy is slightly better, especially for the small generalized singular values. Cache-aware blocking increases the performance even further. As with the one-sided Jacobi-type (G)SVD algorithms in general, the presented algorithm is almost perfectly parallelizable and scalable on the shared memory machines, where the speedup almost solely depends on the number of cores used. A distributed memory variant, intended for huge matrices that do not fit into a single NUMA node, as well as a GPU variant, are also sketched. The thesis concludes with the affirmative answer to a question whether the onesided Jacobi-type algorithms can be an efficient and scalable choice for computing the (G)SVD of dense matrices on the massively parallel CPU and GPU architectures. Unless otherwise noted by the inline citations or implied by the context, this thesis is an overview of the original research results, most of which has already been published in [55, 58]. The authorās contributions are the one-sided Jacobi-type GPU algorithms for the ordinary and the generalized SVD, of which the latter has not yet been published, as well as the parallelization technique and some implementation details of the one-sided HariāZimmermann CPU algorithm for the GSVD. The rest is joint work with Sanja and SaÅ”a Singer.Singularna dekompozicija, katkad zvana prema engleskom originalu i dekompozicija singularnih vrijednosti, ili kraÄe SVD, jedna je od najkorisnijih matriÄnih dekompozicija, kako za teorijske, tako i za praktiÄne svrhe. Svaka matrica (zbog jednostavnijeg zapisa, uobiÄajeno se smatra da je ; u protivnom, traži se SVD matrice ) može se rastaviti u produkt tri matrice gdje su i unitarne, a je 'dijagonalna' s nenegativnim dijagonalnim elementima. Osim ovog oblika dekompozicije, koristi se i skraÄeni oblik pri Äemu je matrica s ortonormiranim stupcima, a za , je sada stvarno dijagonalna. Izvan matematike, u 'stvarnom' životu, SVD se koristi u procesiranju slika (rekonstrukciji, sažimanju, izoÅ”travanju) i signala, s primjenama u medicini (CT, tj. kompjuterizirana tomografija; MR, tj. magnetna rezonancija), geoznanostima, znanosti o materijalima, kristalografiji, sigurnosti (prepoznavanje lica), izvlaÄenja informacija iz velike koliÄine podataka (na primjer, LSI, tj. latent semantic indexing), ali i drugdje. VeÄina primjena koristi svojstvo da se iz SVD-a lako Äita najbolja aproksimacija dane matrice matricom fiksnog (niskog) ranga. Äini se da je lakÅ”e reÄi gdje se SVD ne koristi, nego gdje se koristi, stoga se SVD Äesto naziva i "Å”vicarskim nožiÄem matriÄnih dekompozicija". Prvi poÄeci razvoja SVD-a sežu u 19. stoljeÄe, kad su poznati matematiÄari Eugenio Beltrami, Camille Jordan, James Joseph Sylvester, Erhard Schmidt i Herman Weyl pokazali njezinu egzistenciju i osnovna svojstva (za detalje pogledati [74]). Pioniri u numeriÄkom raÄunanju SVD-a su Ervand George Kogbetliantz, te Gene Golub i William Kahan, koji su razvili algoritam za raÄunanje (bidijagonalni QR), koji je dvadeset i pet godina vladao scenom numeriÄkog raÄunanja SVD-a. U to vrijeme, sveuÄiliÅ”te Stanford (gdje je Gene Golub radio) bilo je 'glavno sjediÅ”te' za razvoj primjena SVD-a. PoÄetkom devedesetih godina, 'sjediÅ”te SVD-a' preseljeno je u Europu, nakon objave Älanka [21] o relativnoj toÄnosti raÄunanja svojstvenih vrijednosti simetriÄnih pozitivno definitnih matrica koriÅ”tenjem Jacobijeve metode. Naime, problem raÄunanja svojstvene dekompozicije pozitivno definitne matrice i problem raÄunanja SVD-a usko su vezani. Ako je poznata dekompozicija singularnih vrijednosti matrice punog stupÄanog ranga, , pri Äemu je faktor matrice , , onda je simetriÄna i pozitivno definitna i vrijedi Matrica je matrica svojstvenih vektora, a svojstvene vrijednosti su kvadrati singularnih vrijednosti. Stoga se algoritmi za raÄunanje svojstvenih vrijednosti, kod kojih se transformacija vrÅ”i dvostranim (i slijeva i zdesna) djelovanjem na matricu , mogu napisati implicitno, tako da se transformacija vrÅ”i ili zdesna na faktor ili slijeva na faktor . U svojoj doktorskoj disertaciji DrmaÄ [24] je napravio daljnju analizu, ne samo singularne dekompozicije raÄunate Jacobijevim algoritmom, nego i generalizirane singularne dekompozicije (GSVD). Temeljem tih istraživanja, SVD baziran na Jacobijevim rotacijama uÅ”ao je i u numeriÄku biblioteku LAPACK. U meÄuvremenu, gotovo sva raÄunala postala su viÅ”ejezgrena, a moderni klasteri raÄunala za znanstveno raÄunanje sastoje se od nekoliko tisuÄa do nekoliko stotina tisuÄa viÅ”ejezgrenih procesora, pa standardni sekvencijalni algoritmi nipoÅ”to viÅ”e nisu primjereni za numeriÄko raÄunanje. Stoga se ubrzano razvijaju paralelni algoritmi koji poÅ”tuju i hijerarhijsku memorijsku strukturu odgovarajuÄih raÄunala, težeÄi iskoristiti brzu cache memoriju za procesiranje potproblema u blokovima, na koje je moguÄe primijeniti BLAS-3 operacije. Ideja blokiranja je u primjeni Å”to viÅ”e (tipiÄno, kubiÄno u dimenziji matrice) numeriÄkih operacija nad podacima u brzoj memoriji. Nadalje, pojavom grafiÄkih procesnih jedinica namijenjenih znanstvenom raÄunanju, kao i drugih visokoparalelnih numeriÄkih akceleratora (npr. Intel Xeon Phi), otvorio se novi segment istraživanja, koji poÅ”tuje njihov masivni paralelizam, s pojedinaÄno slabaÅ”nom snagom svake dretve u odnosu na srediÅ”nji procesor. Generaliziranu singularnu dekompoziciju (GSVD) uveli su Van Loan [77], te Paige i Saunders [62]. Definicija GSVD-a neÅ”to je manje poznata. Ako su zadane matrice i , za koje vrijedi tad postoje unitarne matrice , i matrica , takve da je Elementi matrica i su nula, osim dijagonalnih elemenata, koji su realni i nenegativni. Nadalje, i zadovoljavaju Omjeri su generalizirane singularne vrijednosti para . Ako je punog stupÄanog ranga, tada je i generalizirane singularne vrijednosti su konaÄni brojevi. Ako je par realan, onda su realne sve matrice u dekompoziciji. Odavde nadalje, zbog jednostavnoti pretpostavlja se da je par realan. Može se pokazati da, ako je , tada se relacija izmeÄu GSVD-a i reducirane forme CS (kosinus-sinus) dekompozicije (vidjeti, na primjer, [26]) može iskoristiti za njezino raÄunanje (pogledati, na primjer Älanke Stewarta [72, 73] i Suttona [75]). SliÄno kao i SVD, generalizirana singularna dekompozicija ima primjene u mnogim podruÄjima, kao Å”to je usporedna analiza podataka vezanih uz genome [1], nepotpuna singularna metoda rubnih elemeneata [47], ionosferna tomografija [9], ali i mnogo drugih. GSVD para matrica blisko je vezana s hermitskim generaliziranim svojstvenim problemom za par , tako da se metode za istovremenu dijagonalizaciju para mogu modificirati za raÄunanje GSVD-a para . U ovoj radnji razvijen je brzi i efikasan algoritam za raÄunanje generalizirane singularne dekompozicije realnog para . Metoda razvijena u radnji bazirana je na algoritmu za raÄunanje generalizirane svojstvene dekompozicije, gdje su i simetriÄne matrice, a par je definitan, tj. postoji realna konstanta takva da je matrica pozitivno definitna. Älanke s metodom objavili su 1960. Falk i Langemeyer [31, 32] u slabo poznatom priruÄniku. Kad je paralelna verzija metode testirana, pokazalo se da pati zbog problema rastuÄe skale stupaca matrice tijekom procesa ortogonalizacije. Treba joÅ” primijetiti da pozitivna definitnost matrice odmah znaÄi da je definitan i par . Gotovo desetljeÄe nakon Falka i Langemeyera, Katharina Zimmermann je u svojoj doktorskoj disertaciji [81] grubo skicirala metodu za rjeÅ”avanje generaliziranog svojstvenog problema (1) ako je B pozitivno definitna. Gose [34] je predložio optimalnu ne-cikliÄku pivotnu strategiju i dokazao globalnu konvergenciju originalne metode. Hari je u svojoj disertaciji [37], potaknut Zimmermanninom skicom metode, izveo algoritam i pokazao njegovu globalnu i kvadratiÄnu konvergenciju uz cikliÄke pivotne strategije. KvadratiÄnu konvergenciju originalne FalkāLangemeyerove metode dokazao je 1988. SlapniÄar u svojem magisteriju, Äetiri godine nakon dokaza konvergencije HariāZimmermann metode. Hari je u [37] pokazao kljuÄnu vezu izmeÄu HariāZimmermannine i FalkāLangemeyerove varijante algoritma. Ako je matrica obostrano skalirana dijagonalnom matricom , tako da su joj dijagonalni elementi jednaki 1 prije svakog koraka poniÅ”tavanja u FalkāLangemeyerovoj metodi, dobiva se HariāZimmermannina metoda. Dakle, nova metoda imala je kljuÄno svojstvo normiranosti stupaca barem jedne matrice, Å”to se pokazalo iznimno bitnim za uspjeh algoritma (izbjegavanje skaliranja matrica tijekom procesa ortogonalizacije). Treba reÄi da se GSVD može raÄunati i na druge naÄine. DrmaÄ je u [26] izveo algoritam za raÄunanje GSVD-a para , kad je punog stupÄanog ranga. Algoritam transformira problem na samo jednu matricu, a nakon toga primjenjuje jednostrani Jacobijev SVD algoritam. Taj algoritam raÄuna generalizirane singularne vrijednosti s malom relativnom greÅ”kom. Algoritam svoÄenja na jednu matricu sastoji se od tri koraka: skaliranje stupaca matrica i , QR faktorizacije sa stupÄanim pivotiranjem veÄ skalirane matrice , i konaÄno, rjeÅ”avanjem trokutastog linearnog sustava s desnih strana. Posljednja dva koraka su sekvencijalna i vrlo ih je teÅ”ko paralelizirati. Sama ideja koriÅ”tenja implicitne (tj. jednostrane) FalkāLangemeyerove metode za GSVD para , s punog stupÄanog ranga, sreÄe se u disertaciji Annette Deichmƶller [17], meÄutim, tamo se ne spominju usporedbe te metode s drugim metodama. S druge strane, algoritam za raÄunanje GSVD-a u biblioteci LAPACK (potprogram xGGSVD), je modificirani Kogbetliantzov algoritam (vidjeti Paige [61]) s obveznim pretprocesiranjem (vidjeti Bai i Demmel [5]). Algoritam pretprocesiranja [6] transformira zadani matriÄni par u par , takav da su i gornjetrokutaste, a je i nesingularna. Ako se unaprijed zna da je punog stupÄanog ranga, i implicitna FalkāLangemeyerova i implicitna HariāZimmermannina metoda Äe raditi i bez pretprocesiranja. Ako su i vitke (engl. "tall and skinny"), QR factorizacija obje matrice Äe ubrzati ortogonalizaciju. Ako nije punog ranga, onda treba koristiti isto pretprocesiranje kao u LAPACK-u, buduÄi da puni stupÄani rang matrice garantira pozitivnu definitnost matrice . U ovoj radnji razvijen je i hijerarhijski, blokirani jednostrani algoritam za raÄunanje SVD-a. Opisani algoritam može raditi na viÅ”eprocesorskom raÄunalu, raÄunalnim klasterima, jednoj ili viÅ”e grafiÄkih procesnih jedinica. Princip rada algoritma na svim arhitekturama je sliÄan. Posebno je opisan algoritam koji radi na grafiÄkim procesnim jedinicama. Struktura blokiranja reflektira razine memorijske strukture grafiÄke procesne jedninice. Da bi se to postiglo, razvijene su familije paralelnih pivotnih strategija za dijeljenu (engl. shared) memoriju grafiÄkih procesnih jedinica. Uz dodatak rasporeda po procesima, strategije se mogu koristiti i kao strategije za komuniciranje meÄu raÄunalnim Ävorovima (bili oni grafiÄke procesne jedinice, jezgre procesora ili tzv. NUMA Ävorovi). Razvijeni algoritam nije hibridni, tj. centralnu procesnu jedinicu koristi samo za kontrolne svrhe, a cjelokupno raÄunanje odvija se na grafiÄkoj procesnoj jedinici. Kad je zbog veliÄine problema potrebno, algoritam se može rasprostrijeti (skalirati) na proizvoljan broj grafiÄkih procesnih jedinica. Na dovoljno velikim matricama, skalabilnost je pokazana ubrzanjem od preko dva puta na Äetiri grafiÄke procesne jedinice, obzirom na jednu. U drugom dijelu radnje opisuje se jedan naÄin modifikacije dvostranog HariāZimmermanninog algoritma za raÄunanje generalizirane svojstvene dekompozicije matriÄnog para , gdje su obje matrice simetriÄne, a je pozitivno definitna. Implicitni algoritam raÄuna GSVD para , pri Äemu je . Nadalje, pokazuje se kako treba blokirati algoritam, te kako ga paralelizirati, i u sluÄaju standardnih, i u sluÄaju grafiÄkih procesora. Za trokutaste matriÄne parove srednje velikih dimenzija (približno 5 000), pokazano je da je veÄ sekvencijalni, neblokirani algoritam u dvostrukoj toÄnosti, predložen u radnji, nekoliko desetaka puta brži no Å”to je to LAPACK potprogram DTGSJA i pritom ima neÅ”to bolju toÄnost, posebno za male generalizirane singularne vrijednosti. Blokiranje algoritma koje odgovara cacheima znatno ubrzava algoritam. Pokazuje se da je i ovaj algoritam, sliÄno kao jednostrani Jacobijev algoritam za SVD, gotovo idealno paralelizabilan i skalabilan na raÄunalima s dijeljenom memorijom, te da njegovo ubrzanje gotovo iskljuÄivo ovisi o broju koriÅ”tenih jezgara. U vrijeme testiranja, pokazalo se da je paralelizirani i blokirani HariāZimmermannin algoritam preko sto puta brži od LAPACK potprograma DTGESJA s viÅ”edretvenim BLAS potprogramima. Varijanta algoritma za razdijeljenu (engl. distributed) memoriju namijenjena je ogromnim matricama koje ne stanu u jedan NUMA Ävor. TakoÄer, skicirana je i GPU varijanta algoritma, koja je vrlo sliÄna jednostranom Jacobijevom algoritmu za SVD. Disertacija zavrÅ”ava zakljuÄkom da su ovi algoritmi Jacobijevog tipa efikasni i skalabilni i izvrstan su izbor za raÄunanje (G)SVD-a punih matrica na masivno paralelnim standardnim arhitekturama i na grafiÄkim procesnim jedinicama. Ova doktorska disertacija bazirana je na originalnim znanstvenim radovima [55, 58], te proÅ”irena nekim novim rezultatima. Autorov doprinos u ovoj disertaciji su novi paralelni algoritmi za (G)SVD za grafiÄke procesne jedinice, tehnike paralelizacije, te detalji implementacije jednostranog HariāZimmermannina algoritma. Ostatak je zajedniÄki rad sa Sanjom Singer i SaÅ”om Singerom. Diane OāLeary, 2006. https://www.top500.or