Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bank conflict in parallel reduction using interleaved addressing method

I was reading the presentation on Optimizing Parallel Reduction in CUDA by Mark Harris. Here is a slide I have problem in:

enter image description here

It says there is bank conflict problem in this method. But why? All threads are accessing two consecutive memory cell which are in different banks. Neither of them accesses a specific memory cell concurrently.

like image 808
Majid Azimi Avatar asked Nov 21 '16 19:11

Majid Azimi


1 Answers

This presentation dates from the very early days of CUDA, and applies to first generation hardware.

That hardware had shared memory arranged in 8 32 bit banks. Because every eighth entry in the shared array resides in the same bank, there are bank conflicts at a number of levels of that reduction tree.

This problem was addressed in newer hardware, where the number of banks was expanded to 32, meaning that this sort of bank conflict cannot occur.

like image 186
2 revs Avatar answered Oct 22 '22 22:10

2 revs