intro story D-Flow FM

 

D-Flow Flexible Mesh

D-Flow Flexible Mesh (D-Flow FM) is the new software engine for hydrodynamical simulations on unstructured grids in 1D-2D-3D. Together with the familiar curvilinear meshes from Delft3D 4, the unstructured grid can consist of triangles, pentagons (etc.) and 1D channel networks, all in one single mesh. It combines proven technology from the hydrodynamic engines of Delft3D 4 and SOBEK 2 and adds flexible administration, resulting in:

  • Easier 1D-2D-3D model coupling, intuitive setup of boundary conditions and meteorological forcings (amongst others).
  • More flexible 2D gridding in delta regions, river junctions, harbours, intertidal flats and more.
  • High performance by smart use of multicore architectures, and grid computing clusters.
An overview of the current developments can be found here.
 
The D-Flow FM - team would be delighted if you would participate in discussions on the generation of meshes, the specification of boundary conditions, the running of computations, and all kinds of other relevant topics. Feel free to share your smart questions and/or brilliant solutions! 

 

=======================================================
We have launched a new website (still under construction so expect continuous improvements) and a new forum dedicated to Delft3D Flexible Mesh.

Please follow this link to the new forum: 
/web/delft3dfm/forum

Post your questions, issues, suggestions, difficulties related to our Delft3D Flexible Mesh Suite on the new forum.

=======================================================

** PLEASE TAG YOUR POST! **

 

 

Sub groups
D-Flow Flexible Mesh
DELWAQ
Cohesive sediments & muddy systems

 


Message Boards

MPI Linking error in Delwaq2

JT
James Tomlinson, modified 7 Years ago.

MPI Linking error in Delwaq2

Youngling Posts: 6 Join Date: 4/21/11 Recent Posts
I am having a problem compiling delwaq2 on my 64bit Linux machine. See the attached output from make ds-install. I think this is a linking error but I am not sure why the MPI library is being added to the linker when it the flow module appears to have linked correctly with MPI. Any advice welcome? I have not started to dig in the build system yet, but that will be my next task.

Regards,
James
JT
James Tomlinson, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 6 Join Date: 4/21/11 Recent Posts
OK my fault for not reading things correctly. Editing build.sh for the correct MPI link options worked fine. Sorry for the noise.
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Dear James,

what exactly did you adapt in the build.sh ?
I am facing a similar issue with Mpich2 1.4.1 during the compilation of Delft3D.


After I read your post I accordingly adapted the build.sh (lines 248 - 255) so that the mpich2 1.4.1 would be linked correctly.

However, the problem remained the same.

Did you adapt different parts of the build.sh ?



Kind regards,

Oliver
MJ
Michel Jeuken, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 156 Join Date: 1/21/13 Recent Posts
Hi Oliver,

First question would be: what compiler do you use? If you use the Intel compiler, you changed the right lines, but if you use gfortran (GNU fortran), the settings are in line 243-247 (notice the if statement).

Regards,
Michel
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Hi Michel,

thanks for your reply,

I intend to use the Intel Fortran Compiler, which is installed (ifort 12.0.2).

All prerequisites are met, except for "expat-devel" which I could not locate, so I installed the "libexpat-dev" package instead.

The "build.sh" is adjusted and the ".configure" file in the home directory leads to the mpich2 directory, "which mpicc" "which mpiexec" accordingly
display the correct path.

I am a bit puzzled - maybe it is something minor I am missing here - I asked my collegues but they could not figure it out either.

Do I need to adjust something else? The flags etc. all work - only the "make ds-install" command ends with the errormsg. once it reaches the "/Delwaq2" part.


I am anxious to use Delf3d, so I am naturally looking forward to hearing from you guys again,

Cheers,

Oliver
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Find enclosed the build.sh part I adjusted:

I adjusted the gnu fortran part as well, to see if I could use the gnufortran but supposedly gave the wrong error?

if [ "$compiler" = 'gnu' ]; then
    addpath PATH /usr/local/mpi-install_1.4.1-gcc-4.6.3/bin
    export MPI_INCLUDE=/usr/local/mpi-install_1.4.1-gcc-4.6.3/include
    export MPILIBS_ADDITIONAL="-L/usr/local/mpi-install_1.4.1-gcc-4.6.3/lib -lfmpich -lmpich -lmpl"
    # export MPILIBS_ADDITIONAL=" "
    export MPIFC=/usr/local/mpi-install_1.4.1-gcc-4.6.3/bin/mpif90
else
    # Intel compilers
    #addpath PATH /opt/mpich2-1.0.8-intel64/bin
    addpath PATH /usr/local/mpi-install_1.4.1/bin
    export MPI_INCLUDE=/usr/local/mpi-install_1.4.1-PIC/include
    export MPILIBS_ADDITIONAL="-L/usr/local/mpi-install_1.4.1/-PIC/lib -lfmpich -lmpich"
    if [ "$platform" = 'intel64' ]; then
        export MPIFC=/usr/local/mpi-install_1.4.1/bin/mpif90 
    fi
fi
Adri Mourits, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Yoda Posts: 1224 Join Date: 1/3/11 Recent Posts
Hi Oliver,

Looking at the "Intel compiler" part:
You have to check on your local system whether the named paths exist and contain the MPICH2 stuff as you compiled yourself using exactly the same compiler as you use for the Delft3D source code.

Suppose the path on your local machine is something like "/my/local/path/to/mpich2/compiled/with/intel", then you have to set in the "build.sh" file:
addpath PATH /my/local/path/to/mpich2/compiled/with/intel/bin
export MPI_INCLUDE=/my/local/path/to/mpich2/compiled/with/intel/include
export MPILIBS_ADDITIONAL="-L/my/local/path/to/mpich2/compiled/with/intel/lib -lfmpich -lmpich"
if [ "$platform" = 'intel64' ]; then
    export MPIFC=/my/local/path/to/mpich2/compiled/with/intel/bin/mpif90 
fi


Regards,

Adri
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Dear Adri,

I started from scratch once more;

