<br>Dear all,<br><br>in order to calculate speedup (Sp = T1/Tp) I need an accurate measurement of T1, the time to solve on 1 processor. I will be using the parallel algorithm for that, but there seems to be a hick-up. <br>
<br>At the cluster I am currently working on, each node is made up by 12 PEs and have shared memory. When I would just reserve 1 PE for my job, the other 11 processors are given to other users, therefore giving dynamic load on the memory system resulting into inaccurate timings. The solve-times I get are ranging between 1 and 5 minutes. For me, this is not very scientific either. <br>
<br>The second idea was to reserve all 12 PEs on the node and just let 1 PE run the job. However, in this way the single CPU gets all the memory bandwidth and has no waiting time, therefore giving very fast results. When I would calculate speedup from here, the algorithm does not scale very well. <br>
<br>Another idea would be to spawn 12 identical jobs on 12 PEs and take the average runtime. Unfortunately, there is only one PETSC_COMM_WORLD, so I think this is impossible to do from within one program (MPI_COMM_WORLD). <br>
<br>Do you fellow PETSc-users have any ideas on the subject? It would be much appreciated. <br><br>regards,<br><br>Leo van Kampenhout<br><br><br>