EE563 Class Group Exercises

Exercise 1

Write a loop with all three types (flow, anti, output) of data dependences.

Exchange with group members.

Draw an arrow for each dependence and label with the type. Also say if it is a loop-carried dependence.

Discuss with group. Explain to those who got it wrong.

Exercise 2

Write a loop with shared, private, reduction, and induction variables.

Exchange with group members.

Label each type of variable. Parallelize the loop, if possible.

Discuss with group. Explain to those who got it wrong.

Exercise 3

Each group member picks a loop from one of the benchmarks in the Handouts directory. Make sure you don't pick the same loop.

Each members estimates the execution time.

Present your finding to the group and discuss differences.

Exercise 4

Each group member picks a loop from one of the benchmarks in the Handouts directory. Make sure you don't pick the same loop.

Each members estimates the cache hits and misses.

Present your finding to the group and discuss differences.