Automatic Parallelization of Irregular x86-64 Loops

Brandon Neth, Michelle Mills Strout

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Productivity languages such as Python and R are growing in popularity especially in the development of data analysis algorithms. While these languages provide powerful tools to accelerate the development process, they incur heavy overhead due to their interpreted nature. One approach to remove this overhead is to specialize the interpreter for a given script. Then, loops in the specialized code can be parallelized to further improve performance. In contrast to previous work that targets LLVM loops with affine memory access patterns, we are investigating the problem of parallelizing loops with irregular access patterns at the x86 level. To do so, we split hot loops into a sequential master thread that sends tasks to parallel worker threads.

Original languageEnglish (US)
Title of host publicationCGO 2019 - Proceedings of the 2019 IEEE/ACM International Symposium on Code Generation and Optimization
EditorsTipp Moseley, Alexandra Jimborean, Mahmut Taylan Kandemir
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages266
Number of pages1
ISBN (Electronic)9781728114361
DOIs
StatePublished - Mar 5 2019
Event17th IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2019 - Washington, United States
Duration: Feb 16 2019Feb 20 2019

Publication series

NameCGO 2019 - Proceedings of the 2019 IEEE/ACM International Symposium on Code Generation and Optimization

Conference

Conference17th IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2019
Country/TerritoryUnited States
CityWashington
Period2/16/192/20/19

Keywords

  • Automatic parallelization
  • Dependence analysis
  • Scientific computing
  • X86 parallelization

ASJC Scopus subject areas

  • Software
  • Control and Optimization

Fingerprint

Dive into the research topics of 'Automatic Parallelization of Irregular x86-64 Loops'. Together they form a unique fingerprint.

Cite this