[petsc-users] Investigate parallel code to improve parallelism

TAY wee-beng zonexo at gmail.com
Sun Feb 28 10:29:48 CST 2016


On 27/2/2016 12:53 AM, Barry Smith wrote:
>> On Feb 26, 2016, at 10:27 AM, TAY wee-beng <zonexo at gmail.com> wrote:
>>
>>
>> On 26/2/2016 11:32 PM, Barry Smith wrote:
>>>> On Feb 26, 2016, at 9:28 AM, TAY wee-beng <zonexo at gmail.com> 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.

So now my qn is how accurate is this type of calculation, especially wrt 
to PETSc?

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
>>>>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: temp.pdf
Type: application/pdf
Size: 311059 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160229/a23d0224/attachment-0001.pdf>


More information about the petsc-users mailing list