- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I guess I'm being a little lazy and posting a question here instead of searching around for an answer. I only just noticed that Intel has a new GPU-like (?) processor that goes by Xeon Phi Coprocessor and plugs into your standard PCIe* x16 slot.
While I can code (weakly) with OpenMP or MPI for clusters, coding for GPUs seems a little more daunting, so I have not made any progress there (and I'm not sure if my problems would best be solved on GPUs, I get mixed messages from people).
My question, does Intel Fortran (now or in furture releases) make programing on the Phi any easier (i.e., something like MPI or OpenMP), or do you still need to program more like CUDA?
thanks
-joe
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can use either OpenMP or MPI with Intel Xeon Phi coprocessors. and in the future you can use coarrays too. Our message is that you don't have to learn a new coding style and that your existing code can deliver great performance on the Intel MIC architecture with, typically, the addition of a few directives. Furthermore, the same code that runs well on Xeon Phi also runs well on "regular" Xeon processors.
We provide some Fortran samples in the current product that illustrate offloading, or you can simply build to run natively on the coprocessor using the language and techniques you already know.
If this interests you, I highly recommend James Reinders' new book Intel Xeon Phi Coprocessor High Performance Programming. You may also find http://software.intel.com/en-us/articles/programming-for-multicore-and-many-core-products useful.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Great, Thanks Steve!
I mostly use Windows machines for development. Any idea on when support for Windows hosting of Phi will be released? It looks like currently only linux is supported as host (http://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss). Ideally, it would be great if Visual Studio could be used to create binaries for both Xeon and Xeon Phi, as it looks like the later requires it own binaries, and will be running some paired down version of linux regardless of the host OS.
Also, I guess I'll have to look into ways via MPI of getting around the limited memory of the Phi (8 GB), which might be a problem if running 60 processes on the chip. Nevertheless, this could be just what I have been looking for.
cheers,
-joe
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Windows hosting is coming.... If you buy a Xeon Phi card soon, drop me a line. Yes, the coprocessor runs Linux.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As I understood it, Windows hosting would not include support for MPI messaging with coprocessor. If you are interested in this useful mode, linux is a good choice. Primary Windows Fortran method would be by the OpenMP offload syntax which would be standardized in OpenMP 4.0.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Tim. That's a little disappointing. I had been using OpenMP, until I needed more flops, so I starting writing everything with MPI, as I could run that code on both clusters and SMP workstations without having to change anything. If I understand you correctly, OpenMP would allow both cpu (under windows) and coprocessor (under linux) to execute code using some offload pragmas. I'll take a look at that, but I'd like to be able to write code that I can easily run on a cluster when needed.
I assume the demand is simply not there to support MPI in mixed OS's then?
-joe
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think it's more "first things first".... I don't know what all is planned for the future, but one has to start somewhere....
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re "first things first" Windows is seen as a workstation market, not a cluster market, meaning for Intel(c) Xeon Phi(tm) a single host node including one or more coprocessor cards.
Acceptance of Intel MPI solutions in the Windows market has been weak, and OpenMPI has discontinued Windows development, leaving Microsoft sponsored choices in control of the market.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, I certainly understand that. As I mentioned, I really only use Windows for development/testing, then port code to a linux cluster for production runs.
One more question for clarification. When the Windows host is released, will fat binaries be generated so that I could run MPI only on the coprocessor, or will only OpenMP, MKL, etc be supported (it's not clear from you comment above Tim)? I ask because I'd rather not have to also purchase the Intel Cluster Studio for Linux as well.
Thanks for your help Steve and Tim!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think it's too early to know exactly what the software configuration will be. I think it will look a lot like it does on Linux, supporting both offload and native builds. I suggest you look through http://software.intel.com/en-us/articles/intel-xeon-phi-coprocessor-system-software-developers-guide to get a feel for it.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page