I'm using Visual Studio 2013 and IncrediBuild 5.5 to build apps using Intel Parallel Studio. I've recently downloaded Intel MPI and found that it essentially has a compiler wrapper (mpiicpc) that I need to use to compile apps (and, correspondingly, run them with mpiexec).
My question is this: how do I configure Visual Studio 2013 so that mpiicpc is used instead of icpc for compilation?
This isn't quite the correct approach. What you need to do is run mpiicpc -show on the command line. This will give you the command line used when compiling/linking. Use this to set matching Visual Studio* options.
Wait, that doesn’t make much sense.
mmiicpc -show gives me an ICL command with the paths for includes and libraries. So is that it? Is
mpiicpc actually just a helper for an include/lib pair? Surely the same question applies to running the program, as we use mpiexec instead of just running the exe.
You're correct about the compiler. It is simply a wrapper which recognizes some extra options. All of them are eventually turned into a command direct to the compiler. This allows different compilers to be used.
Now, mpirun/mpiexec is another story. This is a launcher program which handles more than just starting the programs. It also sets up a common communication environment across multiple nodes, setting a significant number of configuration options at runtime. If you want to debug MPI applications in Visual Studio*, you'll need to get the Microsoft* HPC Pack Add-In.
Where can I find documentation on using the HPC pack with Intel MPI? I kind of thought that HPC Pack was something that only worked with Intel MPI, and on server-grade OS, too.