I bought/installed cluster studio for Windows back in early 2012. I am just now compiling our MPI Fortran code in parallel on Windows. I had it compiled and running, I successfully ran hundreds of check-out problems.
I wanted to see how easy it would be to allow our users to run in parallel on Windows. I downloaded the MPI runtime, installed it on another machine, brought my executable over, and it crashed on a SCATTERV call-- "memcpy arguments alias each other".
I thought, "Oh, I need to update my cluster studio to be up-to-date with this MPI runtime I just installed." So I updated my cluster studio, recompiled the exact same code that was running, and it now crashes with the same SCATTERV complaint. I tracked it down to a SCATTERV call that uses the same sendbuf and recvbuf, and altered it so that it would use the MPI_IN_PLACE on the root processor. (This already makes me nervous for portability, because not all MPI libraries support this yet.)
Now it crashes on a later SCATTERV, complaining that one of the sendcounts is zero. I have no idea why this is a problem.
Is there some compiler/runtime flag that I need to set to make MPI a little less strict?
Why did the update break what worked?