MPI compilation in cygwin/XP
Posted: Tue Sep 09, 2008 8:25 pm
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]