[petsc-dev] Status of pthreads and OpenMP support

Gerard Gorman g.gorman at imperial.ac.uk
Sat Oct 27 13:50:11 CDT 2012


Nystrom, William D emailed the following on 26/10/12 16:58:
> What profiling tools do you recommend to use with petsc?  I have investigated and tried Openspeedshop,
> HPC Toolkit and Tau but have not tried any with petsc.  I was told that there were some issues with
> using Tau with petsc.  Not sure what they are.  So far, I have liked Tau best.

You should be able to use any profiler you use with other codes. I
cannot imagine what problem Tau would run into with PETSc - although I
have not tried myself. In a couple of instances macro's did get in the
way...but it only takes a couple of seconds to inline by hand any code
of interest so it's not a big deal.

For PETSc I found valgrind's cachegrind to be great for profiling cache
because it can annotate source. However, I really struggled get anything
useful about threads out of valgrind.  Oprofile is also great as it can
give annotated code indicating the cost at each line. Perf and likwid
also worked fine for integrated statistics. Those three use hardware
counters and so are particularly useful. Recently I have been using
vtune on IvyBridge for petsc and was really very happy with the
usability and depth of reporting. I think Intel did a good job hooking
up all the hardware counters so you can measure a bunch of stuff with no
faffing about. However, I feel completely cheated having to pay a hefty
license for just one architecture - particularly when a combination of
the afore mentioned tools will give you the same data (with a couple of
exceptions as tools catch up with new hardware counters).

Cheers
Gerard




More information about the petsc-dev mailing list