4 ms·
Because GPU are physically built to manage parallel task, but only a few kinds They are very specialized CPU are generics, they have lots of transistors to ha
by JackSlateur 2y ago
Because GPU are physically built to manage parallel task, but only a few kinds
They are very specialized
CPU are generics, they have lots of transistors to handle a lot of different instructions
- Groxx 2y agoAlso moving data to and from the GPU takes MUCH more time than between CPU cores (though combined chips drastically lower this difference).
- markhahn 2y agoin the olden days of gp-cpu this was certainly true. is it still true? do you just mean "latency overhead for setting up a single PCIe transaction is much larger than flinging a cache line across QPI/etc"?
- markhahn 2y agoI think this is a really unfortunate way to explain it. The issue is not that CPUs have a lot of different instructions - hardly anyone uses decimal math instructions, for instance, and no one cares about baroque complex addressing modes. The difference is that GPU code is designed to tolerate latency by having lots of loop iterations treated as threads. A modern CPU tolerates latency by maintaining the readiness of hundreds of individual instructions ("in flight") - essentially focusing on minimizing the execution latency of each instruction. (which also explains how CPUs use caches and very high clocks, but wind up with somewhat fewer cores and threads.) (note that I'm using cores and threads correctly here, not the nvidia way.)