Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Intel Xeon Phi (MIC)

j0e
New Contributor I
852 Views

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 

0 Kudos
9 Replies
Steven_L_Intel1
Employee
852 Views

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.

0 Kudos
j0e
New Contributor I
852 Views

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

0 Kudos
Steven_L_Intel1
Employee
852 Views

Windows hosting is coming.... If you buy a Xeon Phi card soon, drop me a line. Yes, the coprocessor runs Linux.

0 Kudos
TimP
Honored Contributor III
852 Views

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. 

0 Kudos
j0e
New Contributor I
852 Views

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

0 Kudos
Steven_L_Intel1
Employee
852 Views

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....

0 Kudos
TimP
Honored Contributor III
852 Views

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.

0 Kudos
j0e
New Contributor I
852 Views

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!

0 Kudos
Steven_L_Intel1
Employee
852 Views

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.

0 Kudos
Reply