installed all the required tools, set the Mpich2 compilation flags for the Fortran Compiler for ifort by adding F77=ifort FC=ifort to the configuration

/home/lojek/mpich2-1.4.1/configure --prefix=/usr/local/bin/mpich2-install |& tee c.txt F77=ifort FC=ifort

followed by
make 2>&1 |& tee c.txt

and
sudo make install 2>&1 | tee mi.txt


Mpich2 version 1.4.1 has been compiled, a check for it produces the following path:

lojek@ws17:~$ which mpiexec
/usr/local/bin/mpich2-install/bin/mpiexec

thus I implemented in the "build.sh"

else
    # Intel compilers
    addpath PATH /usr/local/bin/mpich2-install/bin
    export MPI_INCLUDE=/usr/local/bin/mpich2-install/include
    export MPILIBS_ADDITIONAL="-L/usr/local/bin/mpich2-install/lib -lfmpich -lmpich"
    if [ "$platform" = 'intel64' ]; then
        export MPIFC=/usr/local/bin/mpich2-install/bin/mpif90 
    fi
fi


So far I have compiled Mpich2 using the Intel Fortran compiler v 12.0.2 and set the path correct -

Then I ran
./build.sh -intel12 -64bit

which produced

lojek@ws17:~/Delft3D/Tag_2399/src$ ./build.sh -intel12 -64bit
Using Intel 12 Fortran (intel64) compiler
Current settings:
export ACLOCAL=""
export AUTOMAKE=""
export AUTOHEADER=""
export AUTOCONF=""
export AUTORECONF_FLAGS=""
export LIBTOOLIZE=""
export LDFLAGS=""
export LDFLAGSMT_ADDITIONAL="-lifcoremt"
export LD_LIBRARY_PATH="/opt/intel/composerxe-2011.2.137/compiler/lib/intel64:/opt/intel/composerxe-2011.2.137/mpirt/lib/intel64:/opt/intel/composerxe-2011.2.137/compiler/lib/intel64:/opt/intel/composerxe-2011.2.137/mkl/lib/intel64"
export MPIFC="/usr/local/bin/mpich2-install/bin/mpif90"
export MPI_INCLUDE="/usr/local/bin/mpich2-install/include"
export MPILIBS_ADDITIONAL="-L/usr/local/bin/mpich2-install/lib -lfmpich -lmpich"
export PKG_CONFIG_PATH=""
export PATH="/usr/local/bin/mpich2-install/bin:/opt/intel/composerxe-2011.2.137/bin/intel64:/opt/intel/composerxe-2011.2.137/mpirt/bin/intel64:/usr/local/bin/mpich2-install/bin:/usr/local/netcdf:/opt/intel/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

20130605.184313 :: Running ./autogen.sh --verbose &> logs/autogen.log
20130605.184347 :: Running CFLAGS='-O2 ' CXXFLAGS='-O2 ' FFLAGS='-O2 -threads ' FCFLAGS='-O2 -threads ' ./configure --prefix=/home/lojek/Delft3D/Tag_2399/src &> logs/configure.log
20130605.184415 :: Running make ds-install &> logs/make.log
20130605.184530 :: Make fails!


Then I tried

./autogen.sh/


FLAGS='-O2 -fPIC -m64' CXXFLAGS='-O2 -fPIC -m64' FFLAGS='-O2 -fPIC -m64' FCFLAGS='-O2 -fPIC -m64' ./configure --prefix=`pwd`

followed by
cmake ds-install

which after 27 min installation unfortunately produced the same errormsg. I posted earlier.
I checked for the path' and files, which are all there.
I use the IntelFortran Compiler as I did with the Mpich2 as you suggested - and retraced the steps multiple times.

Tomorrow I will attempt to use only gnu compilers for all files - maybe that helps?

I am thankful for all the help and feedback you give and am sorry I seem a bit helpless - I spent the day reading and compiling.
I compiled and used different open source models before and hope to do so with Delf3d as well emoticon


kind regards,

Oliver
Adri Mourits, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Yoda Posts: 1224 Join Date: 1/3/11 Recent Posts
Hi Oliver,

Can you post the three log files in directory "src/logs"?

It should compile both with the Intel and the Gnu compiler. By default we use the Intel compiler, so the chance that it works with Intel is a fraction higher than with Gnu.

Regards,

Adri
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Hi Adri,

I tried this morning with gnu compilers and different flags but did not help.

I rolled it back and compiled Mpich2 again with ifort.

Find enclosed the three log files for the attempt with ifort

Kind regards,

Oliver
Adri Mourits, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Yoda Posts: 1224 Join Date: 1/3/11 Recent Posts
Hi Oliver,

This problem should be solved in revision 2274. Are you sure you are using tagged version 2399? Can you post your script "build.sh" please?

You are using the Intel Fortran compiler and the Gnu C compiler. The flag "-threads" is necessary for the Intel compiler and forbidden for the Gnu compiler. Somehow, the flag does appear when using the Gnu compiler.
Currently we ourself compile with the Intel Fortran and C compiler.
You planned to compile with the (Fortran) Gnu compiler. Can you post the three log files of that trial too? Please start as clean as possible, preferably with a clean checkout in an empty directory. If you don't start with a clean checkout, at least execute the "./clean.sh" script in the src directory.

Thanks.

Regards,

Adri
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Dear Adri,

find enclosed the build.sh as well as the three log-files from the gnu compilation attempt.

Note that I used the same path for the mpich2 as I purged it from the system before compiling it anew with gnu.

Regarding the tag version I obtained it via the svn tool using the provided link:

svn checkout https://svn.oss.deltares.nl/repos/delft3d/tags/2399 delft3d_repository


Which I ran again this morning - telling me it found and downloaded revision 2581.


I will try and use the fortran c compiler - provided that one is installed, otherwise I'll need to get one first.



Kind regards,


Oliver
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Dear Adri,


I obtained and installed the 2013 Intel C compiler. A check with "which icc / icpc" gave the correct path.

Removed Mpich2 (1.4.1) from the system and recompiled it with
F77=ifort FC=ifort CC=icc CXX=icpc
which according to the Mpich2 manual
sets the flags for the Intel Compilers to be used instead of Gnu compilers (if available).

