Welcome, Guest
Username: Password: Remember me

TOPIC: Calculation time in parallel

Calculation time in parallel 11 years 5 months ago #9218

  • nguyenthong_BK
  • nguyenthong_BK's Avatar
Dear all,
I'm using Telemac2d version v6p2 (steering file in french). I have used my fortran file for the boundary condition and other conditions. I submit my problem in two cas:
- Case 1: I declared 8 processors (PROCESSEURS PARALLELES =8)
- Case 2: I declared 0 processor (PROCESSEURS PARALLELES =0)
The calculation time of Case 1 (3h15m for 10 days of simulation) is more longer than of Case 2 (1h25m)
I don't know why?
Thank you very much for any your suggestion or comment.

PS. I have tested with problem number 201 (t2d_malpasset_large) in the same machine. It works very good in two cases in point of view of calculation time.

Best regards
Thong NGUYEN
HCMUT, VN
The administrator has disabled public write access.

Calculation time in parallel 11 years 5 months ago #9224

  • jmhervouet
  • jmhervouet's Avatar
Hello Thong,

So most probably there is something in your Fortran file which is not adapted to parallelism and the computation is different. You should be able to check on a very few time steps if you have the same listing (values of fluxes, number of iterations, etc.) with only differences of about 1.D-6 or less. A common error is to use hardcoded point numbers that correspond only to the original mesh.

With best regards,

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

Calculation time in parallel 11 years 5 months ago #9226

  • nguyenthong_BK
  • nguyenthong_BK's Avatar
Dear Mr. Jean-Michel Hervouet ,
Thank you very much for your prompt response. I will check my program as your suggestion. What do you mean : "to use hardcoded point numbers that correspond only to the original mesh".?

Best regards
Thong NGUYEN
HCMUT, VN
The administrator has disabled public write access.

Calculation time in parallel 11 years 5 months ago #9230

  • jmhervouet
  • jmhervouet's Avatar
Hello,

"hardcoded point numbers" : if you do something to boundary point number 42 (boundary points numbering like in boundary conditions file) or to point 4652, these numbers will be changed in parallel, for example they will become respectively 13 and 657. You can find back the original numbers with :

BOUNDARY_COLOUR: you have BOUNDARY_COLOUR%I(13)=42

KNOLG: you have MESH%KNOLG%I(657)=4652

To find if a boundary point is in a given subdomain, you may have to do a loop:


Suppose your scalar code is :

HBOR(42)=3.2D0

a (not very optimised) parallel version would be:

DO K=1,NPTFR
IF(BOUNDARY_COLOUR%I(K).EQ.42) HBOR(K)=3.2D0
ENDDO

I hope this is a bit clearer,

With best regards,

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

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