<div dir="ltr">Today GPUs have two levels of parallelism. They are a set of SMID processors that use SPMD parallelism between them.<br><br>In NVidia GPUs, for example, the stream multiprocessor has only on instruction decoder and all eight stream processors execute instructions issued by decoder in SMID. The parallelism between stream multiprocessors is SPMD, sharing data through global memory.<br>
As common GPU workloads are very regular, this saves the area of seven decoder units.<br><br>In ATI GPUs it's almost the same, but the stream multiprocessor is called SMID core and has 16 stream processors.<br><br><br>
<div class="gmail_quote">2008/8/23 Mikhail Kuzminsky <span dir="ltr"><<a href="mailto:kus@free.net">kus@free.net</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
BTW, why GPGPUs are considered as vector systems ?<br>
Taking into account that GPGPUs contain many (equal) execution units,<br>
I think it might be not SIMD, but SPMD model. Or it depends from the software tools used (CUDA etc) ?<br><font color="#888888">
<br>
Mikhail Kuzminsky<br>
Computer Assistance to Chemical Research Center<br>
Zelinsky Institute of Organic Chemistry<br>
Moscow<br>
</font></blockquote></div><br></div>