I removed all Delf3d files and downloaded the latest tag_2584 via svn. Adapted the build.sh and subsequently used
./build.sh -intel12 -64bit


which again failed.

Since all prerequisites are installed I suppose it has to do with the flags?

Checking with --verbose though I stumbled accross the line

checking whether we are using the GNU C compiler... yes


which I do not understand, since I installed the Intel C compiler and set the Mpich flags for the Intel compilers.

Do I have to specify for Delft as well to use the Intel C compiler?


Kind regards,

Oliver
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Our system admin attempted to compile DELFT3D on a clean system using gnu compilers soleley - it produced two different errors - both connected to Mpich2.

Due to time issues he will retry tomorrow using Intel compilers.

Meanwhile I successfully compiled DELFT3D on my Windows Laptop.

Any updates on the errormsg. I posted?


Cheers,

Oliver
TR
Tobias Rothhardt, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 17 Join Date: 7/25/11 Recent Posts
Hi everybody,
it looks like I´m having the same problem. I try to compile D3D tag 2514, checkout from today. I use intel fortran 12.0, still on a 32bit ubuntu 12.04 LTS system. I also use mpich2 1.4.1 compiled with the same fortran compiler.

I adopted the build.sh and started with -intel12 flag. I then end up with an error relating to the "-threads" problem mentioned allready above.

libtool: link: gcc -std=gnu99 -D_GNU_SOURCE -DSTR_LEN_AT_END -DWITH_DELFTONLINE -pthread -O2 -o esm_create esm_create.o ../../../../utils_lgpl/esmfsm/packages/esmfsm/src/fsm/.libs/libESMFSM.a -lrt /usr/lib/i386-linux-gnu/libexpat.so -lstdc++ -threads -pthread
gcc: error: unrecognized option '-threads'
make[4]: *** [esm_create] Fehler 1

Is there anything new on this topic ? Thanks in advance !

Tobias
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
I checked the online-tutorial on the compilation, there Fedor Baart mentions additional flags at the end of the video which I provided enthusiastically for the Mpich2
and Delft;

and alias I get a new error-msg.


I added these flags :

