PFACC: An OpenACC‐like programming model for irregular nested parallelism. (9th July 2020)
- Record Type:
- Journal Article
- Title:
- PFACC: An OpenACC‐like programming model for irregular nested parallelism. (9th July 2020)
- Main Title:
- PFACC: An OpenACC‐like programming model for irregular nested parallelism
- Authors:
- Huang, Ming Hsiang
Yang, Wuu - Abstract:
- Summary: OpenACC is a directive‐based programming model which allows programmers to write graphic processing unit (GPU) programs by simply annotating parallel loops. However, OpenACC has poor support for irregular nested parallel loops, which are natural choices to express nested parallelism. We propose PFACC, a programming model similar to OpenACC. PFACC directives can be used to annotate parallel loops and to guide data movement between different levels of memory hierarchy. Parallel loops can be arbitrarily nested or be placed inside functions that would be (possibly recursively) called in other parallel loops. The PFACC translator translates C programs with PFACC directives into CUDA programs by inserting runtime iteration‐sharing and memory allocation routines. The PFACC runtime iteration‐sharing routine is a two‐level mechanism. Thread blocks dynamically organize loop iterations into batches and execute the batches in a depth‐first order. Different thread blocks share iterations among one another with an iteration‐stealing mechanism. PFACC generates CUDA programs with reasonable memory usage because of the depth‐first execution order. The two‐level iteration‐sharing mechanism is implemented purely in software and fits well with the CUDA thread hierarchy. Experiments show that PFACC outperforms CUDA dynamic parallelism in terms of performance and code size on most benchmarks.
- Is Part Of:
- Software, practice & experience. Volume 50:Number 10(2020)
- Journal:
- Software, practice & experience
- Issue:
- Volume 50:Number 10(2020)
- Issue Display:
- Volume 50, Issue 10 (2020)
- Year:
- 2020
- Volume:
- 50
- Issue:
- 10
- Issue Sort Value:
- 2020-0050-0010-0000
- Page Start:
- 1877
- Page End:
- 1904
- Publication Date:
- 2020-07-09
- Subjects:
- dynamic scheduling -- GPGPU -- irregular parallelism -- nested parallelism -- OpenACC -- parallel programming model -- PFACC
Computer software -- Periodicals
Computer programming -- Periodicals
Computer programs -- Periodicals
005.3 - Journal URLs:
- http://onlinelibrary.wiley.com/ ↗
- DOI:
- 10.1002/spe.2868 ↗
- Languages:
- English
- ISSNs:
- 0038-0644
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 8321.453000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 13973.xml