You may want to make a private copy of TAU to configure it.% cp -r /usr/local/pooma/packages/tau2 . % cd tau2Configure TAU using the -TRACE option. For e.g.,
% ./configure -c++=KCC -SGITIMERS -TRACE -tulipthread=/home/smarts/profile/smarts -smarts % make install |
$(SMARTSDIR)/lib/GNUmakefile
, you place the
current TAU installation directory in place of the TAUDIR
variable and uncomment the lines that put $(TAUDEFS) $(TAUINC)
in the
CFLAGS
and do likewise in $(SMARTSDIR)/examples/GNUmakefile-iris4d
.
The above figure illustrates the scheduling of two iterates on four threads using the Smarts Sync Scheduler using the Smarts example from $(SMARTSDIR)/examples/jac/abctest
. To generate the trace, we ran the example and merged the traces as follows:
% abctest 4 100 1024 4 % tau_merge tautrace*.trc abc.trc % tau_convert -vampir abc.trc tau.edf abc.pvAnd launched Vampir with the resultant abc.pv trace.
% vampir abc.pv & |
6
and 2
. To find the symbols associated with these we chose Preferences->Activities->Symbol Grouping....
The above figure shows that symbol 2
in the global timeline display corresponds to the routine AbcIterate<Scheduler>::run()
. Also,
to see the dynamic callgraph on any process, we clicked on the process in the main timeline display and then clicked on Process Displays->Call Tree.
Some other views include the Parallelism view from the menu of Global Displays and the per process Activity Chart from Process Displays as shown below.
In the figure above, we see the global timeline display of the simple parallel scheduler (top) compared with that of the SMARTS sync scheduler (bottom).
To compile abctest for the pthread based simple parallel scheduler, we configured tau as follows:
% ./configure -c++=KCC -pthread -TRACE -SGITIMERS |