×

Method of, system for, and computer program product for performing weighted loop fusion by an optimizing compiler

  • US 6,058,266 A
  • Filed: 06/24/1997
  • Issued: 05/02/2000
  • Est. Priority Date: 06/24/1997
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of performing weighted loop fusion on a plurality of loop nests by a computer system, said method comprising the steps of:

  • creating a loop dependence graph (LDG) representing the plurality of loop nests, wherein each of the plurality of loop nests is associated with a node of the LDG, and wherein an edge of the LDG represents a loop-independent data dependence from a source loop nest to a destination loop nest;

    associating a weight wij =wji with each pair of nodes i and j, wherein the weight represents a cost savings obtained if loop nests i and j are fused;

    determining a set, AN×

    N, of directed summary arcs on N, wherein N is a set of nodes of the loop dependence graph, N={1, 2, . . . , n};

    determining a set, C, of contractable arcs wherein C is a subset of the set of directed summary arcs, CA;

    determining a set, NC, of noncontractable arcs wherein NC is a subset of the set of directed summary arcs, NC=A-Cdetermining a set, B, of unordered pairs of nodes (i,j) that have a wij >

    0 and that are not connected by a summary arc, both (i,j).epsilon slash.A and (j,i).epsilon slash.A;

    associating a (0,1)-variable xij with each unordered pair of nodes (i,j), and setting the xij =0 if and only if i and j are placed in a same cluster and setting xij =1 otherwise;

    determining a set of multipliers π

    i (i.di-elect cons.N) wherein each of the multipliers π

    i are an integer between 0 and n=|N|, wherein π

    j

    i

    1 for all (i,j).di-elect cons.A, wherein π

    i

    j if xij =0, wherein π

    j

    i

    1 if xij =1 and (i,j).di-elect cons.A; and

    minimizing a summation of a product of wij and xij over a set of nodes (i,j) comprising a union of the set B and the set of contractable arcs C, (i,j).di-elect cons.B∪

    C, subject to a set of constraints comprising;

    ##EQU10## performing loop fusion on the plurality of loop nests using loop partitions based on the minimized summation.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×