[color=#1900FD]FC=ifort FCFLAGS=-fPIC MPIFC=ifort[/color] CFLAGS='-O2 -fPIC -m64' CXXFLAGS='-O2 -fPIC -m64' FFLAGS='-O2 -fPIC -m64' FCFLAGS='-O2 -fPIC -m64' ./configure --prefix=`pwd`


For the error msg. see the attached file. It says that he mpif90 for which I previously set the flag to use ifort, is not included in the path.

Cheers,


Oliver


PS: I will set up a virtual linux machine tomorrow with the specifications named in the video and try to compile it. Maybe it is a version compatibility issue.
MM
Marcello Magaldi, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 7 Join Date: 6/5/13 Recent Posts
Hello everybody!

I am facing the same problem here with a different compiler.

I downloaded again d3d, this time tag #2514. All prerequisites are installed. I am in an Ubuntu 64bit machine and using GNU compilers. I edited the build.sh script to point to the right MPICH2 directories. I am also setting in the same script compiler flags to use -fPIC and -m64.

Unfortunately the make.log file ends as below


libtool: link: gfortran -I../../../../../utils_lgpl/precision/packages/precision/src -I../../../../../engines_gpl/waq/include -I../../../../../engines_gpl/waq/packages/waq_kernel/src/waq_kernel -I../../../../../engines_gpl/waq/packages/waq_utils_f/src/mod_timings -I../../../../../engines_gpl/waq/packages/waq_utils_f/src/mod_couplib -I../../../../../engines_gpl/waq/packages/waq_utils_f/src/waq_utils -I../../../../../engines_gpl/waq/packages/delwaq2_lib/src -DWITH_DELFTONLINE -O2 -fPIC -m64 -ffixed-line-length-none -o delwaq2 block.o getidentification.o dlwq2.o -Wl,--export-dynamic  ../../../../../engines_gpl/waq/packages/delwaq2_lib/src/.libs/libDelwaq2.a -L/usr/lib/mpich2/lib ../../../../../utils_lgpl/deltares_common/packages/deltares_common/src/rd_token/.libs/libRDToken.a ../../../../../utils_lgpl/deltares_common/packages/deltares_common/src/.libs/libDeltaresCommon.a ../../../../../engines_gpl/waq/packages/waq_kernel/src/waq_kernel/.libs/libWaqKernel.a ../../../../../engines_gpl/waq/packages/waq_kernel/src/waq_process/.libs/libwaq_process.a ../../../../../engines_gpl/waq/packages/waq_plugin_wasteload/src/.libs/libwaq_plugin_wasteload.a ../../../../../engines_gpl/waq/packages/waq_io/src/proc_preprocess/.libs/libproc_preprocess.a ../../../../../engines_gpl/waq/packages/waq_kernel/src/bloom/.libs/libbloom.a ../../../../../engines_gpl/waq/packages/waq_kernel/src/charon/.libs/libcharon.a ../../../../../engines_gpl/waq/packages/waq_io/src/waq_io/.libs/libwaq_io.a ../../../../../engines_gpl/waq/packages/waq_data/src/proc_data/.libs/libproc_data.a ../../../../../engines/part/packages/kernel_f/src/.libs/libkernel_f.a ../../../../../engines/part/packages/kernel_c/src/libkernel_c.a ../../../../../engines/part/packages/io_f/src/.libs/libio_f.a ../../../../../engines/part/packages/utils_f/src/.libs/libutils_f.a ../../../../../engines/part/packages/data_f/src/.libs/libdata_f.a ../../../../../engines/part/packages/version_number/src/.libs/libpart_version_number.a ../../../../../engines_gpl/waq/packages/waq_utils_f/src/waq_utils/.libs/libwaq_utils.a ../../../../../engines_gpl/waq/packages/waq_utils_f/src/mod_couplib/.libs/libmod_couplib.a ../../../../../engines_gpl/waq/packages/waq_utils_f/src/mod_timings/.libs/libmod_timings.a ../../../../../utils_lgpl/delftio/packages/delftio/src/diof90/.libs/libDIOF90.a ../../../../../utils_lgpl/delftio/packages/delftio_shm/src/diof90/.libs/libDelftIOSHM.a ../../../../../engines_gpl/waq/packages/waq_io/src/ods/.libs/libods.a ../../../../../utils_lgpl/esmfsm/packages/esmfsm/src/fsm/.libs/libESMFSM.a ../../../../../utils_lgpl/nefis/packages/nefis/src/.libs/libNefis.a ../../../../../engines_gpl/waq/packages/waq_utils_f/src/interact/.libs/libinteract.a ../../../../../engines_gpl/waq/packages/waq_utils_c/src/.libs/libwaq_utils_c.a ../../../../../engines_gpl/waq/packages/delwaq2_version_number/src/.libs/libdelwaq2_version_number.a -lfmpich -lmpich -lmpl -lpthread -ldl -lrt /usr/lib/x86_64-linux-gnu/libexpat.so -lstdc++ -fopenmp -pthread
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_trid'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_trvalid'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_env2int'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_trrealloc'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_trspace'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_trDebugLevel'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_TrSetMaxMem'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_trlevel'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_trmalloc'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_putenv'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_env2bool'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_env2range'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_trcalloc'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_trfree'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_env2str'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_trstrdup'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_trdump'
/usr/lib/mpich2/lib/libmpich.so: undefined reference to `MPL_trinit'
collect2: ld returned 1 exit status
make[5]: *** [delwaq2] Error 1
make[5]: Leaving directory `/home/magaldi/MyDelft3dJun13_tag2514/engines_gpl/waq/packages/delwaq2/src'
make[4]: *** [install-recursive] Error 1
make[4]: Leaving directory `/home/magaldi/MyDelft3dJun13_tag2514/engines_gpl/waq/packages/delwaq2'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory `/home/magaldi/MyDelft3dJun13_tag2514/engines_gpl/waq/packages'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/home/magaldi/MyDelft3dJun13_tag2514/engines_gpl/waq'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/magaldi/MyDelft3dJun13_tag2514/engines_gpl'
make: *** [install-recursive] Error 1


Please also note that I made another attempt with MPICH2 installed NOT via apt-get install. I installed MPICH2 ver 1.4.1, compiled always with GNU compilers. I edited the build.sh script accordingly to set the MPICH2 paths. Same problem and errors...

What is going on?
Thanks in advance for any help,
m.
TR
Tobias Rothhardt, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 17 Join Date: 7/25/11 Recent Posts
Hi all,
a little update from me. I did a fresh installation of 64bit Ubuntu 12.04 LTS on my dev system and took D3D Tag 2514, Rev 2588. For a first shot I only used compilers (gfortran, gcc, mpich2-1.4.1, and so on) and tools provided by the system via apt and to make it short, I end up with the exact same errors like Marcello did.

I will now go on using a self compiled mpich2 with gfortran. I also have ifort 11.x something and 12.0 to test. But I then got the same errors Oliver got about the "-thread" problem between gcc and icc if I got that right in memory.

One question: I´m a bit unsure about the compiler flags for mpich and D3D. So far I did not gave any flags to mpich and only the -gnu -intel64 flags to D3D. In the build.sh I only adjusted the parts about the mpich2 paths. Should I add any other flags to mpich and/or D3D ?

Thanks a lot
Tobias
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Dear Tobias,

today I downloaded the 5.01.00.2163 version and successfully compiled it on my local machine, which is solely a Dual Core with Ubuntu 12.04 64bit.

I tried compiling it on the server machines we are running which still gives me the error but I am homing in on it.

Seems like Mpich2 has to be installed via apt-get as I compiled it by hand, using the 1.4.1 version and setting the compiler flags to the intel or gnu compilers.

Using the package manager installation it worked without any problem,

however I cannot find the path under which sudo apt-get install mpich2 installs the packages on the server in order for the PATH variables to be set correctly.


I will take notes on it and let you know if I stumble across anything helpful.


Cheers,


Oliver
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Hi Marcelo,

a look at the manual provided by www.Mpich.org (page 6) and a search on the web revealed that the for compiling the Mpich2 1.4.1
with certain compilers requires setting appropriate flags during the configuration step.

For using Intel compilers set the flags provided under this link:

http://ubuntuforums.org/archive/index.php/t-1966827.htm

For further documentation consult the manual http://www.mpich.org/static/downloads/1.4.1/

.../configure

For GNU compilers
--prefix=/usr/local/bin/mpi-install |& tee c.txt CC=gcc CXX=g++ F77=gfortran FC=gfortran


For Intel compilers
--prefix=/usr/local/bin/mpi-install |& tee c.txt F77=ifort FC=ifort CC=icc CXX=icpc


Cheers,


Oliver
Adri Mourits, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Yoda Posts: 1224 Join Date: 1/3/11 Recent Posts
Hi Guys,

Looking through the last couple of posts and Oliver's posted log files:

I still think the problems are related to mpich2 not being compiled with the same compilers as used for Delft3D. Oliver's last post with the compiler flags for mpich2 ensures that the correct compiler is used explicitly instead of implicitly. The log of the mpich2 compilation should confirm this.

Remarks:
  • Before you can use the Intel compilers,you have to execute something like:
    . /opt/intel/Compiler/11.0/081/bin/ifortvars.sh intel64
    Only then "ifort" will be defined.
  • Although I did not try myself: If mpich2 is causing a lot of trouble, the Delft3D-FLOW source code is prepared to be used in combination with other mpi implementations as well, like OpenMPI (1.2, 1.3) and MVAPICH 1.1. See file "https://svn.oss.deltares.nl/repos/delft3d/trunk/src/engines_gpl/flow2d3d/packages/data/src/parallel_mpi/dfinitmpi.F90" for more details.


Regards,

Adri
MM
Marcello Magaldi, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 7 Join Date: 6/5/13 Recent Posts
Hi Adri,

My customized MPICH2 v1.4.1 looks compiled correctly as it passes the tests. I read somewhere that Delwaq2 does not compile with GNU compilers.
Is that true?

Thanks in advance,
m.
TR
Tobias Rothhardt, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 17 Join Date: 7/25/11 Recent Posts
Dear Oliver,
for compiling on our Server using only compilers supplied via apt I adopted the mpich Part of the build.sh with

# mpich2
if [ "$compiler" = 'gnu' ]; then
    addpath PATH /usr/bin
    export MPI_INCLUDE=/usr/include/mpich2
    export MPILIBS_ADDITIONAL="-L/usr/lib/mpich2 -lfmpich -lmpich -lmpl"
    # export MPILIBS_ADDITIONAL=" "
    export MPIFC=/usr/bin/mpif90


Concerning the compiler flags I used the same you posted and Marcello used.

Adri, regarding to your comments. I tested around with Intel compilers (used studio xe 2013u3) today. While using this I put source /opt/intel/bin/compilervars.sh intel64 into my .bashrc.

I will try another tag Version for now and see what comes out there. On our linux cluster I still have a quite old version running, but I managed to compile this with ifort and mpich2 also. So I keep trying on the new ones as well.

Update1)
While trying to compile d3d I get the error in teh make logs:

