Title :
Deep jam: conversion of coarse-grain parallelism to instruction-level and vector parallelism for irregular applications
Author :
Carribault, Partick ; Cohen, Albert ; Jalby, William
Author_Institution :
Bull SA, Les Clayes sous Bois, France
Abstract :
A number of compute-intensive applications suffer from performance loss due to the lack of instruction-level parallelism in sequences of dependent instructions. This is particularly accurate on wide-issue architectures with large register banks, when the memory hierarchy (locality and bandwidth) is not the dominant bottleneck. We consider two real applications from computational biology and from cryptanalysis, characterized by long sequences of dependent instructions, irregular control-flow and intricate scalar and array dependence patterns. Although these applications exhibit excellent memory locality and branch-prediction behavior, state-of-the-art loop transformations and back-end optimizations are unable to exploit much instruction-level parallelism. We show that good speedups can be achieved through deep jam, a new transformation of the program control- and data-flow. Deep jam combines scalar and array renaming with a generalized form of recursive unroll-and-jam; it brings together independent instructions across irregular control structures, removing memory-based dependences. This optimization contributes to the extraction of fine-grain parallelism in irregular applications. We propose a feedback-directed deep jam algorithm, selecting a jamming strategy, function of the architecture and application characteristics.
Keywords :
biology computing; cryptography; optimising compilers; parallel architectures; program control structures; back-end optimizations; branch-prediction behavior; coarse-grain parallelism; computational biology; cryptanalysis; feedback-directed deep jam; instruction-level parallelism; loop transformations; memory locality; program control-flow; program data-flow; vector parallelism; Bandwidth; Biology computing; Computer aided instruction; Computer applications; Computer architecture; Concurrent computing; Parallel processing; Performance loss; Registers; Sequences;
Conference_Titel :
Parallel Architectures and Compilation Techniques, 2005. PACT 2005. 14th International Conference on
Print_ISBN :
0-7695-2429-X
DOI :
10.1109/PACT.2005.16