In question 3(d), I was using the total computational timing results to fit the data, but got negative phi value. However, phi is the time required for floating point operations, it should be positive. I was thinking maybe because the MPI_Allgather does not necessarily follow the model equation we derived in Q2(a), so is it reasonable to get a negative value? Or are my timing results not reliable? Can you give some suggestion?
My timing results have a big variance. Did you observe the same thing?
My timing is quite stable
This is most likely not a bug of your code, but a feature of what parallel computation debugging and presenting results is about.
If the timing results you got from the computations are much less than from communication, it can happen that you get a negative phi.
If, instead of using Allgather, your own routine gives more reasonable parameters,
use that one.
If none of these work, you can try to estimate phi from only the computation part
(one unknown, many data), still with least squares, but constant approximation.
I hope your computation timing results are increasing…
Make sure you explain what you do.