/usr/bin/ld: /opt/mpich2-1.4.1-gnu/lib/libmpich.a(setbotf.o): relocation R_X86_64_32 against `mpifcmb2_' can not be
used when making a shared object; recompile with -fPIC
/opt/mpich2-1.4.1-gnu/lib/libmpich.a: could not read symbols: Bad value


As I read in the manuals I did put the following flags to the mpich2 compile process:

./configure --prefix=/opt/mpich2-1.4.1-gnu F77=gfortran FC=gfortran FCFLAGS=-fPIC CFLAGS=-fPIC CCFLAGS=-fPIC CXXFLAGS=-fPIC CC=gcc CXX=g++ 2>&1
| tee c.txt

So I just can´t see what I´m doing wrong... any hint ?

Update2)
Compiled mpich2 again with (no idea if the enable-shared did anything):

./configure --prefix=/opt/mpich2-1.4.1-gnu F77=gfortran FC=gfortran CC=gcc CXX=g++ FCFLAGS=-fPIC CFLAGS=-fPIC CCFLAGS=-fPIC CXXFLAGS=-fPIC --enable-shared --enable-sharedlibs=gcc 2>&1 | tee c.txt


Compiling Delft gave then the allready known error about the Delwaq stuff Oliver and me had earlier. I then eliminated the waq Part in ../src/engines_gpl/Makefile.am since I won´t need it for now and ... Build finished. I will check tomorrow if it works out right.

Cheers
Toby
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Dear Adri,

the tip with the intel switch did it for me -

the intel compiler was used and the programm is compiled on the workstation.

However, it is the tag version 2514 which somehow does not contain any examples.
I tried copying the examples from another version in order to test it - but it did not work for me. Any hints?
I am trying to compile tag 2399 as well.



Many thanks for the helpful ideas emoticon

Cheers,

Oliver
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Okay,

compiling the tag 2399 on the system gave me a new error - related again to mpich.

It seems as if a shared lib cannot be accessed during compilation.

See attached error msg. (logfile).

Cheers,

Oliver

Attachments:

TR
Tobias Rothhardt, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 17 Join Date: 7/25/11 Recent Posts
I´m still stuck too... I checked the code from last night with the examples and they worked so far. When trying to do a parallel simulation I got an error.

Today I installed again the Intel fortran compiler and the Intel C compiler (2013.4.183). I took care that which ifort, icc, icpc gave me the path to the Intel compilers.

I compiled mpich2 with
./configure --prefix=/opt/mpich2-1.4.1-allintel --with-pm=mpd F77=ifort FC=ifort CC=icc CXX=icpc FCFLAGS=-fPIC CFLAGS=-fPIC CCFLAGS=-fPIC CXXFLAGS=-fPIC 2>&1 | tee c.txt


I am still wondering why the config logs tells me its using the Gnu C compiler... or the message is missleading.
configure: executing: /home/modell/mpich2-1.4.1/src/mpl/configure  '--prefix=/opt/mpich2-1.4.1-allintel' '--with-pm=mpd' 'F77=ifort' 'FC=ifort' 'CC=icc' 'CXX=icpc' 'CFLAGS=-fPIC  ' 'CFLAGS=-fPIC  ' 'CFLAGS=-fPIC  ' 'CXXFLAGS=-fPIC ' --disable-option-checking
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for style of include used by make... GNU
checking for gcc... icc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether icc accepts -g... yes
checking for icc option to accept ISO C89... none needed
checking dependency style of icc... gcc3


I checked that which mpicc, mpiexec gave the right path to mpich2.

I adjusted the build.sh (See File attached) for the path to mpich and also added the path to the intel C compiler into the iccInit= (don´t know if this is ok...)
Here again the log tells me its using the gnu C compiler:
checking for icpc... icpc
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether icpc accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of icpc... gcc3
checking for icc... icc
checking whether we are using the GNU C compiler... yes
checking whether icc accepts -g... yes
checking for icc option to accept ISO C89... none needed
checking dependency style of icc... gcc3

Anyway I compiled D3D with ./build.sh -intel12 -64bit and got the error below.

icpc: command line warning #10006: ignoring unknown option '-threads'
ld: /opt/mpich2-1.4.1-allintel/lib/libmpich.a(setbotf.o): relocation R_X86_64_32 against `mpifcmb1_' can not be used when making a shared object; recompile with -fPIC
/opt/mpich2-1.4.1-allintel/lib/libmpich.a: could not read symbols: Bad value
make[7]: *** [libflow2d3d.la] Fehler 1


I have no clue what to do next... I would be grateful for any further idea what I could try next.

Greetings
Tobias

Attachments:

TR
Tobias Rothhardt, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 17 Join Date: 7/25/11 Recent Posts
Last update for today.
I kicked out the Intel c compiler again and use only the Intel fortran compiler together with gcc and g++. Compiled mpich with ifort flag and -fPIC flag. Compiled d3d-tag-2399 using the adopted build.sh with -intel12 -64bit. And back to the old error...

