Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CUDA: What is scattered write?

Tags:

cuda

Various CUDA demos in the CUDA SDK refer to "scattered write". What is this scattered write and why is it so great? In contrast to what does it stand?

like image 575
shoosh Avatar asked Oct 18 '09 19:10

shoosh


1 Answers

I'm going to use CUDA's terminology here.

scattered write means that you're writing from each cuda thread to an arbitrary address (ie. the threads of your warp will not write in consecutive memory, e.g.). It contrasts with frame-buffer writes, which are 2d-coherent, and can be coalesced by the hardware. Those were the only writes available to GPUs until not so long ago.

They are the opposite operation of a gather read, which reads data from scattered location, and gathers all of them prior to the warp of threads executing in a SIMD fashion on the gathered data. However, gather reads have long been available on GPUs through arbitrary texture fetches.

like image 145
Bahbar Avatar answered Nov 06 '22 02:11

Bahbar