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...

Full description

Saved in:
Bibliographic Details
Published in:arXiv.org 2024-11
Main Authors: Akkurt, Semih, Lemaire, Sébastien, Bartholomew, Paul, Laizet, Sylvain
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 &amp; 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