History of coarrays and SPMD parallelism in Fortran

The coarray programming model is an expression of the Single-Program-Multiple-Data (SPMD) programming model through the simple device of adding a codimension to the Fortran language. A data object declared with a codimension is a coarray object. Codimensions express the idea that some objects are lo...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Proceedings of ACM on programming languages 2020-06, Vol.4 (HOPL), p.1-30
Hauptverfasser: Reid, John, Long, Bill, Steidel, Jon
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 30
container_issue HOPL
container_start_page 1
container_title Proceedings of ACM on programming languages
container_volume 4
creator Reid, John
Long, Bill
Steidel, Jon
description The coarray programming model is an expression of the Single-Program-Multiple-Data (SPMD) programming model through the simple device of adding a codimension to the Fortran language. A data object declared with a codimension is a coarray object. Codimensions express the idea that some objects are located in local memory while others are located in remote memory. Coarray syntax obeys most of the same rules for normal array syntax. It is familiar to the Fortran programmer so the use of coarray syntax is natural and intuitive. Although the basic idea is quite simple, inserting it into the language definition turned out to be difficult. In addition, the process was complicated by rapidly changing hardware and heated arguments over whether parallelism should be supported best as an interface to language-independent libraries, as a set of directives superimposed on languages, or as a set of specific extensions to existing languages. In this paper, we review both the early history of coarrays and also their development into a part of Fortran 2008 and eventually into a larger part of Fortran 2018. Coarrays have been used, for example, in weather forecasting and in neural networks and deep learning.
doi_str_mv 10.1145/3386322
format Article
fullrecord <record><control><sourceid>crossref</sourceid><recordid>TN_cdi_crossref_primary_10_1145_3386322</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>10_1145_3386322</sourcerecordid><originalsourceid>FETCH-LOGICAL-c258t-935bcbee4dea252f2e0efa8b6eeb141518455ab928a0cf23f58c62db96f8f62a3</originalsourceid><addsrcrecordid>eNpNj8FKAzEUAIMoWGrxF3LztJq8l8TkKNVaoWKhel5esgmsbDcl2cv-vYg9eJo5DQxjt1LcS6n0A6I1CHDBFqAedSMVyMt_fs1WtX4LIaRDZdEtGG77OuUy85x4yFQKzZXT2PHD_v2Zn6jQMMShr0fej3yTy1RovGFXiYYaV2cu2dfm5XO9bXYfr2_rp10TQNupcah98DGqLhJoSBBFTGS9idFLJbW0SmvyDiyJkACTtsFA551JNhkgXLK7v24oudYSU3sq_ZHK3ErR_u625138ATuERig</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>History of coarrays and SPMD parallelism in Fortran</title><source>ACM Digital Library Complete</source><source>EZB-FREE-00999 freely available EZB journals</source><creator>Reid, John ; Long, Bill ; Steidel, Jon</creator><creatorcontrib>Reid, John ; Long, Bill ; Steidel, Jon</creatorcontrib><description>The coarray programming model is an expression of the Single-Program-Multiple-Data (SPMD) programming model through the simple device of adding a codimension to the Fortran language. A data object declared with a codimension is a coarray object. Codimensions express the idea that some objects are located in local memory while others are located in remote memory. Coarray syntax obeys most of the same rules for normal array syntax. It is familiar to the Fortran programmer so the use of coarray syntax is natural and intuitive. Although the basic idea is quite simple, inserting it into the language definition turned out to be difficult. In addition, the process was complicated by rapidly changing hardware and heated arguments over whether parallelism should be supported best as an interface to language-independent libraries, as a set of directives superimposed on languages, or as a set of specific extensions to existing languages. In this paper, we review both the early history of coarrays and also their development into a part of Fortran 2008 and eventually into a larger part of Fortran 2018. Coarrays have been used, for example, in weather forecasting and in neural networks and deep learning.</description><identifier>ISSN: 2475-1421</identifier><identifier>EISSN: 2475-1421</identifier><identifier>DOI: 10.1145/3386322</identifier><language>eng</language><ispartof>Proceedings of ACM on programming languages, 2020-06, Vol.4 (HOPL), p.1-30</ispartof><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c258t-935bcbee4dea252f2e0efa8b6eeb141518455ab928a0cf23f58c62db96f8f62a3</citedby><cites>FETCH-LOGICAL-c258t-935bcbee4dea252f2e0efa8b6eeb141518455ab928a0cf23f58c62db96f8f62a3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids></links><search><creatorcontrib>Reid, John</creatorcontrib><creatorcontrib>Long, Bill</creatorcontrib><creatorcontrib>Steidel, Jon</creatorcontrib><title>History of coarrays and SPMD parallelism in Fortran</title><title>Proceedings of ACM on programming languages</title><description>The coarray programming model is an expression of the Single-Program-Multiple-Data (SPMD) programming model through the simple device of adding a codimension to the Fortran language. A data object declared with a codimension is a coarray object. Codimensions express the idea that some objects are located in local memory while others are located in remote memory. Coarray syntax obeys most of the same rules for normal array syntax. It is familiar to the Fortran programmer so the use of coarray syntax is natural and intuitive. Although the basic idea is quite simple, inserting it into the language definition turned out to be difficult. In addition, the process was complicated by rapidly changing hardware and heated arguments over whether parallelism should be supported best as an interface to language-independent libraries, as a set of directives superimposed on languages, or as a set of specific extensions to existing languages. In this paper, we review both the early history of coarrays and also their development into a part of Fortran 2008 and eventually into a larger part of Fortran 2018. Coarrays have been used, for example, in weather forecasting and in neural networks and deep learning.</description><issn>2475-1421</issn><issn>2475-1421</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2020</creationdate><recordtype>article</recordtype><recordid>eNpNj8FKAzEUAIMoWGrxF3LztJq8l8TkKNVaoWKhel5esgmsbDcl2cv-vYg9eJo5DQxjt1LcS6n0A6I1CHDBFqAedSMVyMt_fs1WtX4LIaRDZdEtGG77OuUy85x4yFQKzZXT2PHD_v2Zn6jQMMShr0fej3yTy1RovGFXiYYaV2cu2dfm5XO9bXYfr2_rp10TQNupcah98DGqLhJoSBBFTGS9idFLJbW0SmvyDiyJkACTtsFA551JNhkgXLK7v24oudYSU3sq_ZHK3ErR_u625138ATuERig</recordid><startdate>20200614</startdate><enddate>20200614</enddate><creator>Reid, John</creator><creator>Long, Bill</creator><creator>Steidel, Jon</creator><scope>AAYXX</scope><scope>CITATION</scope></search><sort><creationdate>20200614</creationdate><title>History of coarrays and SPMD parallelism in Fortran</title><author>Reid, John ; Long, Bill ; Steidel, Jon</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c258t-935bcbee4dea252f2e0efa8b6eeb141518455ab928a0cf23f58c62db96f8f62a3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2020</creationdate><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Reid, John</creatorcontrib><creatorcontrib>Long, Bill</creatorcontrib><creatorcontrib>Steidel, Jon</creatorcontrib><collection>CrossRef</collection><jtitle>Proceedings of ACM on programming languages</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Reid, John</au><au>Long, Bill</au><au>Steidel, Jon</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>History of coarrays and SPMD parallelism in Fortran</atitle><jtitle>Proceedings of ACM on programming languages</jtitle><date>2020-06-14</date><risdate>2020</risdate><volume>4</volume><issue>HOPL</issue><spage>1</spage><epage>30</epage><pages>1-30</pages><issn>2475-1421</issn><eissn>2475-1421</eissn><abstract>The coarray programming model is an expression of the Single-Program-Multiple-Data (SPMD) programming model through the simple device of adding a codimension to the Fortran language. A data object declared with a codimension is a coarray object. Codimensions express the idea that some objects are located in local memory while others are located in remote memory. Coarray syntax obeys most of the same rules for normal array syntax. It is familiar to the Fortran programmer so the use of coarray syntax is natural and intuitive. Although the basic idea is quite simple, inserting it into the language definition turned out to be difficult. In addition, the process was complicated by rapidly changing hardware and heated arguments over whether parallelism should be supported best as an interface to language-independent libraries, as a set of directives superimposed on languages, or as a set of specific extensions to existing languages. In this paper, we review both the early history of coarrays and also their development into a part of Fortran 2008 and eventually into a larger part of Fortran 2018. Coarrays have been used, for example, in weather forecasting and in neural networks and deep learning.</abstract><doi>10.1145/3386322</doi><tpages>30</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 2475-1421
ispartof Proceedings of ACM on programming languages, 2020-06, Vol.4 (HOPL), p.1-30
issn 2475-1421
2475-1421
language eng
recordid cdi_crossref_primary_10_1145_3386322
source ACM Digital Library Complete; EZB-FREE-00999 freely available EZB journals
title History of coarrays and SPMD parallelism in Fortran
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-04T00%3A28%3A17IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-crossref&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=History%20of%20coarrays%20and%20SPMD%20parallelism%20in%20Fortran&rft.jtitle=Proceedings%20of%20ACM%20on%20programming%20languages&rft.au=Reid,%20John&rft.date=2020-06-14&rft.volume=4&rft.issue=HOPL&rft.spage=1&rft.epage=30&rft.pages=1-30&rft.issn=2475-1421&rft.eissn=2475-1421&rft_id=info:doi/10.1145/3386322&rft_dat=%3Ccrossref%3E10_1145_3386322%3C/crossref%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true