Using ex2f to determine server's MPI performance

Ben Tay zonexo at gmail.com
Tue Jul 1 20:04:23 CDT 2008


Hi,

I'm thinking of using the example code ex2f to determine my school 
server's MPI performance. Since my own code uses a 1200x1080 grid, I let 
m and n in ex2f.F be equal to 1200 and 1080 respectively. I ran the code 
on 4 processors and found that it's taking a very long time to complete 
for this job (> 0.5hr).

I then use Hypre as the preconditioner and it completed in a few min or 
so. I decided to use this to gauge my server's scaling performance. My 
own code is also using  Hypre. However, in order to increase the runtime 
to make the timing less prone to random timing errors, I added

do k=1,100
    call KSPSolve(ksp,b,x,ierr)
end do

to repeat the solving 100 times. Is this fine (will there be any cache 
related problems)? Else, is there a better way? I need to keep the grid 
size fixed so that I can compared with my own code which uses the same 
no. of grids.

Anyway, I ran the code and I got this result:

processors   ksp_solve time (from log_summary)   wall time min/sec

1                  4.6e2                                 7/50
2                  2.4e2                                 4/9
4                  1.3e2                                 2/20
8                  1.1e2                                 2/23
12                 7.7e1                                1/24

Does this mean that my school server scales poorly for >4 processors? I 
repeated running the code using the 8 processor and the new timing is 
even longer.

Thank you very much.





More information about the petsc-users mailing list