Loading…
A Distributed-memory Tridiagonal Solver Based on a Specialised Data Structure Optimised for CPU and GPU Architectures
Various numerical methods used for solving partial differential equations (PDE) result in tridiagonal systems. Solving tridiagonal systems on distributed-memory environments is not straightforward, and often requires significant amount of communication. In this article, we present a novel distribute...
Saved in:
Published in: | arXiv.org 2024-11 |
---|---|
Main Authors: | , , , |
Format: | Article |
Language: | English |
Subjects: | |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
cited_by | |
---|---|
cites | |
container_end_page | |
container_issue | |
container_start_page | |
container_title | arXiv.org |
container_volume | |
creator | Akkurt, Semih Lemaire, Sébastien Bartholomew, Paul Laizet, Sylvain |
description | Various numerical methods used for solving partial differential equations (PDE) result in tridiagonal systems. Solving tridiagonal systems on distributed-memory environments is not straightforward, and often requires significant amount of communication. In this article, we present a novel distributed-memory tridiagonal solver algorithm, DistD2-TDS, based on a specialised data structure. DistD2-TDS algorithm takes advantage of the diagonal dominance in tridiagonal systems to reduce the communications in distributed-memory environments. The underlying data structure plays a crucial role for the performance of the algorithm. First, the data structure improves data localities and makes it possible to minimise data movements via cache blocking and kernel fusion strategies. Second, data continuity enables a contiguous data access pattern and results in efficient utilisation of the available memory bandwidth. Finally, the data layout supports vectorisation on CPUs and thread level parallelisation on GPUs for improved performance. In order to demonstrate the robustness of the algorithm, we implemented and benchmarked the algorithm on CPUs and GPUs. We investigated the single rank performance and compared against existing algorithms. Furthermore, we analysed the strong scaling of the implementation up to 384 NVIDIA H100 GPUs and up to 8192 AMD EPYC 7742 CPUs. Finally, we demonstrated a practical use case of the algorithm by using compact finite difference schemes to solve a 3D non-linear PDE. The results demonstrate that DistD2 algorithm can sustain around 66% of the theoretical peak bandwidth at scale on CPU and GPU based supercomputers. |
format | article |
fullrecord | <record><control><sourceid>proquest</sourceid><recordid>TN_cdi_proquest_journals_3131612184</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>3131612184</sourcerecordid><originalsourceid>FETCH-proquest_journals_31316121843</originalsourceid><addsrcrecordid>eNqNjcsKwjAQRYMgWNR_GHBdaBIf3db62imoa4ntVFPapk4Swb-3ih_g6sC5B26PBUJKHsZTIQZsbG0ZRZGYL8RsJgPmE1hp60hfvcM8rLE29IIT6Vyrm2lUBUdTPZFgqSzmYBpQcGwx06rSH7FSrhOOfOY8Iexbp-vvUBiC9HAG1eSw7ZhQdtcOv5kdsX6hKovjH4dsslmf0l3Yknl4tO5SGk_du71ILvmcCx5P5X_VG_hvS6k</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>3131612184</pqid></control><display><type>article</type><title>A Distributed-memory Tridiagonal Solver Based on a Specialised Data Structure Optimised for CPU and GPU Architectures</title><source>Publicly Available Content Database (Proquest) (PQ_SDU_P3)</source><creator>Akkurt, Semih ; Lemaire, Sébastien ; Bartholomew, Paul ; Laizet, Sylvain</creator><creatorcontrib>Akkurt, Semih ; Lemaire, Sébastien ; Bartholomew, Paul ; Laizet, Sylvain</creatorcontrib><description>Various numerical methods used for solving partial differential equations (PDE) result in tridiagonal systems. Solving tridiagonal systems on distributed-memory environments is not straightforward, and often requires significant amount of communication. In this article, we present a novel distributed-memory tridiagonal solver algorithm, DistD2-TDS, based on a specialised data structure. DistD2-TDS algorithm takes advantage of the diagonal dominance in tridiagonal systems to reduce the communications in distributed-memory environments. The underlying data structure plays a crucial role for the performance of the algorithm. First, the data structure improves data localities and makes it possible to minimise data movements via cache blocking and kernel fusion strategies. Second, data continuity enables a contiguous data access pattern and results in efficient utilisation of the available memory bandwidth. Finally, the data layout supports vectorisation on CPUs and thread level parallelisation on GPUs for improved performance. In order to demonstrate the robustness of the algorithm, we implemented and benchmarked the algorithm on CPUs and GPUs. We investigated the single rank performance and compared against existing algorithms. Furthermore, we analysed the strong scaling of the implementation up to 384 NVIDIA H100 GPUs and up to 8192 AMD EPYC 7742 CPUs. Finally, we demonstrated a practical use case of the algorithm by using compact finite difference schemes to solve a 3D non-linear PDE. The results demonstrate that DistD2 algorithm can sustain around 66% of the theoretical peak bandwidth at scale on CPU and GPU based supercomputers.</description><identifier>EISSN: 2331-8422</identifier><language>eng</language><publisher>Ithaca: Cornell University Library, arXiv.org</publisher><subject>Algorithms ; Bandwidths ; Central processing units ; Communications systems ; CPUs ; Data structures ; Distributed memory ; Finite difference method ; Graphics processing units ; Numerical methods ; Parallel processing ; Partial differential equations ; Solvers</subject><ispartof>arXiv.org, 2024-11</ispartof><rights>2024. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://www.proquest.com/docview/3131612184?pq-origsite=primo$$EHTML$$P50$$Gproquest$$Hfree_for_read</linktohtml><link.rule.ids>780,784,25753,37012,44590</link.rule.ids></links><search><creatorcontrib>Akkurt, Semih</creatorcontrib><creatorcontrib>Lemaire, Sébastien</creatorcontrib><creatorcontrib>Bartholomew, Paul</creatorcontrib><creatorcontrib>Laizet, Sylvain</creatorcontrib><title>A Distributed-memory Tridiagonal Solver Based on a Specialised Data Structure Optimised for CPU and GPU Architectures</title><title>arXiv.org</title><description>Various numerical methods used for solving partial differential equations (PDE) result in tridiagonal systems. Solving tridiagonal systems on distributed-memory environments is not straightforward, and often requires significant amount of communication. In this article, we present a novel distributed-memory tridiagonal solver algorithm, DistD2-TDS, based on a specialised data structure. DistD2-TDS algorithm takes advantage of the diagonal dominance in tridiagonal systems to reduce the communications in distributed-memory environments. The underlying data structure plays a crucial role for the performance of the algorithm. First, the data structure improves data localities and makes it possible to minimise data movements via cache blocking and kernel fusion strategies. Second, data continuity enables a contiguous data access pattern and results in efficient utilisation of the available memory bandwidth. Finally, the data layout supports vectorisation on CPUs and thread level parallelisation on GPUs for improved performance. In order to demonstrate the robustness of the algorithm, we implemented and benchmarked the algorithm on CPUs and GPUs. We investigated the single rank performance and compared against existing algorithms. Furthermore, we analysed the strong scaling of the implementation up to 384 NVIDIA H100 GPUs and up to 8192 AMD EPYC 7742 CPUs. Finally, we demonstrated a practical use case of the algorithm by using compact finite difference schemes to solve a 3D non-linear PDE. The results demonstrate that DistD2 algorithm can sustain around 66% of the theoretical peak bandwidth at scale on CPU and GPU based supercomputers.</description><subject>Algorithms</subject><subject>Bandwidths</subject><subject>Central processing units</subject><subject>Communications systems</subject><subject>CPUs</subject><subject>Data structures</subject><subject>Distributed memory</subject><subject>Finite difference method</subject><subject>Graphics processing units</subject><subject>Numerical methods</subject><subject>Parallel processing</subject><subject>Partial differential equations</subject><subject>Solvers</subject><issn>2331-8422</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2024</creationdate><recordtype>article</recordtype><sourceid>PIMPY</sourceid><recordid>eNqNjcsKwjAQRYMgWNR_GHBdaBIf3db62imoa4ntVFPapk4Swb-3ih_g6sC5B26PBUJKHsZTIQZsbG0ZRZGYL8RsJgPmE1hp60hfvcM8rLE29IIT6Vyrm2lUBUdTPZFgqSzmYBpQcGwx06rSH7FSrhOOfOY8Iexbp-vvUBiC9HAG1eSw7ZhQdtcOv5kdsX6hKovjH4dsslmf0l3Yknl4tO5SGk_du71ILvmcCx5P5X_VG_hvS6k</recordid><startdate>20241120</startdate><enddate>20241120</enddate><creator>Akkurt, Semih</creator><creator>Lemaire, Sébastien</creator><creator>Bartholomew, Paul</creator><creator>Laizet, Sylvain</creator><general>Cornell University Library, arXiv.org</general><scope>8FE</scope><scope>8FG</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>HCIFZ</scope><scope>L6V</scope><scope>M7S</scope><scope>PIMPY</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope></search><sort><creationdate>20241120</creationdate><title>A Distributed-memory Tridiagonal Solver Based on a Specialised Data Structure Optimised for CPU and GPU Architectures</title><author>Akkurt, Semih ; Lemaire, Sébastien ; Bartholomew, Paul ; Laizet, Sylvain</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-proquest_journals_31316121843</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2024</creationdate><topic>Algorithms</topic><topic>Bandwidths</topic><topic>Central processing units</topic><topic>Communications systems</topic><topic>CPUs</topic><topic>Data structures</topic><topic>Distributed memory</topic><topic>Finite difference method</topic><topic>Graphics processing units</topic><topic>Numerical methods</topic><topic>Parallel processing</topic><topic>Partial differential equations</topic><topic>Solvers</topic><toplevel>online_resources</toplevel><creatorcontrib>Akkurt, Semih</creatorcontrib><creatorcontrib>Lemaire, Sébastien</creatorcontrib><creatorcontrib>Bartholomew, Paul</creatorcontrib><creatorcontrib>Laizet, Sylvain</creatorcontrib><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Materials Science & Engineering Collection</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Engineering Collection</collection><collection>Engineering Database</collection><collection>Publicly Available Content Database (Proquest) (PQ_SDU_P3)</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering collection</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Akkurt, Semih</au><au>Lemaire, Sébastien</au><au>Bartholomew, Paul</au><au>Laizet, Sylvain</au><format>book</format><genre>document</genre><ristype>GEN</ristype><atitle>A Distributed-memory Tridiagonal Solver Based on a Specialised Data Structure Optimised for CPU and GPU Architectures</atitle><jtitle>arXiv.org</jtitle><date>2024-11-20</date><risdate>2024</risdate><eissn>2331-8422</eissn><abstract>Various numerical methods used for solving partial differential equations (PDE) result in tridiagonal systems. Solving tridiagonal systems on distributed-memory environments is not straightforward, and often requires significant amount of communication. In this article, we present a novel distributed-memory tridiagonal solver algorithm, DistD2-TDS, based on a specialised data structure. DistD2-TDS algorithm takes advantage of the diagonal dominance in tridiagonal systems to reduce the communications in distributed-memory environments. The underlying data structure plays a crucial role for the performance of the algorithm. First, the data structure improves data localities and makes it possible to minimise data movements via cache blocking and kernel fusion strategies. Second, data continuity enables a contiguous data access pattern and results in efficient utilisation of the available memory bandwidth. Finally, the data layout supports vectorisation on CPUs and thread level parallelisation on GPUs for improved performance. In order to demonstrate the robustness of the algorithm, we implemented and benchmarked the algorithm on CPUs and GPUs. We investigated the single rank performance and compared against existing algorithms. Furthermore, we analysed the strong scaling of the implementation up to 384 NVIDIA H100 GPUs and up to 8192 AMD EPYC 7742 CPUs. Finally, we demonstrated a practical use case of the algorithm by using compact finite difference schemes to solve a 3D non-linear PDE. The results demonstrate that DistD2 algorithm can sustain around 66% of the theoretical peak bandwidth at scale on CPU and GPU based supercomputers.</abstract><cop>Ithaca</cop><pub>Cornell University Library, arXiv.org</pub><oa>free_for_read</oa></addata></record> |
fulltext | fulltext |
identifier | EISSN: 2331-8422 |
ispartof | arXiv.org, 2024-11 |
issn | 2331-8422 |
language | eng |
recordid | cdi_proquest_journals_3131612184 |
source | Publicly Available Content Database (Proquest) (PQ_SDU_P3) |
subjects | Algorithms Bandwidths Central processing units Communications systems CPUs Data structures Distributed memory Finite difference method Graphics processing units Numerical methods Parallel processing Partial differential equations Solvers |
title | A Distributed-memory Tridiagonal Solver Based on a Specialised Data Structure Optimised for CPU and GPU Architectures |
url | http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-26T14%3A04%3A14IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=document&rft.atitle=A%20Distributed-memory%20Tridiagonal%20Solver%20Based%20on%20a%20Specialised%20Data%20Structure%20Optimised%20for%20CPU%20and%20GPU%20Architectures&rft.jtitle=arXiv.org&rft.au=Akkurt,%20Semih&rft.date=2024-11-20&rft.eissn=2331-8422&rft_id=info:doi/&rft_dat=%3Cproquest%3E3131612184%3C/proquest%3E%3Cgrp_id%3Ecdi_FETCH-proquest_journals_31316121843%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=3131612184&rft_id=info:pmid/&rfr_iscdi=true |