One of the big selling points of the Xeon Phi is that you can simply run multi-threaded Xeon code on the Xeon Phi. If you want to get decent performance out of the Xeon Phi, that code should be compiled with the Intel C or fortan Compiler and the Intel MKL math libraries. In that case, Intel claims many "typical applications" get about 2 to 2.5 higher performance with the Xeon Phi. A few exceptions get more.

That is an impressive performance boost, but not earth shattering. These numbers are much more realistic than the typical benchmarks of 100x that are throw around by the GPU folks. Those benchmarks are typically comparing a single threaded non SIMD binaries running on a CPU to a fully threaded carefully tuned application running on a GPU. 

The question remains in which applications a cheaper quad CPU solution is more effective. Before the Xeon E5 (Sandy Bridge EP) came out, AMD was quite succesful with their less expensive quad CPU platforms in the HPC world. It will be interesting to compare the performance per dollar and performance per watt of such quad CPU platforms with a CPU + Phi solution. There are certainly applications where the CPU + Phi wins hands down, but we are willing to bet that there are lots of HPC applications where it is a close call (e.g. highly threaded, but harder to vectorize code).

The point is of course that the time investment to get there is a lot lower than is the case with CUDA on NVIDIA's Tesla K20. We have heard from several companies that debugging CUDA code is still a pretty daunting experience. One good example can be found here. The maturity of the Intel compilers and high performance software is a big plus for the Xeon Phi. The numerous papers and OpenMP to CUDA frameworks/translators clearly indicate that porting OpenMP applications to CUDA is not necessarily straightforward. That in contrast with the Xeon Phi, where existing OpenMP applications run faster on the Xeon Phi without a recompile. OpenMP is simply the ecosystem where the Xeon Phi thrives. And Intel has an excellent track record when it comes to supporting OpenMP in its compilers.

The Xeon Phi might also prove to be a bit more flexible and forgiving. The Xeon Phi architecture still, at a high level, resembles a general purpose Xeon core. We're talking about 60 in-order x86 cores with wider SIMD units, a 512KB L2 feeding 4 threads per core. 

GPUs on the other hand are built for more "extreme" parallelism: hundreds of stream processors, with small shared L1-caches and one relatively small L2-cache. 

We'll have to hold final judgement until we get a Xeon Phi equipped system in house, but our first impressions are that the Xeon Phi looks like a more cost effective, potentially easier to use alternative to high-end GPUs for HPC.

Dell's C8220 and The TACC Stampede


View All Comments

  • Kevin G - Saturday, November 17, 2012 - link

    That rumor has a grain of truth to it. A slide deck about Larrabee from Intel indicated a socketable version fitting into a quad socket Xeon motherboard. This was while Intel still had consumer plans for Larrabee which have since radically changed.

  • alpha754293 - Wednesday, November 14, 2012 - link

    I don't even know what generally (and publically accessible) programs are available that you would be able to use to do this sort of HPC testing.

    OpenMP code is sort of "easier" to come by. A program that has both an OpenMP and a CUDA version where it's a straight port - I can't even think of one.

    The only one that might be a possiblity would be Ansys 13/14 because they do have some limited static structural/mechanical FEA capabilities that can run on the GPU, but I don't know how you'd be able to force it onto the Xeon Phis.

  • TeXWiller - Wednesday, November 14, 2012 - link

    The next version of OpenMP should have accelerator suppport via the OpenACC scheme. I'd bet that most engineering applications will be able to support most accelerators like Phi, Tesla and APUs in a transparent manner simply through the math libraries, not perhaps in the most optimal but at least in a sufficiently worthwhile way. Reply
  • rad0 - Wednesday, November 14, 2012 - link

    One thing I've yet to understand about the Xeon Phi is: do you get to run anything you want on it, or not?

    Could you run Oracle's JVM (or any other JVM) on it? I know HPC isn't all that interested in Java, but a cheap 60-thread Java machine would be very interesting to play with.

    Can you just ssh into the embedded linux and run anything you want?
  • coder543 - Wednesday, November 14, 2012 - link

    Why Java? A dozen negative adjectives pop into my mind at the mere mention of the word outside of a coffee shop. Reply
  • madmilk - Wednesday, November 14, 2012 - link

    You can probably run Java on it, but it will not run well. Most Java code is application code - very branchy, something the Phi's memory architecture cannot handle well. The JVM certainly will not vectorize code either, so you have all those vector units being wasted.

    This is really much closer to a GPU in terms of the kind of optimizations that must be done for performance, even if the underlying instruction set is x86.
  • Jaybus - Thursday, November 15, 2012 - link

    No, it is much closer to a CPU than a GPU. This is an area where it differs VASTLY from a GPU. In fact, the cores are CPUs. Reply
  • llninja1 - Thursday, November 15, 2012 - link

    According to Tom's Hardware, you can login to the Xeon Phi card and get a command line prompt

    so that implies you can do whatever you want with some finagling. Whether your 60-thread JVM thought would work well or not on this architecture remains to be seen.
  • extide - Wednesday, November 14, 2012 - link

    Do some Folding@Home benchmarks on a Phi if at all possible!

  • tipoo - Wednesday, November 14, 2012 - link

    Like the people in charge of F@H would develop and release a new folding core so that it could run on one of these in the off chance some enthusiast has one of these multi thousand dollar cards and a computer system that can run it?

    Not going to happen. This isn't a general CPU core that any existing software can run on, nor is it aimed at home users.

Log in

Don't have an account? Sign up now