CPU performance on GPU works

Maybe this question is not directly related to this forum, but I would like to know if there is a any recommendation for the CPU on a system which is mostly used for its GPU processors? I mean, is it OK to have a core-i3 (or core-i5) single CPU and two 1080 GPU cards? Won’t the CPU become the bottleneck?
I want to develop cuda programs and test on the GPU, so basically I do not need a very high performance CPU.

I would claim this is a common misconception, in particular if the development machine needs to approximate the platform on which the code is ultimately deployed, so realistic performance work and assessments can be performed on the development system.

If your application has a parallel portion that can be accelerated well by the use of GPUs, Amdahl’s Law tells us that application performance may become limited by the remaining serial portion of the code after massive speedup to the parallel portion.

Some rough guidelines for a well-balanced HPC system able to handle a large variety of HPC codes well:

  1. Choose a CPU with high single-thread performance. I would suggest >= 3.5 GHz base frequency.
  2. Four CPU cores per GPU are sufficient (unless you also run CPU-intensive apps requiring more cores)
  3. Ideally system memory should be four times the total GPU memory; no less than twice total GPU memory
  4. Use the highest speed-grade of DDR4 officially supported by the CPU, spread over as many channels as possible
  5. If the use case(s) involves handling large amounts of data, use of NVMe SSD should prove helpful
  6. If you expect heavy traffic between CPU and GPU, make sure to pick a CPU that provides many PCIe lanes (e.g. 40 lanes for a system with two GPUs, each of which uses a x16 link)

Right now prices for both DDR4 and GPUs are elevated due to demand/supply imbalance, so cost may force you to cut back on original build configuration plans.

Someone on these forums who recently was looking into building a system with two high-end GPUs for deep learning was considering the octa-core Intel Core i7-7820X (~ $570). I haven’t used that CPU, but it seems worth a look. AMD may have parts with comparable specification available.

Thanks for the reply.

Hi again!
Based on the price, is it OK to use Nvidia cards with AMD Ryzen? Or Ryzen is more compatible with AMD graphic cards?
Do Nvidia guys recommend that?

[UPDATE]
The intel X series, e.g. I7-7740x has no builtin graphic chip. However, the base frequency is about 4.5GHZ which is more than other normal versions with 3.5GHZ and graphic chips. Does that matter? Or it is better to have a CPU with a graphic chip?

Well, NVIDIA seems to think a GTX 1080 and AMD’s latest CPUs make for a great combo:

https://twitter.com/NVIDIAGeForce/status/895746289589039104/photo/1

I haven’t used any Ryzen, Threadripper, etc CPUs yet, but maybe someone who does will pipe up to share their experience.

Note that i7-7740x is a quad-core CPU. The base frequency is 4.3 GHz, max turbo boost is 4.5 GHz. (https://ark.intel.com/products/121499/Intel-Core-i7-7740X-X-series-Processor-8M-Cache-up-to-4_50-GHz).

You stated that you plan to use two high-end GPUs in this machine. Above, I recommended four CPU cores per GPU, so that would call for eight CPU cores in this case. I am currently using a quad-core CPU with 3.5 GHz base frequency with just a single GPU, and frankly I find that limiting at times. These days I would get a hexa-core CPU instead.

Obviously, you can configure your machine any which way you see fit, and not knowing details of your use case only the most rudimentary guidelines can be stated that would cover the majority of all HPC applications.

So, I am thinking about choosing Ryzen 1700x with 8 cores (16 threads) which has lower price than equivalent 8 core in tel processors. Although it has lower performance in single thread application.
For multithread applications it seems to be better than intel counterparts.

I think I have to compromise the slightly lower performance with higher number of cores.