Previous | Next --- Slide 28 of 47
Back to Lecture Thumbnails
ufxela

In class it was mentioned that the diagonal approach might be bad for the cache. Would it be possible to set up the array in memory so that diagonals would be adjacent to eachother in memory (or some other design) so as to prevent unwanted cache behavior?

haiyuem

^I assume we can set up the cache in a very weird way specific to this workload, but it cannot be generalized and the benefit/cost would be too low to attempt.

potato

@ufxela it may be possible to "rotate the grid", however I think the different lengths between diagonals would still make parallelism inefficient. Ideally all tasks would do an equal amount of work.

lonelymoon

We need to figure out independent task to parallelize this problem. From my understanding from today's lecture, each point in this problem has complex dependency relation between each other. However, by analyzing in the diagonal direction, we can find the independency between node on the same diagonal. By using this independency, we can parallelize this problem.

assignment7

I think that another problem with that implementation is using the bandwidth very inefficiently. This implementation requires frequent read/write operations, but during the runtime, there are on average 50% of the maximum required bandwidth is wasted.

Please log in to leave a comment.