how to use mpich2 on multicore PC under MSWin

General issues of interest both for network and
individual cell parallelization.

Moderator: hines

Post Reply
ted
Site Admin
Posts: 6289
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

how to use mpich2 on multicore PC under MSWin

Post by ted »

Hardware: standalone quad core PC.
Software:
(1) NEURON 7.1 (315:dbb6f14221c5) 2009-06-08 (most recent alpha installer for MSWin) running under Vista.
(2) Modified test0.hoc

Code: Select all

objref pc
pc = new ParallelContext()
{
printf("There are %d processes.  My rank is %d but I don't know where I am.\n", pc.nhost, pc.id)
}
{
pc.runworker()
pc.done()
}
quit()
(anything to do with hostname has been omitted since system("hostname", s) doesn't work on this machine under Vista, even though hostname works properly when called directly from the cygwin command line).

In this setting, mpdboot seems to be irrelevant--it complains "invalid port info: no_port" and doesn't start mpd. But
mpd &
succeeds as indicated by the fact that mpdtrace -l returns
loki_49384 (192.168.1.7)
which satisfies the minimal criterion according to
viewtopic.php?f=31&t=1761#p6240
and mpiexec with np=1 does indeed work:

Code: Select all

c:\nrn71\bin\bash-3.2$ mpiexec -np 1 nrniv -mpi test0.hoc
numprocs=1
NEURON -- VERSION 7.1 (315:dbb6f14221c5) 2009-06-08
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2008
See http://www.neuron.yale.edu/credits.html

There are 1 processes.  My rank is 0 but I don't know where I am.
However, np>1 doesn't work:

Code: Select all

c:\nrn71\bin\bash-3.2$ mpiexec -np 2 nrniv -mpi test0.hoc
Fatal error in MPI_Init: Other MPI error, error stack:
MPIR_Init_thread(294).............: Initialization failed
MPID_Init(93).....................: channel initialization failed
MPIDI_CH3_Init(43)................: 
MPID_nem_init(176)................: 
MPID_nem_seg_create(103)..........: 
MPID_nem_remove_shared_memory(529): unable to remove shared memory - unlink Permission deniedrank 0 in job 2  loki_49384   caused collective abort of all ranks
  exit status of rank 0: return code 1
ted
Site Admin
Posts: 6289
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: how to use mpich2 on multicore PC under MSWin

Post by ted »

On a single core laptop running WinXP, system() fails to execute hostname, but calling mpiexec with np>1 succeeds--

Code: Select all

c:\nrn71\bin\bash-3.2$ mpiexec -np 2 nrniv -mpi test0.hoc 
numprocs=2
NEURON -- VERSION 7.1 (315:dbb6f14221c5) 2009-06-08
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2008
See http://www.neuron.yale.edu/credits.html

There are 2 processes.  My rank is 1 but I don't know where I am.
There are 2 processes.  My rank is 0 but I don't know where I am.
ted
Site Admin
Posts: 6289
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: how to use mpich2 on multicore PC under MSWin

Post by ted »

On Win2K running as a "single processor guest machine" implemented with VirtualBox on a quad-core host running CentOS 5.3--

system("hostname", name) failed, but hostname worked when called from the rxvt shell--exactly as happened with WinXP and Vista.

mpdboot, mpd, and mpdtrace all issued the following message when I tried running them under a user account (not Administrator):

Code: Select all

c:\nrn71\bin\bash-3.2$ configuration file /cygdrive/c/nrn71/mpd.conf is accessible by others
change permissions to allow read and write access only by you
Sure enough, Everybody had "Full Control" of mpd.conf. As Administrator I removed all of Everybody's permissions (by deselecting "Allow inheritable permissions from parent to propagate to this object"), then granted "Full Control" to ted. Following this, mpdboot, mpd, and mpdtrace all worked as they did under WinXP on a single processor laptop.
fietkiewicz
Posts: 18
Joined: Thu Jun 27, 2013 5:13 pm
Location: Hobart and William Smith Colleges
Contact:

Re: how to use mpich2 on multicore PC under MSWin

Post by fietkiewicz »

I have the same error: unable to remove shared memory. I'm using Windows 7 on a dual core PC, and I have only one account that has admin privileges. When I right-click on mpd.conf, there are 4 groups listed: Authenticated users, SYSTEM, Administrators, and Users. I've tried setting all permissions to "Deny" for just Authenticated users as well as Users, but I still get the error. Any suggestions?
Post Reply