1 research outputs found

    Program Transformation for Locality Using Affinity Regions

    No full text
    . Affinity regions ensure that a shared processor schedule, mapping loop iterations to processors, is used in consecutive parallel loop nests. Using affinity regions can improve locality without affecting parallelism. Unlike loop fusion, affinity regions are always safe. Also, unlike parallel regions, affinity regions do not require explicit code for mapping loop iterations to processors. While affinity regions improve locality, there may be cases where more than one affinity region is possible for the same pair of loop nests. Also, loop transformations such as interchange and alignment can affect the profitability of affinity regions. In this paper we discuss the interaction between loop transformations and affinity regions, and the relationship between affinity regions and global optimization for parallelism and locality. The algorithms in this paper are being implemented in the parallelization tool, PAT, targeted at generating of affinity regions for the KSR-1. 1 Introduction An a..
    corecore