11.3 THE 3-D DEPENDENCE GRAPH AND COMPUTATION DOMAIN x1D49F_EuclidMathOne-Bold_11n_000100

As we mentioned above, this chapter starts by studying a multidimensional computation domain x1D49F_EuclidMathOne_10n_000100 rather than a dependence graph. We shift our focus from graphs, nodes, and edges to convex hulls in x1D4B5_EuclidMathOne_10n_0001003 as will be explained below.

The recursive algorithm in Eq. 11.1 is an equation involving the indexed variables vi(p), where i = 1, 2, 3 to account for one output variable, M1, and two input variables, M2 and M3, in Eq. 11.1. The boundaries of the x1D4B5_EuclidMathOne_10n_0001003 space describing our algorithm are defined by the restrictions imposed on the values of the indices as will be discussed in the following subsection. The collection of points within imposed boundaries defines the computation domain x1D49F_EuclidMathOne_10n_000100. The dimension of x1D49F_EuclidMathOne_10n_000100 is n = 3, which is the number of indices in the algorithm.

11.3.1 3-D Domain Boundaries

The 3-D computation domain extends in the index space over a volume defined by the limits imposed on the index vector p. We define the computation domain x1D49F_EuclidMathOne_10n_000100 as the set of points in the 3-D space that satisfies certain criteria [82]:

(11.3) c11e003

with i = 1, 2, 3 and j = 1, 2, 3.

The row vectors Ψi and ψi define the upper hull of x1D49F_EuclidMathOne_10n_000100 [82–85]. Similarly, the row vectors Λj and λj define the lower hull of x1D49F_EuclidMathOne_10n_000100. These two hulls describe the surfaces defining x1D49F_EuclidMathOne_10n_000100. To give a tasty example, consider x1D49F_EuclidMathOne_10n_000100 as an ice cream cone. In that case, the upper hull represents the chocolate coating on top. The lower hull represents the cone or wafer. The points of the computational domain correspond to the ice cream.

From Eq. 11.1, the upper hull of our matrix algorithm is described by the equations of several planes in the 3-D space:

(11.4) c11e004

(11.5) c11e005

(11.6) c11e006

The above three inequalities simply state that the upper bound on points in x1D49F_EuclidMathOne_10n_000100 is described by the equations of planes defining the top surfaces of x1D49F_EuclidMathOne_10n_000100:

(11.7) c11e007

(11.8) c11e008

(11.9) c11e009

The first inequality describes a plane perpendicular to the i-axis and so on for the other two equations.

From Eq. 11.1, the lower hull of our matrix algorithm is described by the equations of several planes in the 3-D space:

(11.10) c11e010

(11.11) c11e011

(11.12) c11e012

The above three inequalities simply state that the lower bound on points in x1D49F_EuclidMathOne_10n_000100 is described by the equations of planes defining the bottom surfaces of x1D49F_EuclidMathOne_10n_000100:

(11.13) c11e013

(11.14) c11e014

(11.15) c11e015

Figure 11.1 shows the computation domain x1D49F_EuclidMathOne_10n_000100 for the matrix multiplication algorithm. x1D49F_EuclidMathOne_10n_000100 is a convex hull, which is another way of saying it is a volume in the 3-D space that has upper and lower bounds on its index values.

Figure 11.1 The 3-D computation domain x1D49F_EuclidMathOne_8n_000100 for the matrix multiplication algorithm.

c11f001

Note that the limits imposed on the algorithm indices define the computation domain x1D49F_EuclidMathOne_10n_000100 in a direct and simple manner. Earlier approaches used the domain vertices and “extremal rays” to define x1D49F_EuclidMathOne_10n_000100. However, in most cases, these quantities are simply not directly available.

In the design of multiprocessors or multithreaded applications, it is important to determine the regions where and when data will be fed or extracted. This is related to the study of the facets and vertices of x1D49F_EuclidMathOne_10n_000100 as explained in the following two sections.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.116.64.221