GPU Core collecting data
(The data is collected from open sources, there is no data for 2019-20, because not everything is so beautiful there, but GPUs still win)
Well, tempting, isn’t it? We shift all calculations from the CPU to the GPU and get eight times better performance!
But, of course, not everything is so simple. You can’t just take and shift everything to the GPU, we’ll talk about why later.
GPU architecture and its comparison with CPU
I present to many a familiar picture with the CPU architecture and the main elements:
CPU Core
What’s so special about it? One core and a bunch of auxiliary blocks.
Now let’s take a look at the GPU architecture:
GPU Core
A video card has many processing cores, usually several thousand, but they are combined into blocks, for NVIDIA video cards, usually 32, and have common elements, incl. and registers. The architecture of the GPU core and logical elements is much simpler than on the CPU, namely, there are no prefetchers, branch predictors, and much more.
Well, these are the key points of differences in the architecture of the CPU and GPU, and, in fact, they impose restrictions or, conversely, open up opportunities for what we can effectively count on the GPU.
I did not mention one more important point, usually the video card and the processor do not “fumble” the memory between themselves and write data to the video card and read the result back – these are separate operations and may turn out to be a “bottleneck” in your system, the graph of the pumping time versus size data is given later in the article.