December 12, 2012
Want to be the first one on your block to have a program running on Intel's new Xeon Phi coprocessor. There's a good in-depth article and how to go about this over at Dr. Dobb's Journal. Author Rob Farber goes through the different programming models available to would-be Phi developers and how to squeeze out the maximum performance
Farber points out the Phi is essentially an x86 manycore SMP processor and supports the various parallel programming models -- OpenMP and MPI, in particular. That means that most applications can get up and running with a recompilation, using Intel's own developer toolset.
But according to a previous analysis by Farber, the limited memory capacity on the devices will limit performance for typical OpenMP and MPI applications. According to him, to get performance out of the hardware, you need to make sure you are taking advantage of coprocessor's many cores and its muscular vector unit. "Massive vector parallelism is the path to realize that high performance," writes Farber.
Although there are 60 cores available on the Phi hardware Dr Dobb's obtained (a pre-production part, apparently), four-way hyperthreading allows for up to 240 threads per chip. During testing it was determined that the application should have at least half of the available threads in use. It is tempting to think that non-vector codes could also benefit from the Xeon Phi, powered by thread parallelism alone, but Farber thinks that such applications will not be performance standouts on this platform.
Since the Phi is a PCIe device with just a few gigabyte of memory, it's also important to minimize data transfer back and forth between the CPU's main memory and local store on the coprocessor card. That means doing as little data shuffling as possible and making sure the coprocessor has enough contiguous work to do using local memory. In fact, Farber maintains the a lot of the design effort to boost performance on the Phi will revolve around minimizing data transfers.
The article goes through an example of an OpenMP-based matrix code using the various programming models -- native (entire app runs on the Xeon Phi), offload (the host CPU runs the app; the compute intensive parts are offloaded), and host (the CPU does it all) -- and provides the performance results in each case.
In this case, the native model delivered the best performance, but not all that much better than the offload model. The host model was significantly slower -- on the order of 50 percent. Real applications though, with more complex data transfer requirements, are apt to be behave differently.
In any case, if you aspire to be a Phi developer, the whole article is worth a read.
Full story at Dr. Dobb's Journal
10/30/2013 | Cray, DDN, Mellanox, NetApp, ScaleMP, Supermicro, Xyratex | Creating data is easy… the challenge is getting it to the right place to make use of it. This paper discusses fresh solutions that can directly increase I/O efficiency, and the applications of these solutions to current, and new technology infrastructures.
10/01/2013 | IBM | A new trend is developing in the HPC space that is also affecting enterprise computing productivity with the arrival of “ultra-dense” hyper-scale servers.
Ken Claffey, SVP and General Manager at Xyratex, presents ClusterStor at the Vendor Showdown at ISC13 in Leipzig, Germany.
Join HPCwire Editor Nicole Hemsoth and Dr. David Bader from Georgia Tech as they take center stage on opening night at Atlanta's first Big Data Kick Off Week, filmed in front of a live audience. Nicole and David look at the evolution of HPC, today's big data challenges, discuss real world solutions, and reveal their predictions. Exactly what does the future holds for HPC?