[mpich-discuss] mpich2-1.2.1 on Cygwin/Vista

Sherry Frese Sherry.Frese at Numerex-LLC.com
Mon Jan 4 10:31:41 CST 2010


Thanks,

Unfortunately my applications are  both C and Fortran.  But so far 
I've been able to compile and link (using the MPICH2 libraries) 
on  my windows 7 machine.  I just can't run under mpiexec. (I've 
tried executables built on  the windows 7 machine  & older 
executables built under XP with the same results).

I'll wait to hear from you.

--Sherry

At 09:12 AM 1/4/2010, you wrote:
>Hi,
>  Let me take a look at this and get back to you.
>  Meanwhile, if you are planning to work with C/C++ MPI programs 
> (not fortran MPI programs) you can install MPICH2 on windows and 
> use the gcc libs (you can even compile/link directly with the 
> windows mpi libraries with gcc) provided with the installation.
>
>(PS: To install MPICH2 on Vista/windows_7 type "msiexec /i 
>mpich2-1.2.1-win-ia32.msi" from an administrator command prompt. 
>Right-click on the command prompt icon and select "Run as 
>administrator" to run a command prompt with admin privileges. 
>Similarly to uninstall MPICH2 type "msiexec /x mpich2-1.2.1-win-ia32.msi".)
>Regards,
>Jayesh
>----- Original Message -----
>From: "gustav" <gustav at indiana.edu>
>To: mpich-discuss at mcs.anl.gov
>Sent: Thursday, December 24, 2009 7:54:06 AM GMT -06:00 US/Canada Central
>Subject: [mpich-discuss] mpich2-1.2.1 on Cygwin/Vista
>
>
>Well, it works. Finally. But with one little snag--see below.
>
>     System: Windows Longhorn/Vista (not yet supported!) Ver 6.0 
> Build 6002 Service Pack 2
>     uname:  CYGWIN_NT-6.0-WOW64 Crawley 1.5.25(0.156/4/2) 
> 2008-06-12 19:34 i686 Cygwin
>     CPU:    AMD Phenom X4 9550
>     gcc:    gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
>     MPI:    mpich2-1.2.1
>     config: ./configure --prefix=/home/gustav/mpich2-1.2.1 
> --disable-sharedlibs --enable-timer-type=gettimeofday 
> --with-device=ch3:ssm --with-thread-package=pthreads
>
>An important step that must be emphasized for Cygwin users is that to
>enable XSI IPCs (this activates shared memory too) Cygserver must be
>run on the machine. See /usr/share/doc/Cygwin/cygserver.README for
>more info. Also, the CYGWIN environmental variable must be set to
>"server". This is described in the doc, as well.
>
>With all this done and MPI compiled and installed, it works for a user
>with admin privileges. Here's a brief demo:
>
>     root at Crawley 515 # echo $CYGWIN
>     server
>     root at Crawley 516 # which mpdboot
>     /home/gustav/mpich2-1.2.1/bin/mpdboot
>     root at Crawley 517 # mpdboot --ncpus=4 --verbose
>     running mpdallexit on Crawley
>     LAUNCHED mpd on Crawley  via
>     RUNNING: mpd on Crawley
>     root at Crawley 518 # mpirun -np 4 hostname
>     Crawley
>     Crawley
>     Crawley
>     Crawley
>     root at Crawley 519 # mpirun -np 4 /home/gustav/src/MPI-tests/hellow2.exe
>     Crawley: hello world from process 0 of 4
>     Crawley: hello world from process 1 of 4
>     Crawley: hello world from process 2 of 4
>     Crawley: hello world from process 3 of 4
>     root at Crawley 520 # mpdallexit
>     root at Crawley 521 #
>
>Alas, there is a little snag. User "root" has admin privileges. User
>"gustav" does not. And here is what happens when this hapless
>individual attempts the same:
>
>     gustav at Crawley 556 $ echo $CYGWIN
>     server
>     gustav at Crawley 557 $ mpdboot --ncpus=4 --verbose
>     running mpdallexit on Crawley
>     LAUNCHED mpd on Crawley  via
>     RUNNING: mpd on Crawley
>     gustav at Crawley 558 $ mpirun -np 4 hostname
>     Crawley
>     Crawley
>     Crawley
>     Crawley
>     gustav at Crawley 559 $ mpirun -np 4 /home/gustav/src/MPI-tests/hellow2.exe
>     Assertion failed in file mpidi_pg.c at line 277: ((pg)->ref_count) == 0
>     internal ABORT - process 0
>     [cli_0]: aborting job:
>     internal ABORT - process 0
>     rank 0 in job 2  Crawley_50796   caused collective abort of all ranks
>       exit status of rank 0: killed by signal 9
>     gustav at Crawley 560 $ mpdallexit
>     gustav at Crawley 561 $
>
>On the other hand, this little non-MPI program that tests shared memory
>stuff still works for the non-admin user:
>
>     gustav at Crawley 563 $ cat shm.c
>     #include <stdio.h>
>     #include <sys/types.h>
>     #include <sys/ipc.h>
>     #include <sys/shm.h>
>
>     int main(int argc, char *argv[])
>     {
>         int shmid;
>
>         if((shmid = shmget(IPC_PRIVATE, 1, IPC_CREAT)) == -1){
>             perror("shmget");
>         }
>         shmctl(shmid, IPC_RMID, NULL);
>     }
>
>     gustav at Crawley 564 $ cc -o shm shm.c
>     gustav at Crawley 565 $ ./shm
>     gustav at Crawley 566 $ echo $?
>     0
>     gustav at Crawley 567 $
>
>Question: Why can't the non-admin user execute the MPI program?
>
>Greetings to all,
>
>--
>Zdzislaw (Gustav) Meglicki, Office of the Vice President for Information
>Technology, Indiana University, 601 E. Kirkwood Ave., Room 116,
>Bloomington, IN 47405-1223, USA, http://perth.ovpit.indiana.edu/gustav,
>Ph: 812-856-5597 (o), 812-345-3284 (m), Fax: 812-855-3310/812-856-3147,
>
>_______________________________________________
>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

----------------------------
Sherry Frese
NumerEx
505-828-9050
NOTE NEW EMAIL ADDRESS - Sherry.Frese at NumerEx-LLC.com



More information about the mpich-discuss mailing list