ImageCL: Language and source‐to‐source compiler for performance portability, load balancing, and scalability prediction on heterogeneous systems. (20th December 2017)
- Record Type:
- Journal Article
- Title:
- ImageCL: Language and source‐to‐source compiler for performance portability, load balancing, and scalability prediction on heterogeneous systems. (20th December 2017)
- Main Title:
- ImageCL: Language and source‐to‐source compiler for performance portability, load balancing, and scalability prediction on heterogeneous systems
- Authors:
- Falch, Thomas L.
Elster, Anne C. - Other Names:
- Limet Sébastien guestEditor.
Merlo Alessio guestEditor.
Spalazzi Luca guestEditor. - Abstract:
- Summary: Applications written for heterogeneous CPU‐GPU systems often suffer from poor performance portability. Finding good work partitions can also be challenging as different devices are suited for different applications. This article describes ImageCL, a high‐level domain‐specific language and source‐to‐source compiler, targeting single system as well as distributed heterogeneous hardware. Initially targeting image processing algorithms, our framework now also handles general stencil‐based operations. It resembles OpenCL, but abstracts away performance optimization details which instead are handled by our source‐to‐source compiler. Machine learning‐based auto‐tuning is used to determine which optimizations to apply. For the distributed case, by measuring performance counters on a small input on one device, previously trained performance models are used to predict the throughput of the application on multiple different devices, making it possible to balance the load evenly. Models for the communication overhead are created in a similar fashion and used to predict the optimal number of nodes to use. ImageCL outperforms other state‐of‐the‐art solutions on image processing benchmarks in several cases, achieving speedups of up to 4.57×. On both CPUs and GPUs we are only 3% and 2% slower than an oracle for load balancing and scalability prediction, respectively, using synthetic benchmarks.
- Is Part Of:
- Concurrency and computation. Volume 30:Number 9(2018)
- Journal:
- Concurrency and computation
- Issue:
- Volume 30:Number 9(2018)
- Issue Display:
- Volume 30, Issue 9 (2018)
- Year:
- 2018
- Volume:
- 30
- Issue:
- 9
- Issue Sort Value:
- 2018-0030-0009-0000
- Page Start:
- n/a
- Page End:
- n/a
- Publication Date:
- 2017-12-20
- Subjects:
- load balancing -- machine learning, source‐to‐source compilation -- performance portability -- scalability prediction
Parallel processing (Electronic computers) -- Periodicals
Parallel computers -- Periodicals
004.35 - Journal URLs:
- http://onlinelibrary.wiley.com/ ↗
- DOI:
- 10.1002/cpe.4384 ↗
- Languages:
- English
- ISSNs:
- 1532-0626
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 3405.622000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 9334.xml