[mpich-discuss] Problems with conversion from 32-bit to 64-bit
Hiatt, Dave M
dave.m.hiatt at citi.com
Wed Jun 2 09:36:57 CDT 2010
You've got an installation problem with your Visual Studio, or at least a PATH and visibility problem. Those are libraries that are used by the debugger, you get the same dll's without the "d" suffix for Release. First things first, make sure you've installed SP1 along with Visual Studio 2008, I suspect you have because you have x64 at all, but make sure.
Now there are about 10 different reasons you can have library placement problems, from doing a custom install, to using software mounted drive extensions, and so forth, so there is not one reason that fits all. So unfortunately there is no golden bullet that I can give that will for sure get you going, but it's lib access related.
First see where those libs got installed, do a witch hunt with the Windows Explorer for them and make sure you have that lib in your path to be loaded. You can change you link to not be incremental, but that slows down linking, and you can build statically, but that makes things bigger.
-----Original Message-----
From: mpich-discuss-bounces at mcs.anl.gov [mailto:mpich-discuss-bounces at mcs.anl.gov] On Behalf Of Euan Barlow
Sent: Wednesday, June 02, 2010 5:57 AM
To: mpich-discuss at mcs.anl.gov
Subject: Re: [mpich-discuss] Problems with conversion from 32-bit to 64-bit
Hi Jayesh and Dave,
Thanks very much for your suggestions.
I have uninstalled the 32-bit version from my machine (using the windows installer and selecting remove option) before installing the 64-bit version so there should be no issues with crossover -- the include and lib paths are also both set to the 64-bit folders in the "\program files" directory.
I have tried running the program from the directory which it's in, as well as from the c-drive with the full path given, and the same error message is produced in both cases.
I have also tried running the executable itself from the command line (without mpiexec) and the same error is produced.
I'm not familiar with the dependency walker, and therefore I'm not sure if I'm using it correctly. I've downloaded it and tried to open the program but it could not find the files "msvcp90d.dll" and "msvcr90d.dll". When I try to start the profile process it fails and produces the same error message.
All of the above was with the Active Solution Configuration set to Debug, with Active Solution Platform set to x64 through the configuration manager in visual studio.
However, if I change the Active Solution Configuration to Release then the program executes fine and doesn't produce any errors. I'm pretty new to using visual studio and so I'm not completely sure as to what the differences are between selecting debug/release, but as I understand it I'm better off with the debug configuration in order to highlight run-time errors. I did try to use the project-property-page to match the debug project properties with the release project properties but that also didn't work (I'm not sure how valid that is anyway).
Are there any other basic settings which I should be selecting within visual studio in order to produce a 64-bit mpi program?
Cheers
Euan
________________________________________
From: mpich-discuss-bounces at mcs.anl.gov [mpich-discuss-bounces at mcs.anl.gov] On Behalf Of jayesh at mcs.anl.gov [jayesh at mcs.anl.gov]
Sent: 01 June 2010 18:40
To: mpich-discuss at mcs.anl.gov
Subject: Re: [mpich-discuss] Problems with conversion from 32-bit to 64-bit
That is an excellent point. You need to make sure that you compile/link with the x64 header/libs and not use a copy of the libs from a 32-bit installation (You will get similar error msgs if you compile with 32-bit libs).
-Jayesh
----- Original Message -----
From: "Dave M Hiatt" <dave.m.hiatt at citi.com>
To: mpich-discuss at mcs.anl.gov
Sent: Tuesday, June 1, 2010 12:05:58 PM GMT -06:00 US/Canada Central
Subject: Re: [mpich-discuss] Problems with conversion from 32-bit to 64-bit
Also check to make sure that you haven't copied the needed Win32 libraries from Program Files(x86) to the build directories. You should be getting your MPICH2 libs from Program Files only, otherwise you'll get the Win32 libs. If you have then you're going to satisfy the x64 calls with Win32's, and the two won't run together.
-----Original Message-----
From: mpich-discuss-bounces at mcs.anl.gov [mailto:mpich-discuss-bounces at mcs.anl.gov] On Behalf Of jayesh at mcs.anl.gov
Sent: Tuesday, June 01, 2010 11:37 AM
To: Euan Barlow
Cc: mpich-discuss at mcs.anl.gov
Subject: Re: [mpich-discuss] Problems with conversion from 32-bit to 64-bit
Hi,
A typical way of debugging a problem like this is to use the dependency walker (http://msdn.microsoft.com/en-us/library/ms235265.aspx) to determine the source of the problem.
Try running your MPI program from the directory (cd x64\Release) where the executable exists (mpiexec -n 2 MYMPIPGM.exe).
Try running the MPI program from command line (without mpiexec) and see if it works.
Regards,
Jayesh
----- Original Message -----
From: dave
To: mpich-discuss at mcs.anl.gov
Sent: Tuesday, June 1, 2010 11:11:34 AM GMT -06:00 US/Canada Central
Subject: RE: [mpich-discuss] Problems with conversion from 32-bit to 64-bit
We are using Windows 7, MS Visual Studio 2008, and MPICH2 1.2.1, we build both the Win32 and x64 versions from the same projects. We have some machines with Win32 MPI and some with x64, both work as advertised.
I would suggest based on your descriptions to look for some obvious things.
Remember that the x64 build puts the Debug and Release in x64\Debug and x64\Release instead of just Release and Debug. It might just be as simple as not having and up to date copy procedure to where you execute from.
Also remember to restart the smpd for the x64 version. I'd look for things like that. We found it went very smoothly and works fine, so the underlying components work just fine, I can tell you that.
----- Original Message -----
From: "Euan Barlow" <euan.barlow at strath.ac.uk>
To: jayesh at mcs.anl.gov, mpich-discuss at mcs.anl.gov
Sent: Tuesday, June 1, 2010 11:11:34 AM GMT -06:00 US/Canada Central
Subject: RE: [mpich-discuss] Problems with conversion from 32-bit to 64-bit
Hi Jayesh,
Thanks for your quick response.
I have now reinstalled the 64-bit visual studio SP1 runtime and recompiled the code but it still produces the same error. I've noticed that if I select more than 3 processors, the following error code is produced in addition to the previous one:
"Error posting readv, An established connection was aborted by the software in your hosty machine.(10053)
unable to post a read for the command string,
sock error: Error = 10053"
I'm not sure if these errors are related.
The test code that I am trying to compile is the cxxpi.cxx code which I copied from the 32-bit installation files.
Cheers
Euan
________________________________________
From: jayesh at mcs.anl.gov [jayesh at mcs.anl.gov]
Sent: 01 June 2010 16:40
To: mpich-discuss at mcs.anl.gov
Cc: Euan Barlow
Subject: Re: [mpich-discuss] Problems with conversion from 32-bit to 64-bit
Hi,
# Did you recompile your code after installing the 64-bit version of MPICH2 ?
# Did you install the 64-bit Visual studio SP1 runtime (http://www.microsoft.com/downloads/details.aspx?familyid=EB4EBE2D-33C0-4A47-9DD4-B9A6D7BD44DA&displaylang=en) ?
Let us know the results.
Regards,
Jayesh
----- Original Message -----
From: "Euan Barlow" <euan.barlow at strath.ac.uk>
To: mpich-discuss at mcs.anl.gov
Sent: Tuesday, June 1, 2010 10:32:02 AM GMT -06:00 US/Canada Central
Subject: [mpich-discuss] Problems with conversion from 32-bit to 64-bit
Hello,
I have been using the latest version of MPICH2 on a 32-bit windows OS with MS visual studio 2008 and I have recently converted to a 64-bit machine.
If I download the 32-bit version of MPICH2 my code successfully executes as before; however, if I then uninstall the 32-bit version and install the 64-bit version I can't get the same code to execute. The error message produced is:
"launch failed: CreateProcess(test_parallel_3.exe) on 'machine_name' failed, error 14001 - The application has failed to start because its side-by-side configuration is incorrect..."
As far as I can tell, mpiexec and smpd are both installed and working correctly. I think the problem is with Visual Studio. I have used the configuration manager to set the active solution platform to "x64" with the active solution configuration as "debug", but this doesn't seem to help. Has anyone else experienced this problem?
I would appreciate any help/advice.
Many Thanks
Euan
_______________________________________________
mpich-discuss mailing list
mpich-discuss at mcs.anl.gov
https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
_______________________________________________
mpich-discuss mailing list
mpich-discuss at mcs.anl.gov
https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
_______________________________________________
mpich-discuss mailing list
mpich-discuss at mcs.anl.gov
https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
_______________________________________________
mpich-discuss mailing list
mpich-discuss at mcs.anl.gov
https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
_______________________________________________
mpich-discuss mailing list
mpich-discuss at mcs.anl.gov
https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
More information about the mpich-discuss
mailing list