Advantages of program 2:
1. The tasks are divided and distributed to make the workload more balanced.
2. We utilize cache locality by dividing it into small chunks
ipadpro
Some other advantages mentioned in class: Fine-grained parallelism and more concurrency
andykhuu
To expand on the comments above, by dividing the work of blurring the horizontals of the image into chunks, we can have concurrent operations that blur each chunk independently in addition to having better utilization of cache locality since each chunk would not have have to be written to global memory until its completion.
Advantages of program 2: 1. The tasks are divided and distributed to make the workload more balanced. 2. We utilize cache locality by dividing it into small chunks