Here you can ask questions and find or give answers to organizational, academic and other questions about studying computer science.

1.1k questions

1.2k answers


510 users

+1 vote


I have a question regarding example 4 on software pipelining (slide 98 in the static scheduling slides).

We are given the following program and the resulting data dependency graph:

Now the stated dependencies are:

What confuses me is the loop carried dependency in the middle from I1 to I2. Why is I2 in the next iteration of the loop dependent on I1 from the previous iteration? And if it really is dependent, why this not the case with I3? It also has a dependence on I1.

Thanks in advance.

in * TF "Emb. Sys. and Rob." by (350 points)

1 Answer

+1 vote
Best answer

That is an unfortunate bug on the slide. The dependence graph shows the following four dependences: 

  • RAW I0[i]->I1[i] via a[i]
  • RAW I1[i]->I1[i+1] via b[i]
  • RAW I1[i]->I2[i] via b[i]
  • RAW I1[i]->I3[i] via b[i]
The additional conflict I1[i]->I2[i+1] via b[I] does neither exist in the program nor in the dependency graph. 
by (162k points)
selected by
Imprint | Privacy Policy