# Assignment 1

1. Give the distance vectors in the following two loop nests.
```do i = 2, n
do j = 1, n-1
a[i,j] = a[i,j] + a[i-1,j+1]
end do
end do

do i = 1, n
do j = 2, n-1
a[j] = (a[j] + a[j-1] + a[j+1])/3
end do
end do
```

2. Write down the basic vectorization algorithm and the basic condition for a loop to be parallelizable (Hint: use direction vectors). Apply the basic vectorization for the following two loop nests. In addition, for each loop check whether it is parallelizable, that is, whether its iterations can be executed in parallel.
```do i = 1, n
do j = 2, n
a[i,j] = a[i,j-1] + c
end do
end do

do i = 1, n
do j = 1, n
a[i,j] = a[i-1,j] + a[i-1,j+1]
end do
end do
```

3. Define may and must problems, flow-sensitive and flow-insensitive problems in interprocedural analysis. Define and classify the problems of MOD, USE and KILL.
Edit | Attach | Watch | Print version |  | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r3 - 2008-04-02 - ChenDing

 Home Main Web View Edit Account
 Edit Attach
Copyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding URCS? Send feedback