"TAU Performance System® is a portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C, C++, UPC, Java, Python." https://www.cs.uoregon.edu/research/tau/home.php
according to tau documentation (https://www.cs.uoregon.edu/research/tau/docs/usersguide/ch01.html), there are 3 ways to profile:
- interposition: use tau_exec in the mpiexec call. nothing special needed for compile. only shows mpi events.
- compiler: use compiler directives in the code.
- source: use PDT to automatically instrument the code: https://www.cs.uoregon.edu/research/pdt/home.php
I believe that both 2 and 3 are covered in the compiler folder and example.
These examples were run with these packages installed: