diff --git a/Presentation/slides.md b/Presentation/slides.md index 8f75e80..d247d69 100644 --- a/Presentation/slides.md +++ b/Presentation/slides.md @@ -107,7 +107,7 @@ level: 2 transition: slide-up --- -# A simple blur algorithm +# A Simple Blur Algorithm ````md magic-move ```cpp {all|3|4|all} twoslash @@ -186,11 +186,11 @@ alloc out[2046][3072] for each ty in 0..2048/32: for each tx in 0..3072/32: alloc blurx[-1..33][32] - for y in -1..33: - for x in 0..32: + for each y in -1..33: + for each x in 0..32: blurx[y][x] = in[ty*32+y][tx*32+x-1] + in[ty*32+y][tx*32+x] + in[ty*32+y][tx*32+x+1] - for y in 0..32: - for x in 0..32: + for each y in 0..32: + for each x in 0..32: out[ty*32+y][tx*32+x] = blurx[y-1][x] + blurx[y ][x] + blurx[y+1][x] ``` @@ -199,11 +199,11 @@ for each ty in 0..2048/32: alloc out[2046][3072] for each ty in 0..2048/8: alloc blurx[-1..1][3072] - for y in -2..8: - for x in 0..3072: + for each y in -2..8: + for each x in 0..3072: blurx[(y+1)%3][x] = in[ty*8+y+1][tx*32+x-1] + in[ty*8+y+1][tx*32+x] + in[ty*8+y+1][tx*32+x+1] - if y < 0: continue - for x in 0..3072: + if each y < 0: continue + for each x in 0..3072: out[ty*8+y][x] = blurx[(y-1)%3][x] + blurx[ y % 3][x] + blurx[(y+1)%3][x] ``` @@ -237,10 +237,13 @@ hideInToc: true | Local Laplacian | 21 | 189* | 9× | 52 | 262* | 5× | --- -transition: slide-left ---- + # References - [Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines](https://dl.acm.org/doi/10.1145/2491956.2462176) - [CPU die shot](https://www.computerhope.com/issues/pictures/cpu-cache-die.png) - [Memory Hierarchy](https://www.cs.swarthmore.edu/~kwebb/cs31/f18/memhierarchy/figures/MemoryHierarchy.png) -- [Moore's Law](https://image3.slideserve.com/6552767/moore-s-law-l.jpg) \ No newline at end of file +- [Moore's Law](https://image3.slideserve.com/6552767/moore-s-law-l.jpg) + +--- + +# Questions? \ No newline at end of file