Any applications that can would be either run on clusters of servers to really parallelise the work, or is so custom you may as well buy a threadripper and a custom case.
Hell most apps can barely take advantage of multi core CPU.
Any applications that can would be either run on clusters of servers to really parallelise the work, or is so custom you may as well buy a threadripper and a custom case.
Hell most apps can barely take advantage of multi core CPU.
I have a 40 core CPU machine with a GTX 1080 Ti GPU. I run deep learning models with 90% GPU utilization and those 40 cores are barely used.
I would love to have 3 more GPUs to run in parallel to test different neural network architectures. Sometimes I'll run a CPU script at the same that processes machine learning data that uses all 40 cores.
I would use 4000 CPU cores and 10 GPUs in a machine if I could get them and I don't even do machine learning full time. I'm personally happy to see this trend of more core counts.
Sure you can write code that nominally use all the cores, but I do not think that the performance increase is going to be linair to the core count.
It's not even down to CPU core count - it would be limited by the speed of a single core.
While you are right that there are very few apps able to take advantage of quad GPUs, for anyone who does serious number crunching it’s not a problem at all to use all of them using popular deep learning frameworks. They aren’t just for deep learning, you can do a lot more with them. And e.g. PyTorch will automatically parallelize certain things across multiple GPUs for you, with near linear speed up.
I wpild be interested to see how pytorch scales GPU wise, relative to CPU clock speed. I am sure there is a point where it will fall off, but not having a 4 GPU system I can't check :)