Generic programming for high-performance scientific applications

We present case studies that apply generic programming to the development of high‐performance parallel code for solving two archetypal partial differential equations (PDEs). We examine the overall structure of the example scientific codes and consider their generic implementation. With a generic app...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Concurrency and computation 2005-06, Vol.17 (7-8), p.941-965
Hauptverfasser: Lee, Lie-Quan, Lumsdaine, Andrew
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 965
container_issue 7-8
container_start_page 941
container_title Concurrency and computation
container_volume 17
creator Lee, Lie-Quan
Lumsdaine, Andrew
description We present case studies that apply generic programming to the development of high‐performance parallel code for solving two archetypal partial differential equations (PDEs). We examine the overall structure of the example scientific codes and consider their generic implementation. With a generic approach it is a straightforward matter to reuse software components from different sources; implementations with components from the Iterative Template Library (ITL), the Matrix Template Library (MTL), Blitz++, A++/P++, and Fortran BLAS are presented. Our newly developed Generic Message Passing library is used for communication. We compare the generic implementations with equivalent implementations developed with alternative libraries and languages and discuss performance as well as software engineering issues. Copyright © 2005 John Wiley & Sons, Ltd.
doi_str_mv 10.1002/cpe.864
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_28499892</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>28499892</sourcerecordid><originalsourceid>FETCH-LOGICAL-c3304-da9506651d41e4fd8d148f98064f22488be5f46cccdf18a8cf46d29bce3418403</originalsourceid><addsrcrecordid>eNp10MtKAzEUBuAgCtYqvsKsdCFTc5s0s1NKrZd6QRSXIc2ctNG5mUzRvr2Rke5cnf_Ax-HwI3RM8IhgTM9NCyMp-A4akIzRFAvGd7eZin10EMI7xoRgRgboYgY1eGeS1jdLr6vK1cvENj5ZueUqbcHHXOnaQBKMg7pzNlrdtqUzunNNHQ7RntVlgKO_OUSvV9OXyXU6f5zdTC7nqWEM87TQeYaFyEjBCXBbyIJwaXOJBbeUcikXkFkujDGFJVJLE5eC5gsDjBPJMRuik_5ufPRzDaFTlQsGylLX0KyDopLnucxphKc9NL4JwYNVrXeV9htFsPptSMWGVGwoyrNefrkSNv8xNXma9jrttQsdfG-19h9KjNk4U28PM8XvnrP7nEt1y34AT8118g</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>28499892</pqid></control><display><type>article</type><title>Generic programming for high-performance scientific applications</title><source>Wiley Online Library Journals Frontfile Complete</source><creator>Lee, Lie-Quan ; Lumsdaine, Andrew</creator><creatorcontrib>Lee, Lie-Quan ; Lumsdaine, Andrew</creatorcontrib><description>We present case studies that apply generic programming to the development of high‐performance parallel code for solving two archetypal partial differential equations (PDEs). We examine the overall structure of the example scientific codes and consider their generic implementation. With a generic approach it is a straightforward matter to reuse software components from different sources; implementations with components from the Iterative Template Library (ITL), the Matrix Template Library (MTL), Blitz++, A++/P++, and Fortran BLAS are presented. Our newly developed Generic Message Passing library is used for communication. We compare the generic implementations with equivalent implementations developed with alternative libraries and languages and discuss performance as well as software engineering issues. Copyright © 2005 John Wiley &amp; Sons, Ltd.</description><identifier>ISSN: 1532-0626</identifier><identifier>EISSN: 1532-0634</identifier><identifier>DOI: 10.1002/cpe.864</identifier><language>eng</language><publisher>Chichester, UK: John Wiley &amp; Sons, Ltd</publisher><subject>C++ ; generic programming ; high-performance computing ; iterative solvers ; Krylov subspace ; message passing ; templates</subject><ispartof>Concurrency and computation, 2005-06, Vol.17 (7-8), p.941-965</ispartof><rights>Copyright © 2005 John Wiley &amp; Sons, Ltd.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c3304-da9506651d41e4fd8d148f98064f22488be5f46cccdf18a8cf46d29bce3418403</citedby><cites>FETCH-LOGICAL-c3304-da9506651d41e4fd8d148f98064f22488be5f46cccdf18a8cf46d29bce3418403</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://onlinelibrary.wiley.com/doi/pdf/10.1002%2Fcpe.864$$EPDF$$P50$$Gwiley$$H</linktopdf><linktohtml>$$Uhttps://onlinelibrary.wiley.com/doi/full/10.1002%2Fcpe.864$$EHTML$$P50$$Gwiley$$H</linktohtml><link.rule.ids>314,776,780,1411,27901,27902,45550,45551</link.rule.ids></links><search><creatorcontrib>Lee, Lie-Quan</creatorcontrib><creatorcontrib>Lumsdaine, Andrew</creatorcontrib><title>Generic programming for high-performance scientific applications</title><title>Concurrency and computation</title><addtitle>Concurrency Computat.: Pract. Exper</addtitle><description>We present case studies that apply generic programming to the development of high‐performance parallel code for solving two archetypal partial differential equations (PDEs). We examine the overall structure of the example scientific codes and consider their generic implementation. With a generic approach it is a straightforward matter to reuse software components from different sources; implementations with components from the Iterative Template Library (ITL), the Matrix Template Library (MTL), Blitz++, A++/P++, and Fortran BLAS are presented. Our newly developed Generic Message Passing library is used for communication. We compare the generic implementations with equivalent implementations developed with alternative libraries and languages and discuss performance as well as software engineering issues. Copyright © 2005 John Wiley &amp; Sons, Ltd.</description><subject>C++</subject><subject>generic programming</subject><subject>high-performance computing</subject><subject>iterative solvers</subject><subject>Krylov subspace</subject><subject>message passing</subject><subject>templates</subject><issn>1532-0626</issn><issn>1532-0634</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2005</creationdate><recordtype>article</recordtype><recordid>eNp10MtKAzEUBuAgCtYqvsKsdCFTc5s0s1NKrZd6QRSXIc2ctNG5mUzRvr2Rke5cnf_Ax-HwI3RM8IhgTM9NCyMp-A4akIzRFAvGd7eZin10EMI7xoRgRgboYgY1eGeS1jdLr6vK1cvENj5ZueUqbcHHXOnaQBKMg7pzNlrdtqUzunNNHQ7RntVlgKO_OUSvV9OXyXU6f5zdTC7nqWEM87TQeYaFyEjBCXBbyIJwaXOJBbeUcikXkFkujDGFJVJLE5eC5gsDjBPJMRuik_5ufPRzDaFTlQsGylLX0KyDopLnucxphKc9NL4JwYNVrXeV9htFsPptSMWGVGwoyrNefrkSNv8xNXma9jrttQsdfG-19h9KjNk4U28PM8XvnrP7nEt1y34AT8118g</recordid><startdate>200506</startdate><enddate>200506</enddate><creator>Lee, Lie-Quan</creator><creator>Lumsdaine, Andrew</creator><general>John Wiley &amp; Sons, Ltd</general><scope>BSCLL</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>200506</creationdate><title>Generic programming for high-performance scientific applications</title><author>Lee, Lie-Quan ; Lumsdaine, Andrew</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c3304-da9506651d41e4fd8d148f98064f22488be5f46cccdf18a8cf46d29bce3418403</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2005</creationdate><topic>C++</topic><topic>generic programming</topic><topic>high-performance computing</topic><topic>iterative solvers</topic><topic>Krylov subspace</topic><topic>message passing</topic><topic>templates</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Lee, Lie-Quan</creatorcontrib><creatorcontrib>Lumsdaine, Andrew</creatorcontrib><collection>Istex</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Concurrency and computation</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Lee, Lie-Quan</au><au>Lumsdaine, Andrew</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Generic programming for high-performance scientific applications</atitle><jtitle>Concurrency and computation</jtitle><addtitle>Concurrency Computat.: Pract. Exper</addtitle><date>2005-06</date><risdate>2005</risdate><volume>17</volume><issue>7-8</issue><spage>941</spage><epage>965</epage><pages>941-965</pages><issn>1532-0626</issn><eissn>1532-0634</eissn><abstract>We present case studies that apply generic programming to the development of high‐performance parallel code for solving two archetypal partial differential equations (PDEs). We examine the overall structure of the example scientific codes and consider their generic implementation. With a generic approach it is a straightforward matter to reuse software components from different sources; implementations with components from the Iterative Template Library (ITL), the Matrix Template Library (MTL), Blitz++, A++/P++, and Fortran BLAS are presented. Our newly developed Generic Message Passing library is used for communication. We compare the generic implementations with equivalent implementations developed with alternative libraries and languages and discuss performance as well as software engineering issues. Copyright © 2005 John Wiley &amp; Sons, Ltd.</abstract><cop>Chichester, UK</cop><pub>John Wiley &amp; Sons, Ltd</pub><doi>10.1002/cpe.864</doi><tpages>25</tpages></addata></record>
fulltext fulltext
identifier ISSN: 1532-0626
ispartof Concurrency and computation, 2005-06, Vol.17 (7-8), p.941-965
issn 1532-0626
1532-0634
language eng
recordid cdi_proquest_miscellaneous_28499892
source Wiley Online Library Journals Frontfile Complete
subjects C++
generic programming
high-performance computing
iterative solvers
Krylov subspace
message passing
templates
title Generic programming for high-performance scientific applications
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-29T03%3A24%3A45IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Generic%20programming%20for%20high-performance%20scientific%20applications&rft.jtitle=Concurrency%20and%20computation&rft.au=Lee,%20Lie-Quan&rft.date=2005-06&rft.volume=17&rft.issue=7-8&rft.spage=941&rft.epage=965&rft.pages=941-965&rft.issn=1532-0626&rft.eissn=1532-0634&rft_id=info:doi/10.1002/cpe.864&rft_dat=%3Cproquest_cross%3E28499892%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=28499892&rft_id=info:pmid/&rfr_iscdi=true