Welcome, Guest
Username: Password: Remember me

TOPIC: Why the program run worse with more processors than one !

Why the program run worse with more processors than one ! 11 years 5 months ago #9157

  • phuongTelemac
  • phuongTelemac's Avatar
Hi everyone,

I have a problem like this: I develop my own program to run with telemac2d. When I executed the program in sequential mode, it run well and everything seems ok but when I executed it in parallel mode: 2, 4 , 6 processors on my intel cluster (80 cores), the execution becomes slower than in sequential mode. I wonder that: are there any problem in my coding or my cluster ?

Because I can execute the sample code in Validation directory of Telemac, and of course, the parallel mode always gives the small execution time than the sequential mode. I think the problem is in my coding but I do not know how to debug the Fortran program with opentelemac system. My program, however, links to Metis and I also saw mpiexec executes to create 2, 4, 6 .. processes etc according to my steering file. But I could not decide where is the problem in my code to improve it.

Are there any solution to debug the program and opentelemac system?

I am looking forward to any idea from all of you !

Best regards,
Phuong
The administrator has disabled public write access.

Why the program run worse with more processors than one ! 11 years 5 months ago #9176

  • cyamin
  • cyamin's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 997
  • Thank you received: 234
Hi Phuong,

What do you mean you have developed your own program? Is it new code or a case of your own topography, wind, waves, currents etc?

Costas
The administrator has disabled public write access.

Why the program run worse with more processors than one ! 11 years 5 months ago #9181

  • phuongTelemac
  • phuongTelemac's Avatar
Hi Cyamin,

It is not a completely new code, I develop it from a old program, and try to add more feature depend on the condition of Dong Nai river in my country. I ran it in sequential mode and it took 1 hour 39 minutes and 40 seconds. I executed it with 2 processors, it took 1 hour 39 minutes and 5 seconds. And for 4, 6 processors: 1 hour, 55 minutes, and 47 seconds ; 2 hours 3 minutes and 6 seconds. I wonder that why the more processors I provided, the more time the execution of the program took.

I want to debug the code or to see the execution of my program step by step. Are there any debugging tool for me to do with opentelemac.

Thank you very much.

Phuong
The administrator has disabled public write access.

Why the program run worse with more processors than one ! 11 years 5 months ago #9182

  • cyamin
  • cyamin's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 997
  • Thank you received: 234
Hi,

Maybe the developers of opentelemac can point you how to debug it. If you could provide more details/data regarding your code, somebody could help you.

Regards,
Costas
The administrator has disabled public write access.

Why the program run worse with more processors than one ! 11 years 5 months ago #9187

  • riadh
  • riadh's Avatar
Hello
So If I have well understood your posts, it is nomore Telemac, it is your code that you've adapted from Telemac routines. Is it the case ?
In that case, I have two questions for you:
1 Why you do not use the entire release of Telemac code, it is parallel and it handles all hydraulic aspects that permit you to simulate real application? Based on your last post, you need only to simulate a real case (in your country), this means that you need to build a "model" and not a "Code"
2- The CPU times you've given show clearly that there is no parallelisme at all in your code. I'm wondering if you are not missunderstanding some basic aspects of parallelisme.
Finally, we can assist you only if you are using the "standard" versions of Telemac.

With my best regards

Riadh ATA
The administrator has disabled public write access.

Why the program run worse with more processors than one ! 11 years 5 months ago #9245

  • phuongTelemac
  • phuongTelemac's Avatar
Hi Riadh ATA,

First of all, thanks a lot for your opinion. I have just recognised the problem, because I do not have experience with Open Telemac and Fortran. So that I fell into the mistakes and I will investigate about how to build a "model" instead of coding.

Could you please explain a little bit detail about how to model a new problem with open telemac ?

Thank you very much.

Phuong
The administrator has disabled public write access.

Why the program run worse with more processors than one ! 11 years 5 months ago #9260

  • Lufia
  • Lufia's Avatar
I'm not an expert. But maybe this answer helps.

If you like to debug your code you should compile the whole telemac system with the compiler option for debugging (e.g. "-g"). Often it is also necessary to switch of the optimization (e.g. "-O0"). Then you can use a debugger like gdb to debug your code. I start my simulation with the -t option, then I go to the temporary directory and start the gdb. "gdb ./myprogramname".
A much simpler way is to printout variables during runtime.


The best way to set up a new problem is to look in the validation cases for a similar problem before. Then you should get familiar with Telemac. There are many options and the Telemac system is complex, but it is also a very powerful tool. So it will take some time to understand all options.

When you start to generate a mew problem, you should think about how your system can be described (physics). Then you should generate a mesh for your problem, define the boundary conditions, choose the numerical scheme, etc.
The administrator has disabled public write access.

Why the program run worse with more processors than one ! 11 years 5 months ago #9273

  • phuongTelemac
  • phuongTelemac's Avatar
Thanks for your instructions. I would like to know that the way I create the mesh can affect the parallel execution performance or not !?

Sincerely,
Phuong
The administrator has disabled public write access.

Why the program run worse with more processors than one ! 11 years 5 months ago #9274

  • jmhervouet
  • jmhervouet's Avatar
Hello,

The answer is no. The mesh decomposition only tries to have a balance of the number of nodes and/or elements in every subdomain, whatever the shape of the mesh.

JMH
The administrator has disabled public write access.

Why the program run worse with more processors than one ! 11 years 5 months ago #9276

  • phuongTelemac
  • phuongTelemac's Avatar
I think the problem is the division of the mesh. I wonder that how matisse can divide the mesh in an appropriate way.
The administrator has disabled public write access.
Moderators: pham

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