Not sure if I did the same. I first made the petsc install in a folder in my cygwin home and then copied the mpich executables, their .dll dependencies, my executable and its dependencies in a folder on my desktop.
Then I went there with both terminals (cygwin and window) and launched using mpiexec.hydra.exe in the folder (noting the difference between using ./ and .\ prepended to both executables in the two terminals). With cygwin terminal things worked as expected. It is kind of premarure now for testing performances, but I feel that some compromise here can be admitted, considering the different constraints. I didn't pay too much attention in this phase but I haven't seen nothing suspiciously slow as well (the point is that I don't have a native linux install now to make a meaningful comparison). However, running from the Windows terminal, things worked differently for me. It seems that it worked, but I had to give a second Enter hit... maybe I'm missing something behind the lines. I still have to recompile with OpenMPI to have a meaningful comparison Thanks Paolo Inviato da smartphone Samsung Galaxy. -------- Messaggio originale -------- Da: Satish Balay <[email protected]> Data: 28/06/20 18:17 (GMT+01:00) A: Satish Balay via petsc-users <[email protected]> Cc: Paolo Lampitella <[email protected]>, Pierre Jolivet <[email protected]> Oggetto: Re: [petsc-users] PETSc and Windows 10 On Sun, 28 Jun 2020, Satish Balay via petsc-users wrote: > On Sun, 28 Jun 2020, Paolo Lampitella wrote: > > * For my Cygwin-GNU route (basically what is mentioned in PFLOTRAN > > documentation), am I expected to then run from the cygwin terminal or > > should the windows prompt work as well? Is the fact that I require a second > > Enter hit and the mismanagement of serial executables the sign of something > > wrong with the Windows prompt? > > I would think Cygwin-GNU route should work. I'll have to see if I can > reproduce the issues you have. I attempted a couple of builds - one with mpich and the other with cygwin-openmpi mpich compiled petsc example works sequentially - however mpiexec appears to require cygwin env. >>>>>>>> C:\petsc-install\bin>ex5f Number of SNES iterations = 4 C:\petsc-install\bin>mpiexec -n 1 ex5f [cli_0]: write_line error; fd=448 buf=:cmd=init pmi_version=1 pmi_subversion=1 : system msg for write_line failure : Bad file descriptor [cli_0]: Unable to write to PMI_fd [cli_0]: write_line error; fd=448 buf=:cmd=get_appnum : system msg for write_line failure : Bad file descriptor Fatal error in MPI_Init: Other MPI error, error stack: MPIR_Init_thread(467): MPID_Init(140).......: channel initialization failed MPID_Init(421).......: PMI_Get_appnum returned -1 [cli_0]: aborting job: Fatal error in MPI_Init: Other MPI error, error stack: MPIR_Init_thread(467): MPID_Init(140).......: channel initialization failed MPID_Init(421).......: PMI_Get_appnum returned -1 C:\petsc-install\bin> <<<<<< cygwin-openmpi compiled petsc example binary gives errors even for sequential run >>>>>>>> C:\Users\balay\test>ex5f Warning: '/dev/shm' does not exists or is not a directory. POSIX shared memory objects require the existance of this directory. Create the directory '/dev/shm' and set the permissions to 01777. For instance on the command line: mkdir -m 01777 /dev/shm [ps5:00560] [[INVALID],INVALID] ORTE_ERROR_LOG: A system-required executable either could not be found or was not executable by this user in file /cygdrive/d/cyg_pub/devel/openmpi/v3.1/prova/openmpi-3.1.6-1.x86_64/src/openmpi-3.1.6/orte/mca/ess/singleton/ess_singleton_module.c at line 388 [ps5:00560] [[INVALID],INVALID] ORTE_ERROR_LOG: A system-required executable either could not be found or was not executable by this user in file /cygdrive/d/cyg_pub/devel/openmpi/v3.1/prova/openmpi-3.1.6-1.x86_64/src/openmpi-3.1.6/orte/mca/ess/singleton/ess_singleton_module.c at line 166 -------------------------------------------------------------------------- Sorry! You were supposed to get help about: orte_init:startup:internal-failure But I couldn't open the help file: /usr/share/openmpi/help-orte-runtime: No such file or directory. Sorry! -------------------------------------------------------------------------- <<<<<<< So looks like you would need cygwin installed to run Cygwin-MPI binaries.. Also I don't know how cygwin/windows interaction overhead will affect parallel performance. Satish
