8
$\begingroup$

There are lot of articles being written about how the newly launched Intel Xeon Phi will steal the HPC\Super Computer market share from the competitors. Intel Knights is equipped with 72 cores and 4 sockets making it 288 core system. Whereas a single Gtx980 has 2048 CUDA cores. How can these two compete in terms of Computing power (It looks like GTX is way ahead)? Or are they targeting completely different work loads, in which case what are some examples?

Thanks.

$\endgroup$
  • 1
    $\begingroup$ You can look at the difference comparisons here. But this is somewhat dependent on the task at hand. $\endgroup$ – user189035 Dec 16 '15 at 21:25
  • 1
    $\begingroup$ That link is quite informative. Thanks for sharing. $\endgroup$ – Chandan Apsangi Dec 17 '15 at 20:05
8
$\begingroup$

Like Brian said, the Xeon Phi cores are not at all comparable to the CUDA ones. The problem with the Phi is that it's somewhere between two horses.

If you are doing highly parallel floating point calculations, NVIDIA will provide you with something like 3 times the performance at 1/4th of the price. For double precision the gap is smaller, but NVIDIA still ends up being 20% cheaper for the same performance.

If your problem is very hard to parallelize, the Phi will not help you at all and instead something like an Intel Xeon will give you the best performance.

The sweet spot for the Phi is then something highly parallel, but divergent, i.e. each thread has to do something different. An example of this would be Monte Carlo simulations. They are for instance used in simulations of radiotherapy treatments, where GPUs only give a small (~2x) speed-up over a standard CPU.

Intel is also trying to sell the the Xeon Phi on the fact that you only need to rewrite your code minimally. However, for anything that is not trivial to parallelize, the work becomes the same as for a GPU.

$\endgroup$
  • $\begingroup$ Also, for academics who can get the OpenACC toolkit for free, rewriting code for an NVIDIA card is not necessarily as difficult! $\endgroup$ – dr.blochwave Dec 17 '15 at 11:30
  • $\begingroup$ It's not just that you don't have to rewrite in CUDA, but also that Xeon Phi supports programming models that run on other platforms. There's very little difference between tuning for modern Xeon and Xeon Phi - both require careful threading and vectorization. And what runs well on Xeon should run well on CPUs from AMD, ARM and IBM. On the other hand, NVIDIA's models will lock you into their hardware. $\endgroup$ – Jeff Jan 2 '16 at 16:57
  • $\begingroup$ I would respectfully disagree. While a 22 core Xeon and a Xeon Phi might be a similar, it is very different from a 4 core AMD and even more so for a ARM processor, which features a different instruction set entirely. As for NVIDIA locking you into their hardware, both AMP and OpenCL allows you to run your code on AMD devices and indeed CPUs. $\endgroup$ – LKlevin Jan 3 '16 at 18:09
  • $\begingroup$ Instruction set doesn't matter unless you write assembly. I've tuned code for PowerPC, POWER, AMD Opteron, all sorts of Xeon and both KNC and KNL. The techniques are largely the same except for memory hierarchy nuances. My OpenMP C/Fortran is completely portable up to compiler bugs. $\endgroup$ – Jeff Jan 14 '16 at 4:57
7
$\begingroup$

CUDA cores aren't at all comparable to the separate processor cores in the Xeon Phi coprocessors. The Phi coprocessor cores are full fledged processors that can have their own loops, branching, etc. while the CUDA cores are all executing the same operations on various slices of your data.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.