Building native applications for MIC platform in Visual Studio

Building native applications for MIC platform in Visual Studio

Hello Everyone,

I am using MPSS 3.1 + Intel C++ ComposerXE 2013 SP1 + Microsoft Visual Studio 2012. I need to build some native MIC applications. I can build simple native samples using the Intel compiler in command line, but for my target application I would like to use Visual Studio IDE. When I add the compiler option to target native execution on MIC, my project does not compile. The compiler appears to be unable to deal with the command line options that are passed by Visual Studio based on other the project settings. I researched the subject in the documentation and online and could not any explicit statements whether it is possible to compile native MIC binaries from Visual Studio.

So the question is: Is it possible to use Visual Studio IDE to manage and build projects intended to produce native MIC binaries, or am I limited to the command line mode?

Thank you in advance. 

12 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Best Reply

That is not possible under the MSVS IDE because the /Qmic option requires all other options be specified using Linux-style syntax.

I will inquire w/our IDE integration developers whether this will ever be possible but for now, Xeon Phi™ native compilation on Windows is restricted to command-line mode only.


While you are at it. When installed in Windows 7 I am unable to command line build native mode applications (with /Qmic) due to missing header files. I've posted (weeks ago) a message in the "sticky" above hoping it gains some attention. I also put in a gripe on the C++ forum. From as best as I can tell /Qmic "redirects" INCLUDE to point to some other directories (containing different versions of standard headers). The alternate directories are not installed with the installation of MPSS. I think the .lib files are there, but I have been unable to compile, and Link has not been tested.

Jim Dempsey

Hi Jim,

I'm not sure which version of MPSS you installed but the missing stdio.h suggests the binutils are not installed. Under MPSS 2.1 one runs the install_binutils.bat and under MPSS 3.1 one installs the essentials.msi.

Can you confirm if you installed the binutils?

Just noticed in your C++ post you indicated MPSS 3.1.

When installed, binutils essentials is registered as Intel(R) Xeon Phi(TM) coprocessor essentials under Control Panel\Programs\Programs and Features and expands into c:\Program Files\Intel\MPSS under the k1om-mpss-linux and x86_64-mpsssdk-linux folders.


Running MPSS 3.1

I see the k1om-mpss-linux folder but not the x86_64-mpsssdk-linux folder.

Why wouldn't installing MPSS 3.1 on Windows 7 also install all the necessary development components such as essentials.msi?

I searched for essentials.msi, found it, installed.

Avast Anti-Virus reports k1om-mpss-linux-readelf.exe is infected.

I request it install anyway.

I now see: x86_64-mpsssdk-linux folder

Will test later on today.

Thanks for the tip. I've been running under CentOS.... but I dearly miss Visual Studio.

Also, during initial installation of MPSS 3.1 the following files were listed as infected by Avast


Jim Dempsey


I do not know why the Windows MPSS installation does not install the binutils also. I will ask. The MPSS installation was setup like that on Linux too in the early days where it also caused similar confusion. Eventually the Linux install moved to a process where all components needed installed under the same installation. I think that is definitely needed under Windows too.

I'll let you know what I learn and will also pass on the notes about the virus infections detected.

For legal reasons the two .msi files must remain separate including their installation. I noticed binutils is also a separate .rpm on Linux but installs along with other MPSS components by virtue of the wildcard character used with the yum/zypper commands. I offered ideas to the Windows readme maintainer to slightly alter the installation flow so the essentials .msi install happens earlier and is a bit more obvious.


Running the essentials.msi did the trick. I had issues with the make file from Linux running with nmake on Windows. Some tweaks to the app had to be made too. App compiles on Windows and runs in native mode on the Xeon Phi.

The MPSS installation on Windows notices that the installed system has or has not Intel Parallel Studio. If PS is installed, then additional functionality is installed. This would be the place to install the essentials as well as take care of the other "essentials" for Xeon Phi development like making sure the native image contains the necessary *.so libraries such as and additional libraries. You could provide a checkbox facility as to what libraries to include in the Phi image if size an issue. If size of RAMDISK is an issue then these libraries could be place in MIC_PROXY_FS_ROOT, or more appropriately add a MIC_PROXY_LD_LIBRARY_PATH. The user could then select which place the libraries reside.

Jim Dempsey

After some further discussion and research, it may be possible to support /Qmic under the Microsoft Visual Studio IDE. I submitted a feature enhancement (see internal tracking id below) for this support and will update as I hear back regarding that.

(Internal tracking id: DPD200358512)

whats the status on the /Qmic support? is there a public page we can see issue progress?

I checked the status of your request and the decision is that this will not be implemented. As Kevin stated, the biggest obstacle is that the /Qmic option requires all other options be specified using Linux-style syntax, which is but one of many required changes to make this work. Since we have not had a high demand for this feature from many customers, the Intel Xeon Phi™ native compilation on Windows is restricted to command-line mode only. Thanks for your feedback.

Leave a Comment

Please sign in to add a comment. Not a member? Join today