Welcome, Guest
Username: Password: Remember me

TOPIC: Parallel veriosn

Parallel veriosn 10 years 6 months ago #13088

  • Kutti
  • Kutti's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 22
  • Thank you received: 2
Hi:

I am just beginning to use the parallel version of Telemac2D and tried to compile the source code (V6P2). Before I did that, I installed MPICH2 and also added "mpif.h" of MPICH2 as header file to my project. But I got errors by compiling, which indicate that the extern symbol, for example, "MPI_ALLREDUCE" can not be found. I think, some other files are also needed for the compliling. Can you tell me which library contains "MPI_ALLREDUCE", "MPI_COMM_RANK", ...?

Another question is, whether the project data must be changed manuelly in order to take the parallel calculation. I can not find much information in the user's guide of Telemac2D about the adaption of the project data for the parallel calculation. I only know that the project area must be divided into sub-domains. Is this done by the programm automatically?

best wishes

kutti
The administrator has disabled public write access.

Parallel veriosn 10 years 6 months ago #13089

  • jmhervouet
  • jmhervouet's Avatar
Hello,

You need to add -DHAVE_MPI as an option to your compiler, so that it compiles with mpi.

Otherwise the domain decomposition is done by Metis, which is called by the Python scripts. If you have no specific Fortran in your case, nothing else to do, if you have specific Fortran and play with nodes numbers, there you get into some trouble, but many posts and answers already on that subject.

Regards,

JMH
The administrator has disabled public write access.

Parallel veriosn 10 years 6 months ago #13097

  • Kutti
  • Kutti's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 22
  • Thank you received: 2
Hi:

Thanks for the quick answer.

I am using "Intel Visual Fortran Composer XE for Windows" under Visual Studio 2010 to compile the parallel version of Telemac2D. The compilation is OK. The errors took place at Link. All the MPI-founctions such as "MPI_ALLREDUCE", "MPI_DUD_FN"... could not be found.

I could not find the command "DHAVE_MPI" as you suggested in the user's guide of the Fortran compiler. There are only "Qparallel" or "Qopenmp" of Intel® MPI Library. I have tried these, but no effect. Perhaps "DHAVE_MPI" is for other fortran compilers?

I also tried to compile the example "examples.sln" in the installed MPICH2 directory (C:\MPICH2\examples) and got the same errors as in my project.
I hope you can halp me.


kutti
The administrator has disabled public write access.

Parallel veriosn 10 years 6 months ago #13100

  • jmhervouet
  • jmhervouet's Avatar
Hello,

No, the option is -D and -DHAVE_MPI is because we decided that HAVE_MPI will be used in the Fortran to know if we are linking with mpi (we have also -DHAVE_TECPLOT, etc.). However, though you must have this in your compiler directives, I do not believe it is the problem (this would give other messages) and I am not able to help, someone else maybe ?

Regards,

Jean-Michel Hervouet
The administrator has disabled public write access.

Parallel veriosn 10 years 6 months ago #13102

  • yugi
  • yugi's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 851
  • Thank you received: 244
Hi,

In V6P2 you need to edit your systel.ini and fill the following parameters:
FC_MPI="<MPI_HOME>/bin/mpif90 "
LK_MPI="<MPI_HOME>/bin/mpif90 -o <EXE>  <OBJS>  <LIBS> "
LIBS_MPI="-L <MPI_HOME>/lib -lmpich -lpthread -lstdc++ -lz "
RUN_MPI="<MPI_HOME>/bin/mpirun -machinefile mpirun.txt -np <N> <EXE>"

Where you replace <MPI_HOME> by the path to your mpi installation.

Hope it helps,
Yugi
There are 10 types of people in the world: those who understand binary, and those who don't.
The administrator has disabled public write access.

Parallel veriosn 10 years 6 months ago #13110

  • Kutti
  • Kutti's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 22
  • Thank you received: 2
Hi Yugi:

Thanks for your tips. But I think one does'nt need systel.ini to compile the source code. The file is only needed if you use the Telemac configulation to run the programm.

With the Intel Fortran compiler integrated in Visual Studio 2010, I can compile the source code of Telemac2D (paravoid) without problem and also I can run it directly per double-click (without the configulation of Telemac2D).

I hope, someone who has experiences with Inter Fortran under VS 2010 can tell me what else to do with compiling Telema2D source code (parallel).

kutti
The administrator has disabled public write access.

Parallel veriosn 10 years 5 months ago #13128

  • yugi
  • yugi's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 851
  • Thank you received: 244
Okay i thought you were using the Telemac configuration.

Then you only need to compile the parallel module with the mpi compiler i.e. mpif90 or something similar.
This command is just a call the compiler whith options to link to the mpi libraries.
This command should be in the mpi repository.

For your information to run in parallel you must first run the program "partel" on the geometry file to divided it in sub-domains. Then you run the main program. And to reunite the results you need to run the program "gretel" on the results files.

All those processes are done by the Perl/Python scripts.

Hope it helps.
There are 10 types of people in the world: those who understand binary, and those who don't.
The administrator has disabled public write access.

Parallel veriosn 10 years 5 months ago #13148

  • Kutti
  • Kutti's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 22
  • Thank you received: 2
Hi Yugi:

Thanks for your information about the steps to tun Telemac2D in parallel. I will take the time to try it.

kutti
The administrator has disabled public write access.
Moderators: pham

The open TELEMAC-MASCARET template for Joomla!2.5, the HTML 4 version.