Effective Extensible Programming: Unleashing Julia on GPUs.

Saved in:
Bibliographic Details
Title: Effective Extensible Programming: Unleashing Julia on GPUs.
Authors: Besard, Tim1 tim.besard@ugent.be, Foket, Christophe1 christophe.foket@ugent.be, De Sutter, Bjorn1 bjorn.desutter@ugent.be
Source: IEEE Transactions on Parallel & Distributed Systems. 4/1/2019, Vol. 30 Issue 4, p827-841. 15p.
Subjects: Graphics processing units, Computer programmers, Code generators, Programming languages, Application software
Abstract: GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable applications. However, programming these devices is a difficult task. Writing efficient device code is challenging, and is typically done in a low-level programming language. High-level languages are rarely supported, or do not integrate with the rest of the high-level language ecosystem. To overcome this, we propose compiler infrastructure to efficiently add support for new hardware or environments to an existing programming language. We evaluate our approach by adding support for NVIDIA GPUs to the Julia programming language. By integrating with the existing compiler, we significantly lower the cost to implement and maintain the new compiler, and facilitate reuse of existing application code. Moreover, use of the high-level Julia programming language enables new and dynamic approaches for GPU programming. This greatly improves programmer productivity, while maintaining application performance similar to that of the official NVIDIA CUDA toolkit. [ABSTRACT FROM AUTHOR]
Copyright of IEEE Transactions on Parallel & Distributed Systems is the property of IEEE and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 135356497
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Effective Extensible Programming: Unleashing Julia on GPUs.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Besard%2C+Tim%22">Besard, Tim</searchLink><relatesTo>1</relatesTo><i> tim.besard@ugent.be</i><br /><searchLink fieldCode="AR" term="%22Foket%2C+Christophe%22">Foket, Christophe</searchLink><relatesTo>1</relatesTo><i> christophe.foket@ugent.be</i><br /><searchLink fieldCode="AR" term="%22De+Sutter%2C+Bjorn%22">De Sutter, Bjorn</searchLink><relatesTo>1</relatesTo><i> bjorn.desutter@ugent.be</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22IEEE+Transactions+on+Parallel+%26+Distributed+Systems%22">IEEE Transactions on Parallel & Distributed Systems</searchLink>. 4/1/2019, Vol. 30 Issue 4, p827-841. 15p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Graphics+processing+units%22">Graphics processing units</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+programmers%22">Computer programmers</searchLink><br /><searchLink fieldCode="DE" term="%22Code+generators%22">Code generators</searchLink><br /><searchLink fieldCode="DE" term="%22Programming+languages%22">Programming languages</searchLink><br /><searchLink fieldCode="DE" term="%22Application+software%22">Application software</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable applications. However, programming these devices is a difficult task. Writing efficient device code is challenging, and is typically done in a low-level programming language. High-level languages are rarely supported, or do not integrate with the rest of the high-level language ecosystem. To overcome this, we propose compiler infrastructure to efficiently add support for new hardware or environments to an existing programming language. We evaluate our approach by adding support for NVIDIA GPUs to the Julia programming language. By integrating with the existing compiler, we significantly lower the cost to implement and maintain the new compiler, and facilitate reuse of existing application code. Moreover, use of the high-level Julia programming language enables new and dynamic approaches for GPU programming. This greatly improves programmer productivity, while maintaining application performance similar to that of the official NVIDIA CUDA toolkit. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of IEEE Transactions on Parallel & Distributed Systems is the property of IEEE and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=135356497
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1109/TPDS.2018.2872064
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 15
        StartPage: 827
    Subjects:
      – SubjectFull: Graphics processing units
        Type: general
      – SubjectFull: Computer programmers
        Type: general
      – SubjectFull: Code generators
        Type: general
      – SubjectFull: Programming languages
        Type: general
      – SubjectFull: Application software
        Type: general
    Titles:
      – TitleFull: Effective Extensible Programming: Unleashing Julia on GPUs.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Besard, Tim
      – PersonEntity:
          Name:
            NameFull: Foket, Christophe
      – PersonEntity:
          Name:
            NameFull: De Sutter, Bjorn
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 04
              Text: 4/1/2019
              Type: published
              Y: 2019
          Identifiers:
            – Type: issn-print
              Value: 10459219
          Numbering:
            – Type: volume
              Value: 30
            – Type: issue
              Value: 4
          Titles:
            – TitleFull: IEEE Transactions on Parallel & Distributed Systems
              Type: main
ResultId 1