Parallel threads : problem

Exchange about the physics background, diffuse interface theory, etc..
Post Reply
Sudhee
Posts: 23
Joined: Tue Mar 28, 2017 7:33 pm
anti_bot: 333

Parallel threads : problem

Post by Sudhee » Tue Sep 18, 2018 5:05 pm

Dear Bernd/Ralph,
I am now using MICRESS 6.4 version and have some problem with the execution of 'parallel threads' parameter. I am running a simulation and trying to implement the usage of different cores. I see that the simulation time is increasing with the usage of multiple cores. For example, my simulation finished in 30 s (wall-clock time) when I don't use parallelization but took 75 s when I try to run the same with the help of 4 cores and time increases with no.of cores. Assuming that the load was small on parallelized solver, I have tried by implementing the same with the bigger system but follows the same pattern of results. This seems confusing to me. Please, find the attached driving file that I was using. Could you please let me know what is going wrong with this?
Thank you.

Best regards,
Sudhee.
Attachments
2C_in_dri.txt
(15.5 KiB) Downloaded 95 times

Bernd
Posts: 1144
Joined: Mon Jun 23, 2008 9:29 pm

Re: Parallel threads : problem

Post by Bernd » Wed Sep 19, 2018 2:09 pm

Dear Sudhee,

If you do a 1D-simulation you should always use the z-direction. Otherwise you work against the internal data structures, and parallelisation and performance will be very bad - and I am even not sure whether it works at all in all cases!

Apart from that, for making performance checks on parallelisation, it is wise to use sufficiently large domains in 2D or 3D, otherwise the outcome is not meaningful. Furthermore, be sure not to look at CPU times: In contrary to the wallclock times they always increase with the number of threads!

Bernd

ralph
Posts: 107
Joined: Wed Apr 27, 2011 4:42 pm
anti_bot: 333

Re: Parallel threads : problem

Post by ralph » Thu Sep 27, 2018 11:00 am

In fact, the CPU times are summed up over all threads.
If you get an ideal linear speedup with the number of threads, dividing by the number of threads will give you roughly the wallclock time.

Ralph

Post Reply