![](/cs149/fall21content/media/dsl/images/slide_037.jpg)
Back to Lecture Thumbnails
![](/cs149/fall21content/media/users/martigp/profile.jpg)
martigp
![](/cs149/fall21content/media/users/awu/profile.jpg)
awu
@martigp Just speculating here, but perhaps that has to do with the fact that we need +/-1 entries for computation in both x and y? In blurx(x,y) we take x-1 & x+1, while in out(x,y) we take y-1 & y+1.
![](/cs149/fall21content/media/users/evs/profile.jpg)
evs
@martigp Since were moving along in groups of three the pixels at the border will still need the two other pixels to perform the blur.
![](/cs149/fall21content/media/users/apappu/profile.jpg)
apappu
It's interesting to me that from a client perspective Halide allows a range of specifications for those who understand/have an idea of what a more efficient implementation may be and those who don't, since the programmer can specify details of the blur at varying levels of granularity
Please log in to leave a comment.
Copyright 2021 Stanford University
This is a bit of a semantics question, but why does the compute.at generated double loop iterate over +2 on the y and x coordinate. Surely it would only have to do so on the y coordinate for the second inner loop to work correctly.