N. Heavner, F. D. Igual, G. Quintana-Ortí, P.G. Martinsson
{"title":"算法xxx:在并行计算架构上计算显示秩的UTV分解的有效算法","authors":"N. Heavner, F. D. Igual, G. Quintana-Ortí, P.G. Martinsson","doi":"10.1145/3507466","DOIUrl":null,"url":null,"abstract":"\n The randomized singular value decomposition (RSVD) is by now a well established technique for efficiently computing an approximate singular value decomposition of a matrix. Building on the ideas that underpin the RSVD, the recently proposed algorithm “randUTV” computes a\n full\n factorization of a given matrix that provides low-rank approximations with near-optimal error. Because the bulk of\n randUTV\n is cast in terms of communication-efficient operations like matrix-matrix multiplication and unpivoted QR factorizations, it is faster than competing rank-revealing factorization methods like column-pivoted QR in most high performance computational settings. In this article, optimized\n randUTV\n implementations are presented for both shared-memory and distributed-memory computing environments. For shared memory,\n randUTV\n is redesigned in terms of an\n algorithm-by-blocks\n that, together with a runtime task scheduler, eliminates bottlenecks from data synchronization points to achieve acceleration over the standard\n blocked algorithm\n , based on a purely fork-join approach. The distributed-memory implementation is based on the ScaLAPACK library. The performances of our new codes compare favorably with competing factorizations available on both shared-memory and distributed-memory architectures.\n","PeriodicalId":50935,"journal":{"name":"ACM Transactions on Mathematical Software","volume":" ","pages":""},"PeriodicalIF":2.7000,"publicationDate":"2022-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Algorithm xxx: Efficient algorithms for computing a rank-revealing UTV factorization on parallel computing architectures\",\"authors\":\"N. Heavner, F. D. Igual, G. Quintana-Ortí, P.G. Martinsson\",\"doi\":\"10.1145/3507466\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"\\n The randomized singular value decomposition (RSVD) is by now a well established technique for efficiently computing an approximate singular value decomposition of a matrix. Building on the ideas that underpin the RSVD, the recently proposed algorithm “randUTV” computes a\\n full\\n factorization of a given matrix that provides low-rank approximations with near-optimal error. Because the bulk of\\n randUTV\\n is cast in terms of communication-efficient operations like matrix-matrix multiplication and unpivoted QR factorizations, it is faster than competing rank-revealing factorization methods like column-pivoted QR in most high performance computational settings. In this article, optimized\\n randUTV\\n implementations are presented for both shared-memory and distributed-memory computing environments. For shared memory,\\n randUTV\\n is redesigned in terms of an\\n algorithm-by-blocks\\n that, together with a runtime task scheduler, eliminates bottlenecks from data synchronization points to achieve acceleration over the standard\\n blocked algorithm\\n , based on a purely fork-join approach. The distributed-memory implementation is based on the ScaLAPACK library. The performances of our new codes compare favorably with competing factorizations available on both shared-memory and distributed-memory architectures.\\n\",\"PeriodicalId\":50935,\"journal\":{\"name\":\"ACM Transactions on Mathematical Software\",\"volume\":\" \",\"pages\":\"\"},\"PeriodicalIF\":2.7000,\"publicationDate\":\"2022-03-25\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"ACM Transactions on Mathematical Software\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://doi.org/10.1145/3507466\",\"RegionNum\":1,\"RegionCategory\":\"数学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q2\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM Transactions on Mathematical Software","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1145/3507466","RegionNum":1,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
Algorithm xxx: Efficient algorithms for computing a rank-revealing UTV factorization on parallel computing architectures
The randomized singular value decomposition (RSVD) is by now a well established technique for efficiently computing an approximate singular value decomposition of a matrix. Building on the ideas that underpin the RSVD, the recently proposed algorithm “randUTV” computes a
full
factorization of a given matrix that provides low-rank approximations with near-optimal error. Because the bulk of
randUTV
is cast in terms of communication-efficient operations like matrix-matrix multiplication and unpivoted QR factorizations, it is faster than competing rank-revealing factorization methods like column-pivoted QR in most high performance computational settings. In this article, optimized
randUTV
implementations are presented for both shared-memory and distributed-memory computing environments. For shared memory,
randUTV
is redesigned in terms of an
algorithm-by-blocks
that, together with a runtime task scheduler, eliminates bottlenecks from data synchronization points to achieve acceleration over the standard
blocked algorithm
, based on a purely fork-join approach. The distributed-memory implementation is based on the ScaLAPACK library. The performances of our new codes compare favorably with competing factorizations available on both shared-memory and distributed-memory architectures.
期刊介绍:
As a scientific journal, ACM Transactions on Mathematical Software (TOMS) documents the theoretical underpinnings of numeric, symbolic, algebraic, and geometric computing applications. It focuses on analysis and construction of algorithms and programs, and the interaction of programs and architecture. Algorithms documented in TOMS are available as the Collected Algorithms of the ACM at calgo.acm.org.