libtool: link: gcc -std=gnu99 -D_GNU_SOURCE -DSTR_LEN_AT_END -DWITH_DELFTONLINE -pthread -O2 -o esm_create esm_create.o  ../../../../utils_lgpl/esmfsm/packages/esmfsm/src/fsm/.libs/libESMFSM.a -lrt /usr/lib/x86_64-linux-gnu/libexpat.so -lstdc++ -threads -pthread
gcc: error: unrecognized option '-threads'
make[4]: *** [esm_create] Fehler 1


So far I can say, when I use ifort and gcc I end up with this one.

When I use ifort and icc icpc I get the other error concerning "recompile with -fPIC" again, like Oliver did too.

So how comes that the -threads ist in the compile code when gcc is called up ? I thought that has been fixed ? If needed I can provide log files from all tested combinations.

Greetings
Tobias
TR
Tobias Rothhardt, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 17 Join Date: 7/25/11 Recent Posts
Hi all, a little update to this topic. I downloaded trunk and switched back to gfortran an gcc/g++ as compilers.

I used the following to compile mpich:
./configure --prefix=/home/modell/mpich-install --with-pm=mpd --enable-shared --enable-sharedlibs=gcc F77=gfortran FC=gfortran CC=gcc CXX=g++ FCFLAGS=-fPIC CFLAGS=-fPIC CCFLAGS=-fPIC CXXFLAGS=-fPIC 2>&1 | tee c.txt


I then adopted the build.sh and used the following to compile d3d:
./build.sh -gnu -64bit


Build finished without errors and I could run all testcases. I also tested testcase 01 to run parallel with mpi on the local system (4cores) which also worked out. I will now put the build to our cluster and test parallel further.

I also will test again the tag version with this compiler flags.

Greetings
Tobias
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Dear Tobias,


sounds like you got it all running! That is great.

We also compiled it successfully using the latest stable version (5.01.00.2163 Revision: 2594 ) and GNU compilers except for the Fortran.
It build without hesitation or problems and all single core examples are running.

However we cannot get the parallel test cases to run.

We use the mpiexec and try to run it on 8 cores for testing, which always gives us the following msg.:

lojek@ws17:~/Delft3d/5.01.00.2163/examples/01_standard$ mpiexec -n 8 ../../bin/lnx/flow2d3d/bin/d_hydro.exe config_flow2d3d.xml

d_hydro ABORT: Cannot load component library "libflow2d3d.so": libflow2d3d.so: cannot open shared object file: No such file or directory



A look at the FAQ and the Forum gave a hint, saying that these libraries should be copied automatically to the folder. Somehow they seem not to have been copied however. I tried copying them from the src directory which did not help, as the lib file is 20 B large and cannot be accessed.

Adapting the path in the file as suggested in the FAQ also did not help.

How did you get the parallel job started? Did you use the mpd?

Regards,

Oliver
MM
Marcello Magaldi, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 7 Join Date: 6/5/13 Recent Posts
Dear Tobias,

I am still stuck! Will you be so kind to tell me which version of the GNU compilers did you use?

Thank you in advance!
All the best,

Marcello
TR
Tobias Rothhardt, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 17 Join Date: 7/25/11 Recent Posts
Hi Oliver, Hi Marcello,

Regarding to your questions. Right now I use a Ubuntu 12.04 LTS 64bit (Server Version without GUI) to compile. No extra sources added, so its plain ubuntu packages via apt-get.

autoconf 2.68.0
automake 1.11.3
libtool 2.4.2
gcc/g++/gfortran 4.6.3

d3d trunk
mpich 3.0.4 (just took this for testing, I think you can use 1.4.1 as well)

Concerning starting parallel jobs. Yes I use mpdboot, this is why I had to put the --with-pm=mpd to the mpich compilation. The mpd is deprecated and will not build otherwise. Sometimes the mpd is a bit nasty and unstable. On the other hand we did not have any problems to run large jobs (160domains) on our cluster over a period of 10 weeks, so I stick to it for now. Anyway, I will test around with hydra soon.

I will keep testing with different d3d versions and compilers next week and then open up a new thread with all logfiles and keep this up to date. I still find it strange that we all encounter different problems even when we use same compilers and d3d versions.

Cheers
Tobias
Adri Mourits, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Yoda Posts: 1224 Join Date: 1/3/11 Recent Posts
Hi,

Thank you, Oliver. I retagged revision 2514, now with the examples.

I added to the trunk the following (Linux) info:
  • The full log of a compilation with Intel 11.1 (revision 2600)
  • The full log of a compilation with Gnu 4.6.2 (revision 2604)
  • The output of "ldd libflow2d3d.so" in example 01, both when using a Gnu compiled version and an Intel compiled version (revision 2601, 2604)


Remarks:
  • Only when a compilation finishes without problems, the used libraries are copied to the install directory ("Gathering libraries...." in the make.log).
  • The Gnu ldd output contains an explicit reference to mpich2, the Intel ldd output doesn't. The only way to detect whether the correct mpich2 stuff is used, is search for "mpich" in the make.log, during linking libflow2d3d.so.


Regards,

Adri
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Dear Adri,


thanks a lot for the information.

I checked the run_script commented the mpd and uncommented the mpiexec lines.
However, it did not help.

I checked the make.log for Gatherling libraries ... and it provieded me mostly with errors:

