4 ms·
Why can't a GPU power a computer?
by zsrxx 7y ago
Why can't a GPU power a computer?
- Retric 7y agoThe biggest issue is lack of huge caches, and the extreme latency to main memory due to the speed of light. GPU’s are fine or even better for a wide range of compute tasks see CUDA etc, they just end up being very slow at a subset of common tasks.
- hermitdev 7y agoCircuits don't operate at speed of light, though. People like to say this over and over again, but electron mobility through a circuit is only around 2/3s the speed of light, IIRC. They may have very tiny mass, but they still have mass.
- ArnoVW 7y agoSame reason we have OLAP and OLTP systems. Same reason it makes sense for some use cases to set up a Hadoop cluster, and for others to have a single but fast CPU: some tasks can be run in parallel, others can't. See Amdahl's law : https://en.wikipedia.org/wiki/Amdahl%27s_law https://en.wikipedia.org/wiki/Amdahl%27s_law
- joking 7y agoYou can calculate the value of each screen pixel without knowing the value of the others. To calculate the n value of a fibonnaci sequence you have to calculate the n-1 and n-2 values first, so it doesn't matter how many cores do you have. Gpus are for the former and CPUs for the latest.
- chillee 7y agoNitpick: I understand your point in general, but it's not actually true that you need to calculate the n-1 and n-2 values first for Fibonacci. You can use Binet's formula or matrix exponentiation to calculate it without such a dependency.
- tenebrisalietum 7y agoI'm not an expert and might be horribly wrong and welcome edification, but I believe you don't want your GPU powering your computer because - GPUs don't handle I/O other than writing to video RAM. - GPUs don't handle interrupts. - GPUs don't handle branching well. For the first two, a lot of infrastructure that is part of the chipset and platform would have to be extended to each compute unit of the GPU. Imagine a database on a GPU. It's not like 1.5K-2k+ cores that are super good at math can read and write your disk or disk array at once.
- Faark 7y agoGPUs are made to execute a limited set of the same operations operation on on a huge amount of data in parallel. This is a totally different workload than your usual computer programs, that commonly have a long and complicated series of commands. Thus just translating your program 1:1 to your GPU computer would make it way slower. Your GPU runs probably around ~1.5GHz, a third of your CPUs. The GPU does have a few thousand cores that run in parallel while our consumer CPUs does have at best a dozen (that are more capable than any single GPU core), but most of those are often already idle, since it's a lot of work to make your software take advantage of them. For some tasks it's worth it, and those take advantage of e.g. you GPU.