29.01.2015 Views

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

Embedded Software for SoC - Grupo de Mecatrônica EESC/USP

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Data Space Oriented Scheduling 239<br />

to find a different mechanism <strong>for</strong> generation iteration tiles from data tiles. To<br />

achieve this, we employ a polyhedral tool called the Omega Library [2]. The<br />

Omega library consists of a set of routines <strong>for</strong> manipulating linear constraints<br />

over Omega sets which can inclu<strong>de</strong> integer variables, Presburger <strong>for</strong>mulas,<br />

and integer tuple relations and sets. We can represent iteration spaces, data<br />

spaces, access matrices, data tiles, and iteration tiles using Omega sets. For<br />

example, using this library, we can generate iterations that access the elements<br />

in a given portion of the array.<br />

2.4. Overall algorithm<br />

Based on the discussion in the previous subsections, we present the sketch of<br />

our overall algorithm in Figure 18-4. In this algorithm, in the <strong>for</strong>-loop between<br />

lines 2 and 14, we <strong>de</strong>termine the array around which we need to restructure<br />

the process co<strong>de</strong>s. In<strong>for</strong>mally, we need to select an array such that the number<br />

of non-zero entries in should be minimum, where L being<br />

the total number of arrays in the application. To achieve this, we try each array<br />

in turn. Note that this portion of our algorithm works on the entire application<br />

co<strong>de</strong>. Next, in line 15, we <strong>de</strong>termine a schedule or<strong>de</strong>r <strong>for</strong> the processes.<br />

In this work, we do not propose a specific algorithm to achieve this; however,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!