4 ms·
>> Contemporary core counts coupled with very wide simd makes CPUs functionally similar to ASIC/fpga in many cases. > I don't think so. For things that have a
by CyberRabbi 5y ago
>> Contemporary core counts coupled with very wide simd makes CPUs functionally similar to ASIC/fpga in many cases.
> I don't think so. For things that have a way to be solved in parallel, you can get at least a 100x advantage easily.
That’s kind of my point. CPUs are incredibly parallel now in their interface. Let’s say you have 32 cores and use 256 bit simd for 4 64-bit ops. That would give you ~128x improvement compared to doing all those ops serially. It’s just a matter of writing your program to exploit the available parallelism.
There’s also implicit ILP going on as well but I think explicitly using simd usually keeps execution ports filled.
- WJW 5y agoTBH 32 or even 64 cores does not sound all that impressive compared to the thousands of cores available on modern GPUs and presumably even more that could be squeezed into a dedicated ASIC. In any case, wouldn't you run out of memory bandwidth long before you can fill all those cores? It doesn't really matter how many cores you have in that case.
- CyberRabbi 5y agoThose thousands of cores are all much more simple and do not have simd and have a huge penalty for branching. There are problems for which GPUs and CPUs are roughly equally well suited. GPUs have their cons.