On Sun, Feb 28, 2016 at 10:29 AM, TAY wee-beng <[email protected]> wrote:
> > On 27/2/2016 12:53 AM, Barry Smith wrote: > >> On Feb 26, 2016, at 10:27 AM, TAY wee-beng <[email protected]> wrote: >>> >>> >>> On 26/2/2016 11:32 PM, Barry Smith wrote: >>> >>>> On Feb 26, 2016, at 9:28 AM, TAY wee-beng <[email protected]> wrote: >>>>> >>>>> Hi, >>>>> >>>>> I have got a 3D code. When I ran with 48 procs and 11 million cells, >>>>> it runs for 83 min. When I ran with 96 procs and 22 million cells, it ran >>>>> for 99 min. >>>>> >>>> This is actually pretty good! >>>> >>> But if I'm not wrong, if I increase the no. of cells, the parallelism >>> will keep on decreasing. I hope it scales up to maybe 300 - 400 procs. >>> >> Hi, > > I think I may have mentioned this before, that is, I need to submit a > proposal to request for computing nodes. In the proposal, I'm supposed to > run some simulations to estimate the time it takes to run my code. Then an > excel file will use my input to estimate the efficiency when I run my code > with more cells. They use 2 mtds to estimate: > > 1. strong scaling, whereby I run 2 cases - 1st with n cells and x procs, > then with n cells and 2x procs. From there, they can estimate my expected > efficiency when I have y procs. The formula is attached in the pdf. > > 2. weak scaling, whereby I run 2 cases - 1st with n cells and x procs, > then with 2n cells and 2x procs. From there, they can estimate my expected > efficiency when I have y procs. The formula is attached in the pdf. > > So if I use 48 and 96 procs and get maybe 80% efficiency, by the time I > hit 800 procs, I get 32% efficiency for strong scaling. They expect at > least 50% efficiency for my code. To reach that, I need to achieve 89% > efficiency when I use 48 and 96 procs. > Only if things obey the kind of scaling you expect. You could have your code degrade less quickly by changing the algorithm. > So now my qn is how accurate is this type of calculation, especially wrt > to PETSc? > You should also distinguish between "setup" and "run", where the later will happen at each step. Thanks, Matt > Similarly, for weak scaling, is it accurate? > > Can I argue that this estimation is not suitable for PETSc or hypre? > > Thanks > > > So it's not that parallel. I want to find out which part of the code I >>>>> need to improve. Also if PETsc and hypre is working well in parallel. >>>>> What's the best way to do it? >>>>> >>>> Run both with -log_summary and send the output for each case. This >>>> will show where the time is being spent and which parts are scaling less >>>> well. >>>> >>>> Barry >>>> >>> That's only for the PETSc part, right? So for other parts of the code, >>> including hypre part, I will not be able to find out. If so, what can I use >>> to check these parts? >>> >> You will still be able to see what percentage of the time is spent in >> hypre and if it increases with the problem size and how much. So the >> information will still be useful. >> >> Barry >> >> I thought of doing profiling but if the code is optimized, I wonder if it >>>>> still works well. >>>>> >>>>> -- >>>>> Thank you. >>>>> >>>>> Yours sincerely, >>>>> >>>>> TAY wee-beng >>>>> >>>>> > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
