We frequently hear that GPUs are changing CPUs for machine studying duties. Whereas that is true to some extent — since GPUs are particularly designed to deal with the sort of parallel computations frequent in ML — it’s not the entire story. GPUs have been constructed to resolve totally different issues and aren’t a common substitute for CPUs.
Whereas studying the e book Basic-Function Graphics Processor Architectures (2018), I got here throughout a paragraph explaining why GPUs nonetheless can’t absolutely substitute CPUs. Even a number of years later, the reasoning holds up, and I assumed it could be useful to share that perception right here.
“This appears unlikely. In current techniques GPUs usually are not stand-alone computing units. Fairly, they’re mixed with a CPU both on a single chip or by inserting an add-in card containing solely a GPU right into a system containing a CPU. The CPU is answerable for initiating computation on the GPU and transferring knowledge to and from the GPU. One motive for this division of labor between CPU and GPU is that the start and finish of the computation usually require entry to enter/output (I/O) units.”
The creator additionally factors out within the following paragraph that whereas there have been efforts to introduce APIs that permit sure working system companies to be accessed instantly by the GPU, these developments don’t eradicate the necessity for the CPU. Core obligations like system administration, I/O dealing with, and sequential processing nonetheless rely closely on the CPU.
“These APIs perform by offering handy interfaces that cover the complexity of managing communication between the CPU and GPU moderately than eliminating the necessity for a CPU totally.”
So,
The software program that handles issues like studying recordsdata, connecting to units (like a keyboard or printer), and offering important companies for the pc (just like the working system does) isn’t designed to reap the benefits of the GPU. This type of software program normally doesn’t have to do many duties concurrently, which is what GPUs are good at. So, operating it on a GPU wouldn’t be useful or environment friendly.
Aamodt, Tor M., Fung, Wilson Wai Lun, Rogers, Timothy G. Basic-Function Graphics Processor Architectures. Morgan & Claypool, 2018, pp. 2.