Jérémy Berthomieu, S. Graillat, Dimitri Lesnoff, Théo Mary
{"title":"Modular Matrix Multiplication on GPU for Polynomial System Solving","authors":"Jérémy Berthomieu, S. Graillat, Dimitri Lesnoff, Théo Mary","doi":"10.1145/3614408.3614411","DOIUrl":null,"url":null,"abstract":"The bottleneck of the SPARSE-FGLM algorithm for Gröbner bases change of order is an iterative matrix - tall and skinny matrix product over a finite prime field. Our contribution is twofold. First, we port existing CPU-only algorithms for matrix products over prime fields to GPU architectures, and carry out a performance analysis of our implementation that shows that we can nearly achieve the maximum theoretical throughput of the hardware. Second, existing CPU-only algorithms could not handle primes with more than 26 bits, other than the GMP-based implementation in FLINT; we overcome this limitation by proposing an efficient multiword matrix product algorithm that can deal with primes with at most 35 bits; we benchmarked it on GPU.","PeriodicalId":41965,"journal":{"name":"ACM Communications in Computer Algebra","volume":"57 1","pages":"35 - 38"},"PeriodicalIF":0.4000,"publicationDate":"2023-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM Communications in Computer Algebra","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3614408.3614411","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"MATHEMATICS, APPLIED","Score":null,"Total":0}
引用次数: 1
Abstract
The bottleneck of the SPARSE-FGLM algorithm for Gröbner bases change of order is an iterative matrix - tall and skinny matrix product over a finite prime field. Our contribution is twofold. First, we port existing CPU-only algorithms for matrix products over prime fields to GPU architectures, and carry out a performance analysis of our implementation that shows that we can nearly achieve the maximum theoretical throughput of the hardware. Second, existing CPU-only algorithms could not handle primes with more than 26 bits, other than the GMP-based implementation in FLINT; we overcome this limitation by proposing an efficient multiword matrix product algorithm that can deal with primes with at most 35 bits; we benchmarked it on GPU.