Target directory: ../bin
Source : all engines
installing all open source projects . . .
installing d_hydro . . .
Gathering libraries for d_hydro...
installing flow2d3d . . .
cp: der Aufruf von stat für »lib/libflow2d3d_sp.so“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
can't copy "lib/libflow2d3d_sp.so" to "../bin/lnx/flow2d3d/bin"
Gathering libraries for flow2d3d...
installing flow2d3d_openda . . .
cp: der Aufruf von stat für »lib/libflow2d3d_openda_sp.so“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
can't copy "lib/libflow2d3d_openda_sp.so" to "../bin/lnx/flow2d3d/bin"
Gathering libraries for flow2d3d_openda...
installing delwaq . . .
cp: der Aufruf von stat für »bin/delwaq1“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
can't copy "bin/delwaq1" to "../bin/lnx/waq/bin"
cp: der Aufruf von stat für »bin/delwaq2“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
can't copy "bin/delwaq2" to "../bin/lnx/waq/bin"
cp: der Aufruf von stat für »lib/libwaq_plugin_wasteload.so“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
can't copy "lib/libwaq_plugin_wasteload.so" to "../bin/lnx/waq/bin"
Gathering libraries for delwaq...
ldd: bin/delwaq1: Datei oder Verzeichnis nicht gefunden
ldd: bin/delwaq2: Datei oder Verzeichnis nicht gefunden
cp: Fehlender Zieldatei?Operand hinter »../bin/lnx/waq/bin“
„cp --help“ gibt weitere Informationen.
installing wave . . .
Gathering libraries for wave...
Gathering libraries for swan...
cp: Fehlender Zieldatei?Operand hinter »../bin/lnx/swan/bin“
„cp --help“ gibt weitere Informationen.
installing plugin_culvert . . .
Gathering libraries for plugin_culvert...
installing plugin_delftflow_traform . . .
Gathering libraries for plugin_delftflow_traform...
installing datsel . . .
Gathering libraries for datsel...
installing kubint . . .
Gathering libraries for kubint...
installing lint . . .
Gathering libraries for lint...
installing mormerge . . .
Gathering libraries for mormerge...
installing vs . . .
Gathering libraries for vs...
cp: Fehlender Zieldatei?Operand hinter »../bin/lnx/flow2d3d/bin“
„cp --help“ gibt weitere Informationen.
installing nesthd1 . . .
Gathering libraries for nesthd1...
installing nesthd2 . . .
Gathering libraries for nesthd2...



basically it says that the libraries cannot be copied because they cannot be found. Which seems strange, since they are located in the src/lib directory.
Also the build finishes without complication and the single core examples are running.

Furthermore, the directory bin/lnx/ contains the copied lib files which confuses me.
We switched to GNU solely, deinstalled the Intel compilers and manually build the mpich2-1.4.1 with gnu.

ldd libflow2d3d.so says the file is not existent.

Thus, something still is not working correctly during compilation although the build finishes?

Regards,


Oliver
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Hi Tobias,

we are running on Ubuntu 12.04 64bit -

used the same versions of the prerequisites except the mpich2, we use 1.4.1 as suggested.

I compiled the mpich2 with mpd as you did and tried to run the parallel example 01 which told me that the mdp.conf file cannot be found.

Does one need to generate that file manually?


Cheers,


Oliver
TR
Tobias Rothhardt, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 17 Join Date: 7/25/11 Recent Posts
Japp, u need to create a .mpd.conf file in the home of the user and this file must be only readable by the user. In this file only the line secretword=whatever is needed.
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Dear Tobias,

thank you for the information. I created an appropriate file and tried it. It gave me an undefined symbol errormsg.


lojek@ws17:~/DELFT/tag_2514/examples/01_standard$ ./run_flow2d3d_parallel.sh
Contents of machinefile:
cat: /home/lojek/DELFT/tag_2514/examples/01_standard/machinefile: Datei oder Verzeichnis nicht gefunden
----------------------------------------------------------------------
unable to open (or read) hostsfile /home/lojek/DELFT/tag_2514/examples/01_standard/machinefile
../../bin/lnx/flow2d3d/bin/d_hydro.exe: symbol lookup error: /usr/local/bin/mpi-install_gnu/lib/libmpich.so.3: undefined symbol: MPL_env2str
../../bin/lnx/flow2d3d/bin/d_hydro.exe: symbol lookup error: /usr/local/bin/mpi-install_gnu/lib/libmpich.so.3: undefined symbol: MPL_env2str
../../bin/lnx/flow2d3d/bin/d_hydro.exe: symbol lookup error: /usr/local/bin/mpi-install_gnu/lib/libmpich.so.3: undefined symbol: MPL_env2str
lojek@ws17:~/DELFT/tag_2514/examples/01_standard$


Guess something is wrong with the Mpich2 libraries.

Regards,


Oliver
Adri Mourits, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Yoda Posts: 1224 Join Date: 1/3/11 Recent Posts
Hi,

Googling on Oliver's last error message: try compiling mpich2 with the flag "--enable-lib-depend". See this site.

One correction to Tobias' remark: it is .mpd.conf see the comments at the top of "...\examples\01_standard\run_flow2d3d_parallel.sh".
But this is needed at runtime and Oliver is having problems at compile time.

About the gathering errors: It is a very simple copy-routine without additional checks on what to copy.
The reported errors are related to:
the single precision binaries (_sp); I assume you are not compiling this variant
waq binaries: I assume you switched off compiling waq
swan and vs: seems like a problem in the gather routine itself.
The key-line related to your problems is "Gathering libraries for flow2d3d..." and that seems to have worked out correctly. To double check: directory "../bin/lnx/flow2d3d/bin" should contain some platform/compiler specific so-files.

If you're still stuck:
Can you post the full compile log (3 files) and "example01_standard\run_flow2d3d_parallel.sh"-output (containing ldd info) of your most successful, most clean latest trial here on this forum?

Regards,

Adri
MM
Marcello Magaldi, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 7 Join Date: 6/5/13 Recent Posts
Hello guys! I am happy to announce that I finally was able to compile d3d!!

As suggested above, after many attempts with Intel compilers, I downloaded trunk and switched back to gfortran an gcc/g++.

I guess the issue was with the flags for the mpich2 lib which need to be exactly as those shown by the command mpicc -show

Now only one issue remains. I am able to run all examples but not the parallel 01_standard case. I am getting the error below.
Any hints on this? I am hoping you guys can be as helpful as before!!

Thanks in advance again,
marcello

./run_flow2d3d_parallel.sh: line 79: mpd: command not found
./run_flow2d3d_parallel.sh: line 80: mpdboot: command not found

