
8 Designing Scientific Applications on GPUs
1.6 CUDA multithreading
The data parallelism of CUDA is more precisely based on the Single In-
struction Multiple Thread (SIMT) model, because a programmer accesses the
cores by the intermediate of threads. In the CUDA model, all cores execute the
same set of instructions but with different data. This model has similarities
with the vector programming model proposed for vector machines through the
1970s and into the 90s, notably the various Cray platforms. On the CUDA
architecture, the performance is led by the use of a huge number of threads
(from thousands up to millions). The particularity of the model is ...