Publication:
HELIX: Automatic Parallelization of Irregular Programs for Chip Multiprocessing.

Thumbnail Image

Date

2012

Published Version

Journal Title

Journal ISSN

Volume Title

Publisher

Association for Computing Machinery
The Harvard community has made this article openly available. Please share how this access benefits you.

Research Projects

Organizational Units

Journal Issue

Citation

Campanoni, Simone, Timothy Jones, Glenn Holloway, Vijay Janpa Reddi, Gu-Yeon Wei and David M. Brooks. 2012. "HELIX: Automatic Parallelization of Irregular Programs for Chip Multiprocessing." In Proceedings of the Tenth International Symposium on Code Generation and Optimization, San Jose, CA, March 31-April 1: 84-93.

Research Data

Abstract

We describe and evaluate HELIX, a new technique for automatic loop parallelization that assigns successive iterations of a loop to separate threads. We show that the inter-thread communication costs forced by loop-carried data dependences can be mitigated by code optimization, by using an effective heuristic for selecting loops to parallelize, and by using helper threads to prefetch synchronization signals. We have implemented HELIX as part of an optimizing compiler framework that automatically selects and parallelizes loops from general sequential programs. The framework uses an analytical model of loop speedups, combined with profile data, to choose loops to parallelize. On a six-core IntelĀ® Core i7-980X, HELIX achieves speedups averaging 2.25 x, with a maximum of 4.12x, for thirteen C benchmarks from SPEC CPU2000.

Description

Keywords

Terms of Use

This article is made available under the terms and conditions applicable to Open Access Policy Articles (OAP), as set forth at Terms of Service

Endorsement

Review

Supplemented By

Referenced By

Related Stories