Print

Print


> Is anyone aware of tools for use by Fortran developers that can do the
> following:
> 
>     * Dynamic run time analysis (memory leak checking, unitialized
>       memory reads, etc.)
>     * Coverage analysis (how many times lines of code are executed)
>     * Timing analysis (how long a particular routine or block of code
>       requires to execute)
>     * Runs on Linux (we use SUSE 9.0)
>     * Runs with Fortran compilers (we use ifort)
>
> Does anybody use valgrind?

Yes. As Greg Lindahl wrote it is extremely effective with ifort, though
it does run rather slowly.  It does the dynamic run-time analysis above,
but not coverage or timing analysis.  Most usefully you get a stack traceback
with line numbers for each problem report. I'd recommend using it in conjunction
with the "Valkyrie" GUI.

Another tool I discovered recently is the "google performance tools"
http://goog-perftools.sourceforge.net/.  This does (a) excellent dynamic
memory checking, (b) CPU time profiling (c) memory use profiling.  The memory
profiling provides a (text or graphical) routine level analysis of who is
using memory, and can easily pinpoint leaks.  It works well with Intel
Fortran provided you update the perl analysis script to add the ifort RTL
routines to the list of those ignored in the output.

Keith Refson

-- 
Dr Keith Refson,
Building R3
Rutherford Appleton Laboratory
Chilton
Didcot                          kr AT isise		
Oxfordshire OX11 0QX            DOT nd DOT rl DOT ac DOT uk