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

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:2019 IEEE/ACM Parallel Applications Workshop, Alternatives To MPI (PAW-ATM) S. 58 - 72
Hauptverfasser: Slaughter, Elliott, Aiken, Alex
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