Image filter demo so far: We can change the coloration! Speedup: How much faster is the process with multiple cores? If we double the cores, and finish in half the time, that's perfect Speedup calculation: This would be 2.0 Perfect use of cores: number of cores = speedup Less than perfect is more common Embarrassingly Parallel: Our current image filter is this way Should have good speedup Could be less than perfect (shared cache, memory bandwidth, etc) We need a task that takes more time! Can we outline the edges of things in a picture? Gradient over a neighborhood How about something from an mri? Membranes, and outlining How many neighbors to consider? Ideally, this should be adjustable Pixels often have a fixed size, in nanometers or whatnot Often in the image metadata Biologists work in distance units, not pixels A note about order: Do we change the image we're looking at? If so, we'll run into ordering problems! If not: A fence When are all of the processes done? Let's count how many pixels we consider part of an edge With a global count? Locking and unlocking takes time Just because the image is grayscale doesn't mean it can't have color added Easy way to outline things