Need higher resolution times for linpack benchmark

Janne Blomqvist blomqvist.janne@gmail.com
Sun Dec 13 19:51:00 GMT 2009


On Sat, Dec 12, 2009 at 01:35, Delbert Franz <ddf@iqdotdt.com> wrote:
> Thanks for the response.  I checked the description of DATE_AND_TIME again and
> it only returns values to the millisecond.

You're right; the DATE_AND_TIME API is restricted to millisecond
resolution, regardless whether it uses some underlying timer with
higher resolution (which gfortran does, as I mentioned in my previous
message). Sorry about that.

> That was OK years ago but now
> the linpack benchmark cases are computed so rapidly that we need close to
> a 100 times greater resolution.

Well, that's one reason why nobody uses a 100x100 linpack test to
measure anything anymore on current machines.

>  Seems to me that CPU_TIME should do it but
> either it is broken or was never designed to have that resolution.

As I mentioned in my previous message, CPU_TIME itself is fine, but on
Linux it's restricted by the fact that CPU time accounting only has 10
ms resolution.

> Aside from researching how to call the C routine suggested by another
> response to this question, I don't see any gfortran routine that meets
> the requirements.

Calling a C routine is probably your best bet in the short term.
Longer term, it should be possible to improve SYSTEM_CLOCK as Tobias
explained.

Oh, and profilers are pretty cool too. A sampling profiler like perf
or oprofile should have very little overhead.

-- 
Janne Blomqvist



More information about the Fortran mailing list