Pygion: Flexible, Scalable Task-Based Parallelism with Python
Dynamic languages provide the flexibility needed to implement expressive support for task-based parallel program- ming constructs. We present Pygion, a Python interface for the Legion task-based programming system, and show that it can provide features comparable to Regent, a statically typed progra...
Gespeichert in:
| Veröffentlicht in: | 2019 IEEE/ACM Parallel Applications Workshop, Alternatives To MPI (PAW-ATM) S. 58 - 72 |
|---|---|
| Hauptverfasser: | , |
| Format: | Tagungsbericht |
| Sprache: | Englisch |
| Veröffentlicht: |
IEEE
01.11.2019
|
| Schlagworte: | |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Abstract | Dynamic languages provide the flexibility needed to implement expressive support for task-based parallel program- ming constructs. We present Pygion, a Python interface for the Legion task-based programming system, and show that it can provide features comparable to Regent, a statically typed programming language with dedicated support for the Legion programming model. Furthermore, we show that the dynamic nature of Python permits the implementation of several key optimizations (index launches, futures, mapping) currently imple- mented in the Regent compiler. Together these features enable Pygion code that is comparable in expressiveness but more flexible than Regent, and substantially more concise, less error prone, and easier to use than C++ Legion code. Pygion is designed to interoperate with Regent and can use Regent to generate high- performance CPU and GPU kernel implementations. We show that, in combination with high-performance kernels written in Regent, Pygion is able to achieve efficient, scalable execution on up to 512 nodes of the heterogeneous supercomputer Piz Daint. |
|---|---|
| AbstractList | Dynamic languages provide the flexibility needed to implement expressive support for task-based parallel program- ming constructs. We present Pygion, a Python interface for the Legion task-based programming system, and show that it can provide features comparable to Regent, a statically typed programming language with dedicated support for the Legion programming model. Furthermore, we show that the dynamic nature of Python permits the implementation of several key optimizations (index launches, futures, mapping) currently imple- mented in the Regent compiler. Together these features enable Pygion code that is comparable in expressiveness but more flexible than Regent, and substantially more concise, less error prone, and easier to use than C++ Legion code. Pygion is designed to interoperate with Regent and can use Regent to generate high- performance CPU and GPU kernel implementations. We show that, in combination with high-performance kernels written in Regent, Pygion is able to achieve efficient, scalable execution on up to 512 nodes of the heterogeneous supercomputer Piz Daint. |
| Author | Slaughter, Elliott Aiken, Alex |
| Author_xml | – sequence: 1 givenname: Elliott surname: Slaughter fullname: Slaughter, Elliott organization: SLAC National Accelerator Laboratory, USA – sequence: 2 givenname: Alex surname: Aiken fullname: Aiken, Alex organization: Stanford University, USA |
| BookMark | eNotjstKxDAUQCPowhn9AhfmA2y9Sds8BBd1cFQYsWDF5ZD23jjBTCttQfv3DujqnNXhLNhx13fE2KWAVAiw11X5npT1c24LBakEYVMAEOKILYSWRhRWW3nKbqv5I_TdDV9H-glNpCv-2rroDsZrN34md24k5JUbXIwUw7jn32Ha8Wqedn13xk68iyOd_3PJ3tb39eox2bw8PK3KTRIkZFOCqLJGe48toskxw-Zw1Wjy4FEboBwkIrYGFelCofZOqtxpI10rwHibLdnFXzcQ0fZrCHs3zFsLSmopsl-dWEbg |
| CODEN | IEEPAD |
| ContentType | Conference Proceeding |
| DBID | 6IE 6IL CBEJK RIE RIL |
| DOI | 10.1109/PAW-ATM49560.2019.00011 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Electronic Library (IEL) IEEE Proceedings Order Plans (POP All) 1998-Present |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| EISBN | 1728159792 9781728159799 |
| EndPage | 72 |
| ExternalDocumentID | 9062721 |
| Genre | orig-research |
| GroupedDBID | 6IE 6IL CBEJK RIE RIL |
| ID | FETCH-LOGICAL-i203t-dd63b7ffdcdd84d3db495b7ef0fd780e402dddc8d6e756d7fa264a782ac108f93 |
| IEDL.DBID | RIE |
| ISICitedReferencesCount | 11 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000674933500006&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| IngestDate | Wed Jul 16 07:54:40 EDT 2025 |
| IsPeerReviewed | false |
| IsScholarly | false |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-i203t-dd63b7ffdcdd84d3db495b7ef0fd780e402dddc8d6e756d7fa264a782ac108f93 |
| PageCount | 15 |
| ParticipantIDs | ieee_primary_9062721 |
| PublicationCentury | 2000 |
| PublicationDate | 2019-Nov |
| PublicationDateYYYYMMDD | 2019-11-01 |
| PublicationDate_xml | – month: 11 year: 2019 text: 2019-Nov |
| PublicationDecade | 2010 |
| PublicationTitle | 2019 IEEE/ACM Parallel Applications Workshop, Alternatives To MPI (PAW-ATM) |
| PublicationTitleAbbrev | PAW-ATM |
| PublicationYear | 2019 |
| Publisher | IEEE |
| Publisher_xml | – name: IEEE |
| Score | 1.7917624 |
| Snippet | Dynamic languages provide the flexibility needed to implement expressive support for task-based parallel program- ming constructs. We present Pygion, a Python... |
| SourceID | ieee |
| SourceType | Publisher |
| StartPage | 58 |
| SubjectTerms | C++ languages Legion Optimization Performance analysis Pygion Python Runtime Task analysis task-based parallelism |
| Title | Pygion: Flexible, Scalable Task-Based Parallelism with Python |
| URI | https://ieeexplore.ieee.org/document/9062721 |
| WOSCitedRecordID | wos000674933500006&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1NTwIxEG2QePCkBozf6cEjlV26blsTD2gkXiSbiJEbaXemCRHBsGDCv7dTCHrw4q3ppZlO05lO573H2JXvWGUx84LYwURmUhTGqVSkpbSSDrSRPopNqH5fD4emqLHWFguDiLH5DK9pGP_yYVYuqVTWjpy6hBrfUSpfY7U2LVtpYtpF9010B88x46eeLSKiTEgZ6JdsSowavf3_rXfAmj_wO15sA8shq-G0we6KFbUO3_IeUVi6Cbb4S9hfQj7xga3exX2IR8ALOyd1lMm4-uBUY-XFitgBmuy19zh4eBIb7QMx7iRyIQBy6ZT3UALoDCS4YJdT6BMPSicYnn0AUGrIUd3koLwNmY0N4d6WaaK9kUesPp1N8ZhxnbhwlYQ0LQ9POVTa5sphcEpm0MqQbp2wBpk--lzTW4w2Vp_-PX3G9mhv13C8c1ZfzJd4wXbLr8W4ml9Gn3wD3GeOXg |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1NSwMxEA2lCnpSacVvc_DY2N1m3WwED1UsFduy4Iq9lezOBBZrK_0Q-u_NbJfqwYu3kEuYTMhMJvPeY-zKtowyGFhB7GAi0D4KnSpf-Jk0kg60lrYQm1CDQTQc6rjCGhssDCIWzWd4TcPiLx-m2ZJKZc2CU5dQ41uknFWitcqmLd_Tzbj9JtpJv8j5qWuLqCg90gb6JZxSxI3O3v9W3Gf1HwAejzeh5YBVcFJjd_GKmodveYdILNMxNviL22HCPvHEzN_FvYtIwGMzI32UcT7_4FRl5fGK-AHq7LXzmDx0Ral-IPKWJxcCIJSpshYygCgACamzK1VoPQsq8tA9_AAgiyBEdROCssblNsYFfJP5XmS1PGTVyXSCR4xHXuouE5eohe4xhyoyoUrRuSXQaKRLuI5ZjUwffa4JLkal1Sd_T1-ynW7S7416T4PnU7ZL-7wG552x6mK2xHO2nX0t8vnsovDPN3jEkac |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2019+IEEE%2FACM+Parallel+Applications+Workshop%2C+Alternatives+To+MPI+%28PAW-ATM%29&rft.atitle=Pygion%3A+Flexible%2C+Scalable+Task-Based+Parallelism+with+Python&rft.au=Slaughter%2C+Elliott&rft.au=Aiken%2C+Alex&rft.date=2019-11-01&rft.pub=IEEE&rft.spage=58&rft.epage=72&rft_id=info:doi/10.1109%2FPAW-ATM49560.2019.00011&rft.externalDocID=9062721 |