Publication
HPCA 2009
Conference paper

Lightweight predication support for out of order processors

View publication

Abstract

The benefits of Out of Order (OOO) processing are well known, as is the effectiveness of predicated execution for unpredictable control flow. However, as previous research has demonstrated, these techniques are at odds with one another. One common approach to reconciling their differences is to simplify the form of predication supported by the architecture. For instance, the only form of predication supported by modern OOO processors is a simple conditional move. We argue that it is the simplicity of conditional move that has allowed its widespread adoption, but we also show that this simplicity compromises its effectiveness as a compilation target. In this paper, we introduce a generalized form of hammock predication - called predicated mutually exclusive groups - that requires few modifications to an existing processor pipeline, yet presents the compiler with abundant predication opportunities. In comparison to nonpredicated code running on an aggressively clocked baseline system, our technique achieves an 8% speedup averaged across three important benchmark suites. © 2008 IEEE.

Date

Publication

HPCA 2009

Authors

Share