You are viewing the course site for a past offering of this course. The current offering may be found here.
Lecture 24: High Performance Image Processing & Halide (37)
ayushsm

It seems to me like the pipeline relies a lot on something like a cache in order to exercise good locality. But later on we also end up having to consider things like dependencies and other sorts of factors that may prevent us from using the locality to the fullest. Is there a particular hierarchy by which we should choose how to design our pipeline (and/or optimize it) or am I just misunderstanding how this works?

sunsarah

After thinking about this some more, how exactly are the values in blurx stored so that they can be used almost immediately in blury? From lecture, I remember that I that the values in blurx are stored as close to the chip (on registers?), which can help improve locality and have almost immediate access, but in that case, does the optimal amount of code we can store from blurx to blury depend on the number of registers we have? Is there some correlation?

afang-story

I believe one of the points of halide is that there are many tradeoffs when scheduling programs, including its dependence on the machine (such as cache size etc.) so there isn't always a particular/general strategy for scheduling

You must be enrolled in the course to comment