How important is the CPU when building a CUDA system?

CptSupermrkt asked:

I’m just a clueless sysadmin and we need to put together a couple of machines specifically for users to use CUDA. We’re looking at the Dell PowerEdge T620 and jamming four CUDA cards into the sucker. Researching the CUDA components is another topic in itself, but one thing I was wondering is, how important is the CPU component for a machine whose sole purpose is CUDA processing? Does CUDA depend on the CPU in any way, or is it a black/white thing where once you start CUDA execution, everything is 100% on the GPU? Or is there some balance/mix to it?

The bottom line question is, can we buy the cheapest CPU and get away with it, keeping in mind that the sole purpose of these machines is for CUDA programming?

My answer:

You still need a CPU to:

  • Make decisions. CUDA just does calculations; it does not have anything like an if statement to decide what to calculate. Code running on the CPU decides what will be done and then sets up the calculation for CUDA to execute.
  • Copy data in and out of the GPUs. To speed this up make sure you have as much PCIe bandwidth as possible. This is likely to entail more servers with fewer GPUs per server, if you run into this as a bottleneck.
  • Compile the programs to be run on the GPUs.

CPUs are relatively cheap; there’s no reason to skimp on this.

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.