Lineal: An Efficient Linear Algebra Library

preprint OA: closed
Full text JSON View at publisher

Abstract

Abstract This paper introduces Lineal, a new C++20 linear algebra library designed to solve large sparse linear systems arising from PDE discretization on attainable hardware by optimizing runtime and especially memory consumption. Lineal supports matrix-free linear systems for stencil-based problems, which can store a single value per cell to minimize memory use. This can be paired with MAMGO, Lineal’s Algebraic Multi-Grid implementation based on the algorithm used in DUNE ISTL, using a matrix-free linear system on the finest level and Compressed Sparse Row (CSR) matrices on coarser levels, drastically reducing memory consumption on the finest, and largest, level—a novel approach to our knowledge. It can additionally be combined with Lineal’s very flexible support for mixed precision to minimize memory use and the effect of reduced precision on convergence. Almost all components are fully multithreaded and many support explicit SIMD operations and/or tiling. The main evaluation—solving the stationary diffusion problem using two sets of high-resolution scans of soil samples—shows Lineal’s very good strong scaling and the effectiveness of the optimizations implemented. On the smaller dataset, Lineal outperforms hypre’s BoomerAMG, DUNE ISTL, and Ginkgo, requiring less than half the runtime and memory with CSR matrices and less than a quarter with the hybrid matrix-free approach. Only Lineal can handle the larger dataset on the test system due to its lower memory use. Additional evaluation using the SPE10 Model 2 benchmark further highlights Lineal’s strong performance and potential areas for improvement. MSC Classification: 65F10 , 65F50 , 65N22 , 65N55 , 65Y05 , 65Y15 , 65Y20
Full text 11,940 characters · extracted from preprint-html · click to expand
Lineal: An Efficient Linear Algebra Library | Research Square window.SnipcartSettings = { analytics: { enabled: false } }; (function() { var accessVector = localStorage.getItem('access_vector') || ''; window.dataLayer = window.dataLayer || []; if (accessVector) { window.dataLayer.push({ user: { profile: { profileInfo: { snid: accessVector } } } }); } })(); (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-K279D39R'); Browse Preprints In Review Journals COVID-19 Preprints AJE Video Bytes Research Tools Research Promotion AJE Professional Editing AJE Rubriq About Preprint Platform In Review Editorial Policies Our Team Advisory Board Help Center Sign In Submit a Preprint Cite Share Download PDF Research Article Lineal: An Efficient Linear Algebra Library Kurt Böhm, Olaf Ippisch This is a preprint; it has not been peer reviewed by a journal. https://doi.org/ 10.21203/rs.3.rs-6329564/v1 This work is licensed under a CC BY 4.0 License Status: Posted Version 1 posted You are reading this latest preprint version Abstract This paper introduces Lineal, a new C++20 linear algebra library designed to solve large sparse linear systems arising from PDE discretization on attainable hardware by optimizing runtime and especially memory consumption. Lineal supports matrix-free linear systems for stencil-based problems, which can store a single value per cell to minimize memory use. This can be paired with MAMGO, Lineal’s Algebraic Multi-Grid implementation based on the algorithm used in DUNE ISTL, using a matrix-free linear system on the finest level and Compressed Sparse Row (CSR) matrices on coarser levels, drastically reducing memory consumption on the finest, and largest, level—a novel approach to our knowledge. It can additionally be combined with Lineal’s very flexible support for mixed precision to minimize memory use and the effect of reduced precision on convergence. Almost all components are fully multithreaded and many support explicit SIMD operations and/or tiling. The main evaluation—solving the stationary diffusion problem using two sets of high-resolution scans of soil samples—shows Lineal’s very good strong scaling and the effectiveness of the optimizations implemented. On the smaller dataset, Lineal outperforms hypre’s BoomerAMG, DUNE ISTL, and Ginkgo, requiring less than half the runtime and memory with CSR matrices and less than a quarter with the hybrid matrix-free approach. Only Lineal can handle the larger dataset on the test system due to its lower memory use. Additional evaluation using the SPE10 Model 2 benchmark further highlights Lineal’s strong performance and potential areas for improvement. MSC Classification: 65F10 , 65F50 , 65N22 , 65N55 , 65Y05 , 65Y15 , 65Y20 Iterative Solvers Algebraic Multigrid Matrix-free Methods Mixed Precision Multithreading Full Text Additional Declarations No competing interests reported. Supplementary Files sm1microporosities.csv sm2dependencies.pdf sm3measurements.pdf Cite Share Download PDF Status: Posted Version 1 posted You are reading this latest preprint version Research Square lets you share your work early, gain feedback from the community, and start making changes to your manuscript prior to peer review in a journal. As a division of Research Square Company, we’re committed to making research communication faster, fairer, and more useful. We do this by developing innovative software and high quality services for the global research community. Our growing team is made up of researchers and industry professionals working together to solve the most critical problems facing scientific publishing. Also discoverable on Platform About Our Team In Review Editorial Policies Advisory Board Help Center Resources Author Services Accessibility API Access RSS feed Manage Cookie Preferences © Research Square 2026 | ISSN 2693-5015 (online) Privacy Policy Terms of Service Do Not Sell My Personal Information {"props":{"pageProps":{"initialData":{"identity":"rs-6329564","acceptedTermsAndConditions":true,"allowDirectSubmit":true,"archivedVersions":[],"articleType":"Research Article","associatedPublications":[],"authors":[{"id":456626146,"identity":"3899f0bc-5de9-4380-bf20-1359d1fac732","order_by":0,"name":"Kurt Böhm","email":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAAyAQMAAABI0h/eAAAABlBMVEX///8AAABVwtN+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABF0lEQVRIie2PsWrDMBCGTwQyndOtyLQor2DRoS2YPEtMQF4c6AMUahBkKp1d0odwt4yGQr3oAQwa6hJolgwphWYLlZJVbjp20DdIB9L33x2Ax/MPofYgOUAEvcrW5/boAVwBVJ0KyQ9KPzEXoI2Q+4fjCvK/KWExXbVkEbPLU7VdIozwpEhXy5tbCoM6dypnNOU5UeLiej59lggTpE3GZfFKIVTuNowKM9jsJSm1UYJdhdBkRGKfQtSMf1XuSp29my4VDpvUFDujvLUdgx2UcaRtuFFMOJfBzHbpWP/+gxSJErzUgj8+mV24WvN58EAxVO7BaC1g87mIh5GetJs1jBir0/YLv2M2qN3r73GmYfd/j8fj8RzjBxA0XgMnYJbrAAAAAElFTkSuQmCC","orcid":"","institution":"Clausthal University of Technology","correspondingAuthor":true,"prefix":"","firstName":"Kurt","middleName":"","lastName":"Böhm","suffix":""},{"id":456626147,"identity":"a0bde5fe-cf0d-41fa-9b8f-11ef0ef39073","order_by":1,"name":"Olaf Ippisch","email":"","orcid":"","institution":"Clausthal University of Technology","correspondingAuthor":false,"prefix":"","firstName":"Olaf","middleName":"","lastName":"Ippisch","suffix":""}],"badges":[],"createdAt":"2025-03-28 15:53:17","currentVersionCode":1,"declarations":"","doi":"10.21203/rs.3.rs-6329564/v1","doiUrl":"https://doi.org/10.21203/rs.3.rs-6329564/v1","draftVersion":[],"editorialEvents":[],"editorialNote":"","failedWorkflow":false,"files":[{"id":82770878,"identity":"1e97ffd0-9261-4a28-93ef-2aa3f2bd9b6f","added_by":"auto","created_at":"2025-05-15 06:15:07","extension":"pdf","order_by":1,"title":"","display":"","copyAsset":false,"role":"manuscript-pdf","size":12840045,"visible":true,"origin":"","legend":"","description":"","filename":"springer.pdf","url":"https://assets-eu.researchsquare.com/files/rs-6329564/v1_covered_de2abc9b-9ee2-423e-ab11-d03bfdadd775.pdf"},{"id":82770301,"identity":"9592d956-eda3-4184-83b9-5267f1ab74fd","added_by":"auto","created_at":"2025-05-15 06:07:01","extension":"csv","order_by":0,"title":"","display":"","copyAsset":false,"role":"supplement","size":1831,"visible":true,"origin":"","legend":"","description":"","filename":"sm1microporosities.csv","url":"https://assets-eu.researchsquare.com/files/rs-6329564/v1/7457a38c9c0404295becc803.csv"},{"id":82770303,"identity":"216c5136-5868-46b1-b6db-57b788a5148f","added_by":"auto","created_at":"2025-05-15 06:07:01","extension":"pdf","order_by":1,"title":"","display":"","copyAsset":false,"role":"supplement","size":86457,"visible":true,"origin":"","legend":"","description":"","filename":"sm2dependencies.pdf","url":"https://assets-eu.researchsquare.com/files/rs-6329564/v1/1526778e595f2b81b56e5cb5.pdf"},{"id":82770304,"identity":"dbd2c879-6e7b-4183-ad2c-35ba2ad9bd7e","added_by":"auto","created_at":"2025-05-15 06:07:03","extension":"pdf","order_by":2,"title":"","display":"","copyAsset":false,"role":"supplement","size":150053,"visible":true,"origin":"","legend":"","description":"","filename":"sm3measurements.pdf","url":"https://assets-eu.researchsquare.com/files/rs-6329564/v1/a62a24265a67f98a9a52559f.pdf"}],"financialInterests":"No competing interests reported.","formattedTitle":"Lineal: An Efficient Linear Algebra Library","fulltext":[],"fulltextSource":"","fullText":"","funders":[],"hasAdminPriorityOnWorkflow":false,"hasManuscriptDocX":false,"hasOptedInToPreprint":true,"hasPassedJournalQc":"","hasAnyPriority":false,"hideJournal":true,"highlight":"","institution":"","isAcceptedByJournal":true,"isAuthorSuppliedPdf":true,"isDeskRejected":"","isHiddenFromSearch":false,"isInQc":false,"isInWorkflow":false,"isPdf":true,"isPdfUpToDate":true,"isWithdrawnOrRetracted":false,"journal":{"display":true,"email":"[email protected]","identity":"researchsquare","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":true,"externalIdentity":"","sideBox":"","snPcode":"","submissionUrl":"/submission","title":"Research Square","twitterHandle":"researchsquare","acdcEnabled":true,"dfaEnabled":false,"editorialSystem":"","reportingPortfolio":"","inReviewEnabled":false,"inReviewRevisionsEnabled":true},"keywords":"Iterative Solvers, Algebraic Multigrid, Matrix-free Methods, Mixed Precision, Multithreading","lastPublishedDoi":"10.21203/rs.3.rs-6329564/v1","lastPublishedDoiUrl":"https://doi.org/10.21203/rs.3.rs-6329564/v1","license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"},"manuscriptAbstract":"\u003cp\u003eThis paper introduces Lineal, a new C++20 linear algebra library designed to solve large sparse linear systems arising from PDE discretization on attainable hardware by optimizing runtime and especially memory consumption. Lineal supports matrix-free linear systems for stencil-based problems, which can store a single value per cell to minimize memory use. This can be paired with MAMGO, Lineal’s Algebraic Multi-Grid implementation based on the algorithm used in DUNE ISTL, using a matrix-free linear system on the finest level and Compressed Sparse Row (CSR) matrices on coarser levels, drastically reducing memory consumption on the finest, and largest, level—a novel approach to our knowledge. It can additionally be combined with Lineal’s very flexible support for mixed precision to minimize memory use and the effect of reduced precision on convergence. Almost all components are fully multithreaded and many support explicit SIMD operations and/or tiling. The main evaluation—solving the stationary diffusion problem using two sets of high-resolution scans of soil samples—shows Lineal’s very good strong scaling and the effectiveness of the optimizations implemented. On the smaller dataset, Lineal outperforms hypre’s BoomerAMG, DUNE ISTL, and Ginkgo, requiring less than half the runtime and memory with CSR matrices and less than a quarter with the hybrid matrix-free approach. Only Lineal can handle the larger dataset on the test system due to its lower memory use. Additional evaluation using the SPE10 Model 2 benchmark further highlights Lineal’s strong performance and potential areas for improvement.\u003c/p\u003e\n\u003cp\u003eMSC Classification: 65F10 , 65F50 , 65N22 , 65N55 , 65Y05 , 65Y15 , 65Y20\u003c/p\u003e","manuscriptTitle":"Lineal: An Efficient Linear Algebra Library","msid":"","msnumber":"","nonDraftVersions":[{"code":1,"date":"2025-05-15 06:06:57","doi":"10.21203/rs.3.rs-6329564/v1","editorialEvents":[{"type":"communityComments","content":0}],"status":"published","journal":{"display":true,"email":"[email protected]","identity":"researchsquare","isNatureJournal":false,"hasQc":true,"allowDirectSubmit":true,"externalIdentity":"","sideBox":"","snPcode":"","submissionUrl":"/submission","title":"Research Square","twitterHandle":"researchsquare","acdcEnabled":true,"dfaEnabled":false,"editorialSystem":"","reportingPortfolio":"","inReviewEnabled":false,"inReviewRevisionsEnabled":true}}],"origin":"","ownerIdentity":"db58bbc3-2fcb-49cd-b283-dd68a10ea7c8","owner":[],"postedDate":"May 15th, 2025","published":true,"recentEditorialEvents":[],"rejectedJournal":[],"revision":"","amendment":"","status":"posted","subjectAreas":[],"tags":[],"updatedAt":"2026-01-14T16:09:02+00:00","versionOfRecord":[],"versionCreatedAt":"2025-05-15 06:06:57","video":"","vorDoi":"","vorDoiUrl":"","workflowStages":[]},"version":"v1","identity":"rs-6329564","journalConfig":"researchsquare"},"__N_SSP":true},"page":"/article/[identity]/[[...version]]","query":{"redirect":"/article/rs-6329564","identity":"rs-6329564","version":["v1"]},"buildId":"8U1c8b4HqxoKbykW_rLl7","isFallback":false,"isExperimentalCompile":false,"dynamicIds":[84888],"gssp":true,"scriptLoader":[]}

Text is read by the "Ask this paper" AI Q&A widget below. Extraction quality varies by source — PMC NXML preserves structure cleanly, OA-HTML may include some navigation residue, and OA-PDF can have broken hyphenation. The publisher copy (via DOI) is the canonical version.

My notes (saved in your browser only)

Ask this paper AI returns verbatim quotes from the full text · source: preprint-html

Answers must be backed by verbatim quotes from this paper's full text. Hallucinated quotes are dropped automatically; if no verbatim passage answers the question, we say so. How this works

Citation neighborhood (no data yet)

We don't have any in-corpus citations linked to this paper yet. This is a recent paper (2025) — citers typically take a year or two to land, and the OpenAlex reference graph may still be filling in.

Source provenance

europepmc
last seen: 2026-05-20T01:45:00.602351+00:00