| ▲ | dragontamer 20 hours ago | |
wait/arrive seems obvious to me. So I'll talk about that... As a synchronization primitive, its very useful for things like:
I don't know what a "cluster" is, but its clearly some new subdivision of threads (aside from wavefront, group, block, grid, etc. etc.). Because locking is so inefficient on GPUs, you probably want to use barriers in the typical case.Cluster arrive + Cluster wait allow for you to split the barrier into two units. Maybe the first half of a loop must be synchronized, but there's "spare extra work" you can do before calling wait(). This likely makes threading smoother.
This is likely more efficient for a number of algorithms than a singular barrier.--------- As far as the L2 cache thing specifically: I don't know. | ||