MPI compilation in cygwin/XP
MPI compilation in cygwin/XP
Hello. I am a new user, and I found the instructions amazingly concise & full of great tips on how to go about (and not just for Neuron proper ;-)
However ...
Before trying to configure & build Neuron 6.2 in cygwin/XP starting with:
./configure --prefix=`pwd` --with-nrnpython --with-mpi
I got:
...
get_config_var('LIBPL') '/usr/lib/python2.5/config'
numpy not enabled. If desired add --enable-numpy to configure.
checking if python include files and libraries work... yes
checking for mpicc... no
checking for hcc... no
checking for mpcc... no
checking for mpcc_r... no
checking for mpxlc... no
checking for cmpicc... no
checking for MPI_Init... no
checking for MPI_Init in -lmpi... no
checking for MPI_Init in -lmpich... no
configure: error: Cannot compile MPI program
First, I see that I should have installed numpy beforehand - Now, when I do install it, should NEURON be rebuilt?
Or can I do --enable-numpy before I even install it?
Second, of course, I could leave out the MPI for later (all I have for now is my laptop's CPU) yet ...
I did install & configure MPICH2 .MSI for Windows beforehand
Win32 IA32 (binary) mpich2-1.0.7-win32-ia32.msi
for NEURON purposes to c:\mpich2 and ran wmpiconfig.exe
just as advised by:
http://www.neuron.yale.edu/neuron/insta ... mpile.html
So my questions are:
1) Do I need a full build of MPICH2 from its source to produce then MPI-enabled NEURON code?
2) Is MPI-enabled code a possibility with cygwin at all?
3) What MPICH2 1.0.7. elements would satisfy the configuration of MPI-enabled NEURON?
Are these just libraries or also some MPICH2 compilation utilities should enter into play?
Can someone give me a 101 explanation how MPI works?
Thanks in advance.
==================================
[/home/u139/neuron/nrn] echo $PATH
/usr/bin:/home/u139/bin:
/cygdrive/c/PROGRA~1/Borland/Delphi5/Projects/Bpl:/cygdrive/c/PROGRA~1/Borland/Delphi5/Bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/PROGRA~1/COMMON~1/ROXIOS~1/DLLSHA~1:/cygdrive/c/Program Files/QuickTime/QTSystem/:/cygdrive/c/Program Files/Delphi7SE/bin:/cygdrive/c/Program Files/Delphi7SE/Projects/BPL:/cygdrive/d/BC5/BIN:/cygdrive/d/BC5/BIN:/cygdrive/c/util
Attached is a brief listing of the nrn directory & the MPICH2 tree
[/home/u139/neuron/nrn] ls
COPYING bin configure ltmain.sh nrnrpm.spec.in
INSTALL build.sh configure.in m4 nrnversion.sh
Makefile.am config.guess depcomp missing share
Makefile.in config.h.in install-sh mysvnversion.sh src
README config.log installunix.html nmodlconf.h.in ylwrap
aclocal.m4 config.sub libtool nrnconf.h.in
[/home/u139/neuron/nrn] ls -R /cygdrive/c/mpich2/
/cygdrive/c/mpich2/:
COPYRIGHT.rtf bin include lib
README.winbin.rtf examples jumpshot setup.jpg
/cygdrive/c/mpich2/bin:
TraceInput.dll jumpshot.jar smpd.exe wmpiexec.exe
clog2TOslog2.jar jumpshot_launcher.jar traceTOslog2.jar wmpiregister.exe
irlog2rlog.exe mpiexec.exe wmpiconfig.exe
/cygdrive/c/mpich2/examples:
cpi.exe cpilog.c cxxpi.vcproj fpi.f fpilog.f
cpi.vcproj cxxpi.cxx examples.sln fpi.vfproj icpi.c
/cygdrive/c/mpich2/include:
clog_commset.h mpe.h mpi.h mpi_sizeofs.mod
clog_const.h mpe_log.h mpi.mod mpicxx.h
clog_inttypes.h mpe_logf.h mpi_base.mod mpif.h
clog_uuid.h mpe_misc.h mpi_constants.mod mpio.h
/cygdrive/c/mpich2/jumpshot:
jumpshot.ico usersguide.pdf
/cygdrive/c/mpich2/lib:
cxx.lib fmpe.lib fmpich2g.lib libfmpich2g.a libmpicxx.a mpi.lib
cxxd.lib fmpich2.lib fmpich2s.lib libmpi.a mpe.lib
[/home/u139/neuron/nrn]
However ...
Before trying to configure & build Neuron 6.2 in cygwin/XP starting with:
./configure --prefix=`pwd` --with-nrnpython --with-mpi
I got:
...
get_config_var('LIBPL') '/usr/lib/python2.5/config'
numpy not enabled. If desired add --enable-numpy to configure.
checking if python include files and libraries work... yes
checking for mpicc... no
checking for hcc... no
checking for mpcc... no
checking for mpcc_r... no
checking for mpxlc... no
checking for cmpicc... no
checking for MPI_Init... no
checking for MPI_Init in -lmpi... no
checking for MPI_Init in -lmpich... no
configure: error: Cannot compile MPI program
First, I see that I should have installed numpy beforehand - Now, when I do install it, should NEURON be rebuilt?
Or can I do --enable-numpy before I even install it?
Second, of course, I could leave out the MPI for later (all I have for now is my laptop's CPU) yet ...
I did install & configure MPICH2 .MSI for Windows beforehand
Win32 IA32 (binary) mpich2-1.0.7-win32-ia32.msi
for NEURON purposes to c:\mpich2 and ran wmpiconfig.exe
just as advised by:
http://www.neuron.yale.edu/neuron/insta ... mpile.html
So my questions are:
1) Do I need a full build of MPICH2 from its source to produce then MPI-enabled NEURON code?
2) Is MPI-enabled code a possibility with cygwin at all?
3) What MPICH2 1.0.7. elements would satisfy the configuration of MPI-enabled NEURON?
Are these just libraries or also some MPICH2 compilation utilities should enter into play?
Can someone give me a 101 explanation how MPI works?
Thanks in advance.
==================================
[/home/u139/neuron/nrn] echo $PATH
/usr/bin:/home/u139/bin:
/cygdrive/c/PROGRA~1/Borland/Delphi5/Projects/Bpl:/cygdrive/c/PROGRA~1/Borland/Delphi5/Bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/PROGRA~1/COMMON~1/ROXIOS~1/DLLSHA~1:/cygdrive/c/Program Files/QuickTime/QTSystem/:/cygdrive/c/Program Files/Delphi7SE/bin:/cygdrive/c/Program Files/Delphi7SE/Projects/BPL:/cygdrive/d/BC5/BIN:/cygdrive/d/BC5/BIN:/cygdrive/c/util
Attached is a brief listing of the nrn directory & the MPICH2 tree
[/home/u139/neuron/nrn] ls
COPYING bin configure ltmain.sh nrnrpm.spec.in
INSTALL build.sh configure.in m4 nrnversion.sh
Makefile.am config.guess depcomp missing share
Makefile.in config.h.in install-sh mysvnversion.sh src
README config.log installunix.html nmodlconf.h.in ylwrap
aclocal.m4 config.sub libtool nrnconf.h.in
[/home/u139/neuron/nrn] ls -R /cygdrive/c/mpich2/
/cygdrive/c/mpich2/:
COPYRIGHT.rtf bin include lib
README.winbin.rtf examples jumpshot setup.jpg
/cygdrive/c/mpich2/bin:
TraceInput.dll jumpshot.jar smpd.exe wmpiexec.exe
clog2TOslog2.jar jumpshot_launcher.jar traceTOslog2.jar wmpiregister.exe
irlog2rlog.exe mpiexec.exe wmpiconfig.exe
/cygdrive/c/mpich2/examples:
cpi.exe cpilog.c cxxpi.vcproj fpi.f fpilog.f
cpi.vcproj cxxpi.cxx examples.sln fpi.vfproj icpi.c
/cygdrive/c/mpich2/include:
clog_commset.h mpe.h mpi.h mpi_sizeofs.mod
clog_const.h mpe_log.h mpi.mod mpicxx.h
clog_inttypes.h mpe_logf.h mpi_base.mod mpif.h
clog_uuid.h mpe_misc.h mpi_constants.mod mpio.h
/cygdrive/c/mpich2/jumpshot:
jumpshot.ico usersguide.pdf
/cygdrive/c/mpich2/lib:
cxx.lib fmpe.lib fmpich2g.lib libfmpich2g.a libmpicxx.a mpi.lib
cxxd.lib fmpich2.lib fmpich2s.lib libmpi.a mpe.lib
[/home/u139/neuron/nrn]
-
- Site Admin
- Posts: 6305
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: MPI compilation in cygwin/XP
Good. If you find anything that is incorrect or misleading, please let us know. It's probably getting to be time for the "compile under MSWin" instructions to be reviewed and revised.krouchen wrote:I found the instructions amazingly concise & full of great tips
I should mention that the standard NEURON installer for MSWin includes Python. So unless you absolutely need something that is only in the latest source code from the subversion repository, you might want to try using NEURON's latest .exe installer, and then see if you can get numpy to work with that. If that doesn't work, you should probably install numpy before building NEURON../configure --prefix=`pwd` --with-nrnpython --with-mpi
. . .
First, I see that I should have installed numpy beforehand - Now, when I do install it, should NEURON be rebuilt?
Or can I do --enable-numpy before I even install it?
If you have no immediate need for MPI, don't bother with it now. If and when you finally do have a use for MPI, version creep in either NEURON or MPI may force you to start from scratch. Finally, the advent of multithreaded NEURON--which is available now via the latest source code from the cvs repository--will parallelize simulation execution on a standalone PC with multiple processors without having to use MPI or requiring major revision of your programs, and at the same time will allow continued use of the GUI for control and display of simulation results (something that is not possible with MPI).I could leave out the MPI for later (all I have for now is my laptop's CPU)
No need to build MPICH2 if you can get the installer.1) Do I need a full build of MPICH2 from its source to produce then MPI-enabled NEURON code?
Yes but why bother if the need is not immediate?2) Is MPI-enabled code a possibility with cygwin at all?
The last time I installed MPICH2 under MSWin, the installer didn't offer "custom installation" options. It installed what it installed, and what it installed contained what NEURON needed.3) What MPICH2 1.0.7. elements would satisfy the configuration of MPI-enabled NEURON?
The MPICH2 site has links to documentation, and you'll find extensive documentation all over the WWW. Here's a tutorial that you might want to dig into: http://www.lam-mpi.org/tutorials/nd/Can someone give me a 101 explanation how MPI works?
Re: MPI compilation in cygwin/XP
Ok.
Now, would the NEURON/MPI not work just because I've installed
cygwin (+gcc etc & the NEURON subtree) on D: (no space on C:)
and MPI in c:\mpich2
?
Now, would the NEURON/MPI not work just because I've installed
cygwin (+gcc etc & the NEURON subtree) on D: (no space on C:)
and MPI in c:\mpich2
?
Re: MPI compilation in cygwin/XP
Another related one:
Do I get MPI from here
http://www.mcs.anl.gov/research/project ... =downloads
Current Stable Version: 1.0.7
Platform Download Size
...
Win32 IA32 (binary) mpich2-1.0.7-win32-ia32.msi [http] 8.8 MB
or from somewhere else (e.g. Does cygwin offer MPI?)
Do I get MPI from here
http://www.mcs.anl.gov/research/project ... =downloads
Current Stable Version: 1.0.7
Platform Download Size
...
Win32 IA32 (binary) mpich2-1.0.7-win32-ia32.msi [http] 8.8 MB
or from somewhere else (e.g. Does cygwin offer MPI?)
-
- Site Admin
- Posts: 6305
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: MPI compilation in cygwin/XP
How do you know it isn't working? What is the symptom?krouchen wrote:would the NEURON/MPI not work just because I've installed
cygwin (+gcc etc & the NEURON subtree) on D: (no space on C:)
and MPI in c:\mpich2
-
- Site Admin
- Posts: 6305
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: MPI compilation in cygwin/XP
Yes.krouchen wrote:Do I get MPI from here
http://www.mcs.anl.gov/research/project ... =downloads
Re: MPI compilation in cygwin/XP
" How do you know it isn't working? What is the symptom?
The tail of the NRN configure listing is in my original post.
See in particular:
Before trying to configure & build Neuron 6.2 in cygwin/XP starting with:
./configure --prefix=`pwd` --with-nrnpython --with-mpi
I got:
...
checking for mpicc... no
checking for hcc... no
checking for mpcc... no
checking for mpcc_r... no
checking for mpxlc... no
checking for cmpicc... no
checking for MPI_Init... no
checking for MPI_Init in -lmpi... no
checking for MPI_Init in -lmpich... no
configure: error: Cannot compile MPI program
The tail of the NRN configure listing is in my original post.
See in particular:
Before trying to configure & build Neuron 6.2 in cygwin/XP starting with:
./configure --prefix=`pwd` --with-nrnpython --with-mpi
I got:
...
checking for mpicc... no
checking for hcc... no
checking for mpcc... no
checking for mpcc_r... no
checking for mpxlc... no
checking for cmpicc... no
checking for MPI_Init... no
checking for MPI_Init in -lmpi... no
checking for MPI_Init in -lmpich... no
configure: error: Cannot compile MPI program
Re: MPI compilation in cygwin/XP
see nrn/mswinmpiconf for some build information when using a non-cygwin mswin installation of mpich2 . I used
mpich2-1.0.3-1-win32-ia32.msi though that may be out of date. In the NEURON configure line I recommend
always replacing --with-mpi by --with-paranrn . The latter allows parallel simulation of individual cells and gap junctions.
It is robust enough now that it really should be automatic when --with-mpi is specified.
The --enable-numpy is causing confusion here due to its proximity to the mpi messages.It has nothing to do with
mpi. As an irrelevant aside, the latest version has removed this configure option since the efficient use of numpy no longer needs any
build-time information about numpy.
I should mention that future versions of NEURON for mswin (perhaps the next upload of the setup.exe) will have
enough of mpich2 (compiled under cygwin) as a
part of the installer to allow use of mpi on a multicore machine. This is not important for parallel networks or cells on a multicore
desktop since that is handled by threads. But the ParallelContext bulletin board is also useful on a multicore desktop and that
requires mpi. My opinion is that compiling mpich2 under cygwin gives the best configuration of the entire mpi+neuron environment.
mpich2-1.0.3-1-win32-ia32.msi though that may be out of date. In the NEURON configure line I recommend
always replacing --with-mpi by --with-paranrn . The latter allows parallel simulation of individual cells and gap junctions.
It is robust enough now that it really should be automatic when --with-mpi is specified.
The --enable-numpy is causing confusion here due to its proximity to the mpi messages.It has nothing to do with
mpi. As an irrelevant aside, the latest version has removed this configure option since the efficient use of numpy no longer needs any
build-time information about numpy.
I should mention that future versions of NEURON for mswin (perhaps the next upload of the setup.exe) will have
enough of mpich2 (compiled under cygwin) as a
part of the installer to allow use of mpi on a multicore machine. This is not important for parallel networks or cells on a multicore
desktop since that is handled by threads. But the ParallelContext bulletin board is also useful on a multicore desktop and that
requires mpi. My opinion is that compiling mpich2 under cygwin gives the best configuration of the entire mpi+neuron environment.
Re: MPI compilation in cygwin/XP
All this is very useful, but does not explain why the NRN configure does not find any of the 1.0.7 mpich2 within my cygwin installation.
I think it is just because none of mpich2 is on the $PATH.
True?
I think it is just because none of mpich2 is on the $PATH.
True?
Re: MPI compilation in cygwin/XP
One more
Indeed, there is no provision for any MPI compilation in the MPICH2 .. .MSI
Hence hines was right suggesting a complete rebuild of MPICH2 from source under cygwin
Is it possible to add some notes to this effect in the MSWin set of install notes?
In particular about the best MPICH2 directory tree and other naming conventions that would best fit NEURON.
Indeed, there is no provision for any MPI compilation in the MPICH2 .. .MSI
Hence hines was right suggesting a complete rebuild of MPICH2 from source under cygwin
Is it possible to add some notes to this effect in the MSWin set of install notes?
In particular about the best MPICH2 directory tree and other naming conventions that would best fit NEURON.
Re: MPI compilation in cygwin/XP
cf. my last post
https://svn.mcs.anl.gov/repos/mpi/mpich ... README.vin
is pretty comprehensive, but a shorter (hence less scary for a novice user ;-) and more cygwin/NEURON (bash) - specific version would be in order
echo $SHELL
/bin/bash
In particular (cf. hines' post) to point at whether mpd, gforker, or smpd is most appropriate for subserving running in parallel of various parts (e.g. single gap junctions vs whole populations) of NRN in parallel under MSWin/cygwin.
https://svn.mcs.anl.gov/repos/mpi/mpich ... README.vin
is pretty comprehensive, but a shorter (hence less scary for a novice user ;-) and more cygwin/NEURON (bash) - specific version would be in order
echo $SHELL
/bin/bash
In particular (cf. hines' post) to point at whether mpd, gforker, or smpd is most appropriate for subserving running in parallel of various parts (e.g. single gap junctions vs whole populations) of NRN in parallel under MSWin/cygwin.
Re: MPI compilation in cygwin/XP
MPI is not trivial, and for an average (i.e. not a sysadmin guru) NEURON user it looks even less so from within cygwin:
The following post is an annotated log of my attempt to build a functional MPI set of services, which shows how quickly issues accumulate into 'rocket-science' proportions.
Now this is where I got following the MPICH2 README (up to step 7.):
...
Installing MPE2 include files to /home/u139/mpich2-install/include
Installing MPE2 libraries to /home/u139/mpich2-install/lib
Installing MPE2 utility programs to /home/u139/mpich2-install/bin
Installing MPE2 configuration files to /home/u139/mpich2-install/etc
Installing MPE2 system utility programs to /home/u139/mpich2-install/sbin
Installing MPE2 man to /home/u139/mpich2-install/man
Installing MPE2 html to /home/u139/mpich2-install/www
Installed MPE2 in /home/u139/mpich2-install
/home/u139/mpich2-install/sbin/mpeuninstall may be used to remove the installation
make[1]: Leaving directory `/home/u139/mpich2/mpich2-1.0.7/src/mpe2'
vim .bashrc
PATH=$HOME/mpich2-install/bin:$PATH
which mpd
/home/u139/mpich2-install/bin/mpd
which mpicc
/home/u139/mpich2-install/bin/mpicc
which smpd
smpd: Command not found.
vim .mpd.conf
secretword=whatever
chmod 600 .mpd.conf
configuration file /home/u139/.mpd.conf is accessible by others
change permissions to allow read and write access only by you
[1]+ Exit 255 mpd
ls -l .mpd.conf
-rw-r--r-- 1 u139 None 19 Sep 15 11:39 .mpd.conf
chmod 600 .mpd.conf
ls -l .mpd.conf
-rw-r--r-- 1 u139 None 19 Sep 15 11:39 .mpd.conf
chmod go-r .mpd.conf
ls -l .mpd.conf
-rw-r--r-- 1 u139 None 19 Sep 15 11:39 .mpd.conf
chmod g-r .mpd.conf
ls -l .mpd.conf
-rw-r--r-- 1 u139 None 19 Sep 15 11:39 .mpd.conf
===========
Now,
Can someone please tell me how can get to really
chmod 600 .mpd.conf
under cygwin
or else mpd would not run,
or mpd is not at all what one should be running?
Then how about smpd ?
[/home/u139/mpich2/mpich2-1.0.7] ./configure --help
...
--with-pm=name - Specify the process manager for MPICH.
Multiple process managers may be specified as long as they all use
the same pmi interface by separating them with colons. The
mpiexec for the first named process manager will be installed.
Example: --with-pm=gforker:mpd:remshell builds the three process
managers gforker, mpd, and remshell; only the mpiexec from gforker
is installed into the bin directory.
Bottomline:
So mpd is the process manager by default, gforker is for a single CPU, and smpd is for Windows?
i.e.
[/home/u139/mpich2/mpich2-1.0.7] ./configure --with-pm=smpd ...
Related Q's:
Can the cygwin install only be an MPI client?
Can it use an server on another MSWin machine (that does not have cygwin)?
Who/what starts smpd process there?
Does having cygwin simplify starting smpd?
~~~~~~~~
[/home/u139/mpich2/mpich2-1.0.7] find -name smpd
./src/pmi/smpd
./src/pm/smpd
./doc/smpd
~~~~~~
D:\MPICH2\bin\ smpd.exe
Process manager service for MPICH2 applications
Friday, April 04, 2008, 5:47:16 PM
The following post is an annotated log of my attempt to build a functional MPI set of services, which shows how quickly issues accumulate into 'rocket-science' proportions.
Now this is where I got following the MPICH2 README (up to step 7.):
...
Installing MPE2 include files to /home/u139/mpich2-install/include
Installing MPE2 libraries to /home/u139/mpich2-install/lib
Installing MPE2 utility programs to /home/u139/mpich2-install/bin
Installing MPE2 configuration files to /home/u139/mpich2-install/etc
Installing MPE2 system utility programs to /home/u139/mpich2-install/sbin
Installing MPE2 man to /home/u139/mpich2-install/man
Installing MPE2 html to /home/u139/mpich2-install/www
Installed MPE2 in /home/u139/mpich2-install
/home/u139/mpich2-install/sbin/mpeuninstall may be used to remove the installation
make[1]: Leaving directory `/home/u139/mpich2/mpich2-1.0.7/src/mpe2'
vim .bashrc
PATH=$HOME/mpich2-install/bin:$PATH
which mpd
/home/u139/mpich2-install/bin/mpd
which mpicc
/home/u139/mpich2-install/bin/mpicc
which smpd
smpd: Command not found.
vim .mpd.conf
secretword=whatever
chmod 600 .mpd.conf
configuration file /home/u139/.mpd.conf is accessible by others
change permissions to allow read and write access only by you
[1]+ Exit 255 mpd
ls -l .mpd.conf
-rw-r--r-- 1 u139 None 19 Sep 15 11:39 .mpd.conf
chmod 600 .mpd.conf
ls -l .mpd.conf
-rw-r--r-- 1 u139 None 19 Sep 15 11:39 .mpd.conf
chmod go-r .mpd.conf
ls -l .mpd.conf
-rw-r--r-- 1 u139 None 19 Sep 15 11:39 .mpd.conf
chmod g-r .mpd.conf
ls -l .mpd.conf
-rw-r--r-- 1 u139 None 19 Sep 15 11:39 .mpd.conf
===========
Now,
Can someone please tell me how can get to really
chmod 600 .mpd.conf
under cygwin
or else mpd would not run,
or mpd is not at all what one should be running?
Then how about smpd ?
[/home/u139/mpich2/mpich2-1.0.7] ./configure --help
...
--with-pm=name - Specify the process manager for MPICH.
Multiple process managers may be specified as long as they all use
the same pmi interface by separating them with colons. The
mpiexec for the first named process manager will be installed.
Example: --with-pm=gforker:mpd:remshell builds the three process
managers gforker, mpd, and remshell; only the mpiexec from gforker
is installed into the bin directory.
Bottomline:
So mpd is the process manager by default, gforker is for a single CPU, and smpd is for Windows?
i.e.
[/home/u139/mpich2/mpich2-1.0.7] ./configure --with-pm=smpd ...
Related Q's:
Can the cygwin install only be an MPI client?
Can it use an server on another MSWin machine (that does not have cygwin)?
Who/what starts smpd process there?
Does having cygwin simplify starting smpd?
~~~~~~~~
[/home/u139/mpich2/mpich2-1.0.7] find -name smpd
./src/pmi/smpd
./src/pm/smpd
./doc/smpd
~~~~~~
D:\MPICH2\bin\ smpd.exe
Process manager service for MPICH2 applications
Friday, April 04, 2008, 5:47:16 PM
-
- Site Admin
- Posts: 6305
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: MPI compilation in cygwin/XP
Maybe so, but by using the installer package for MSWin I avoided all of the problems that krouchen has run into, and was able to get distributed execution of simulations going within relatively short order. Success depends on proper installation and configuration of software from four sources, and getting all these pieces to work together: NEURON, cygwin, Microsoft's .NET stuff, and MPICH2. It looked like a low-risk bet to save time and effort by not trying to compile MPICH2 from source, but instead assuming that the MPICH2 team knew what they were doing when they built their installer for MSWin. That assumption seemed to be true, but there were still plenty of "gotchas" (like getting the right verison of .NET, figuring out what to do about "fork failures").hines wrote:My opinion is that compiling mpich2 under cygwin gives the best configuration of the entire mpi+neuron environment.
Re: MPI compilation in cygwin/XP
ted wrote
" Maybe so, but by using the installer package for MSWin ...
The installer package for MSWin you approved does not contain any MPI compiler or SD library
(all of which are required to build/install NEURON with explicit MPI --with-mpi support)
: it just has smpd & mpiexec, and does not even include gforker.
So did you then build/install NEURON without explicit MPI support and rely on some implicit breakdown of models into separate threads executed at either the same or different CPU?
" Maybe so, but by using the installer package for MSWin ...
The installer package for MSWin you approved does not contain any MPI compiler or SD library
(all of which are required to build/install NEURON with explicit MPI --with-mpi support)
: it just has smpd & mpiexec, and does not even include gforker.
So did you then build/install NEURON without explicit MPI support and rely on some implicit breakdown of models into separate threads executed at either the same or different CPU?
-
- Site Admin
- Posts: 6305
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: MPI compilation in cygwin/XP
The MPICH2 installer for MSWin that I used a year ago may have contained different stuff than the most recent MPICH2 installer does.krouchen wrote:The installer package for MSWin you approved does not contain any MPI compiler or SD library
I didn't have to do anything special--justSo did you then build/install NEURON without explicit MPI support and rely on some implicit breakdown of models into separate threads executed at either the same or different CPU?
./configure --prefix=/usr/local/nrn --with-iv=/usr/local/iv --with-paranrn
make
make install
I haven't compiled NEURON from source code under MSWin since late 2007, and am not likely to do it again any time soon--had to reinstall MSWin on my desktop and laptop PCs (in each case, a "critical update" from Microsoft broke MSWin, but in different ways. Never had anything like that happen with Linux).