Bureaucrats, cc_docs_admin, cc_staff
337
edits
No edit summary |
|||
Line 105: | Line 105: | ||
where blockIdx.x is the unique number identifying a cuda block. This way each cuda block adds a value from a[ ] to b[ ]. | where blockIdx.x is the unique number identifying a cuda block. This way each cuda block adds a value from a[ ] to b[ ]. | ||
[[File:Cuda-blocks-parallel.png|thumbnail|CUDA blocks-based parallelism. ]] | [[File:Cuda-blocks-parallel.png|thumbnail|CUDA blocks-based parallelism. ]] | ||
Can we again make some modifications in those triple brackets ? | |||
<syntaxhighlight lang="cpp" line highlight="1,5"> | |||
add <<< 1, '''N''' >>> (dev_a, dev_b, dev_c); | |||
</syntaxhighlight> | |||
Now instead of blocks, the job is distributed across parallel threads. What is the advantage of having parallel threads ? Unlike blocks, threads can communicate between each other ? In other words, we parallelize across multiple threads in the block when massive communication is involved. The chunks of code that can run independently (without much communication) are distributed across parallel blocks. |