ldd libflow2d3d.so: start
    linux-vdso.so.1 =>  (0x00007fff537ff000)
    libDelftOnline.so.0 => /home/magaldi/MyDelft3dJune13/src/lib/libDelftOnline.so.0 (0x00007f8523848000)
    libmpich.so.3 => /opt/mpich2/v1_4_1_gcc4.6.3/lib/libmpich.so.3 (0x00007f8523462000)
    libmpl.so.1 => /opt/mpich2/v1_4_1_gcc4.6.3/lib/libmpl.so.1 (0x00007f852325c000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f852301c000)
    libgfortran.so.3 => ../../bin/lnx/flow2d3d/bin/libgfortran.so.3 (0x00007f8522d04000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f8522afc000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f85228d2000)
    libstdc++.so.6 => ../../bin/lnx/flow2d3d/bin/libstdc++.so.6 (0x00007f85225d1000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f85222d5000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8521f16000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8521cff000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f852691c000)
    libquadmath.so.0 => ../../bin/lnx/flow2d3d/bin/libquadmath.so.0 (0x00007f8521ac9000)
ldd libflow2d3d.so: end

./run_flow2d3d_parallel.sh: line 99: mpirun: command not found
./run_flow2d3d_parallel.sh: line 108: mpdallexit: command not found
MM
Marcello Magaldi, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 7 Join Date: 6/5/13 Recent Posts
ok. got it! Forget the message above I was missing in the PATH the location for mpich2 binary files and then created the .mpd.conf file.

Everything works for now.

Thanks again to everybody for the help!

Marcello
OL
Oliver Lojek, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Jedi Knight Posts: 111 Join Date: 4/30/13 Recent Posts
Hi,


thanks a lot for that flag Adri,
--enable-lib-depend
seemingly did the trick. The parallel 01_example is runnning on 8, 16 etc cores.

I will proceed now to installing the GUI and gather some experience on the software!

Thankfull cheers,


Oliver
KV
Koen Vereijken, modified 5 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 3 Join Date: 5/11/12 Recent Posts
I've compiled mpich 3.1.3 and installed all dependecies (https://gist.github.com/martijngastkemper/a703a6f2c8c3bbfe2a04). 01_standard/run_flow2d3d.sh is working, but 01_standard/run_flow2d3d_parralel.sh gives the following output:

$ ./run_flow2d3d_parallel.sh
Contents of machinefile:
cat: /home/ubuntu/mpich-3.1.3/delft3d/examples/01_standard/machinefile: No such file or directory
----------------------------------------------------------------------
./run_flow2d3d_parallel.sh: line 89: mpd: command not found
./run_flow2d3d_parallel.sh: line 96: mpdboot: command not found

ldd libflow2d3d.so: start
    linux-vdso.so.1 =>  (0x00007fff1f3fe000)
    libDelftOnline.so.0 => ../../bin/lnx/flow2d3d/bin/libDelftOnline.so.0 (0x00007f78fd1dc000)
    libmpifort.so.12 => /opt/mpich2-1.4.1-gcc-4.6.2/lib/libmpifort.so.12 (0x00007f78fcfa6000)
    libmpi.so.12 => /opt/mpich2-1.4.1-gcc-4.6.2/lib/libmpi.so.12 (0x00007f78fcb47000)
    libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f78fc827000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f78fc61e000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f78fc3f4000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f78fc0f0000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f78fbde9000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f78fba23000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f78fb80d000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f78fb5ee000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f79002c3000)
    libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f78fb3b2000)
ldd libflow2d3d.so: end

MPI process number 001 has host unknown and is running on processor ip-172-31-43-135
MPI process number 002 has host unknown and is running on processor ip-172-31-43-135
MPI process number 000 has host unknown and is running on processor ip-172-31-43-135
--------------------------------------------------------------------------------
       Deltares, FLOW2D3D Version 6.01.13.4617, Jan 22 2015, 17:26:37
       libflow2d3d.so entry Flow2D3D::Run
--------------------------------------------------------------------------------

Part I    - Initialisation Time Dep. Data module...   
            runid : f34
Part II   - Creating intermediate files...            
Part III  - Initialisation of the Execution module... 
Part IV   - Reading complete MD-file...                     


The error "mpd: command not found" (line 5) is my problem. It seems that mpd or mpdboot aren't supported by mpich anymore. hydra or gforker are the two process managers provided by mpich. Is there an easy way to rewrite the examples to those's other pm's. Or do I need to compile an older version of mpich?
KV
Koen Vereijken, modified 5 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 3 Join Date: 5/11/12 Recent Posts
I got it working by using mpich-1.4.1
Adri Mourits, modified 5 Years ago.

RE: MPI Linking error in Delwaq2

Yoda Posts: 1224 Join Date: 1/3/11 Recent Posts
Hi Koen,

Ideally, the mpich documentation should help you to get it working with a recent mpich version.

Even more ideally, Deltares should switch to using a more recent mpich version by default. That's on our TO DO list.

Regards,

Adri
GC
gaolei cheng, modified 5 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 1 Join Date: 12/20/13 Recent Posts
Hi Marcello
I met the same problem to you."make[5]: *** [delwaq2] error 1". Could you introduce the detail procedure. Thanks.
MM
Marcello Magaldi, modified 7 Years ago.

RE: MPI Linking error in Delwaq2

Youngling Posts: 7 Join Date: 6/5/13 Recent Posts
Hi Olivier,

Thanks for you post. As said I am using GNU compilers and tried both with MPICH2 installed via apt-get (which seems to work in your case) and with custom installation of version 1.4.1

In the latter case, I knew the different options for compiling MPICH2 and indeed I compiled with the following command (note the use of -fPIC and shared libraries)


./configure --prefix=/home/magaldi/Softwares/Mpich2/mpich2_1_4_1_gfortran FC=gfortran F77=gfortran CC=gcc CCX=g++ FCFLAGS=-fPIC CFLAGS=-fPIC CCFLAGS=-fPIC CXXFLAGS=-fPIC --enable-shared --enable-sharedlibs=gcc


In both cases it does not work for me.