Error while enabling TAU
Closed this issue · 1 comments
pramodk commented
Hello,
I was trying to enable TAU support but getting following error:
cd /tmp/kumbhar/spack-stage/spack-stage-2V5hVI/Caliper/spack-build/src/common && /gpfs/bbp.cscs.ch/project/proj7/kumbhar/spack/lib/spack/env/intel/icpc -Dcaliper_common_EXPORTS -I/tmp/kumbhar/spack-stage/spack-stage-2V5hVI/Caliper/spack-build/include -I/gpfs/bbp.cscs.ch/project/proj7/kumbhar/spack/var/spack/stage/caliper-master-iuak4wkzhfp5ohn3ttyoa43gqgfrqcvj/Caliper/include -I/tmp/kumbhar/spack-stage/spack-stage-2V5hVI/Caliper/spack-build -I/gpfs/bbp.cscs.ch/project/proj7/kumbhar/spack/var/spack/stage/caliper-master-iuak4wkzhfp5ohn3ttyoa43gqgfrqcvj/Caliper/src -std=c++11 -O2 -g -DNDEBUG -fPIC -o CMakeFiles/caliper-common.dir/SnapshotBuffer.cpp.o -c /gpfs/bbp.cscs.ch/project/proj7/kumbhar/spack/var/spack/stage/caliper-master-iuak4wkzhfp5ohn3ttyoa43gqgfrqcvj/Caliper/src/common/SnapshotBuffer.cpp
/gpfs/bbp.cscs.ch/project/proj7/kumbhar/spack/var/spack/stage/caliper-master-iuak4wkzhfp5ohn3ttyoa43gqgfrqcvj/Caliper/src/services/tau/tau.cpp(95): error: expected a ")"
Tau_stop((const char*)(value.data());
^
/gpfs/bbp.cscs.ch/project/proj7/kumbhar/spack/var/spack/stage/caliper-master-iuak4wkzhfp5ohn3ttyoa43gqgfrqcvj/Caliper/include/caliper/AnnotationBinding.h(204): error #140: too many arguments in function call
binding->finalize(c,chn);
^
detected during instantiation of "void cali::AnnotationBinding::make_binding<BindingT>(cali::Caliper *, cali::Channel *) [with BindingT=<unnamed>::TAUBinding]" at line 105 of "/gpfs/bbp.cscs.ch/project/proj7/kumbhar/spack/var/spack/stage/caliper-master-iuak4wkzhfp5ohn3ttyoa43gqgfrqcvj/Caliper/src/services/tau/tau.cpp"
compilation aborted for /gpfs/bbp.cscs.ch/project/proj7/kumbhar/spack/var/spack/stage/caliper-master-iuak4wkzhfp5ohn3ttyoa43gqgfrqcvj/Caliper/src/services/tau/tau.cpp (code 2)
make[2]: *** [src/services/tau/CMakeFiles/caliper-tau.dir/tau.cpp.o] Error 2
make[2]: Leaving directory `/tmp/kumbhar/spack-stage/spack-stage-2V5hVI/Caliper/spack-build'
make[1]: *** [src/services/tau/CMakeFiles/caliper-tau.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
I have used caliper instrumentation in the application and I get summary like below:
== CALIPER: (0): Flushing Caliper data
== CALIPER: (0): Aggregate: flushed 58 snapshots.
Path Min time/rank Max time/rank Avg time/rank Time % (total)
main 1734832.000000 1854442.000000 1800110.055556 85.460410
MPI_Finalized 1.000000 2.000000 1.472222 0.000070
MPI_Initialized 1.000000 9.000000 2.972222 0.000141
MPI_Finalize 38.000000 18670.000000 6490.166667 0.308121
simulation 1955.000000 3952.000000 2304.138889 0.109389
spike-exchange 1.000000 4.000000 2.194444 0.000104
communication 1.000000 4.000000 2.166667 0.000103
MPI_Allgather 6.000000 10.000000 7.972222 0.000378
imbalance 2.000000 5.000000 3.222222 0.000153
MPI_Barrier 4.000000 7.000000 6.361111 0.000302
timestep 16869.000000 31784.000000 18752.777778 0.890290
state-update 10661.000000 19779.000000 11818.472222 0.561083
state-hh 6243.000000 11275.000000 6926.583333 0.328840
state-ExpSyn 3481.000000 6472.000000 3896.888889 0.185005
state-pas 2673.000000 5033.000000 2998.777778 0.142367
update 3548.000000 6855.000000 4053.083333 0.192421
second_order_cur 2620.000000 4989.000000 2947.277778 0.139922
matrix-solver 6605.000000 13429.000000 8186.250000 0.388643
setup_tree_matrix 28000.000000 52004.000000 31500.194444 1.495475
cur-hh 5729.000000 10515.000000 6361.777778 0.302026
cur-ExpSyn 5645.000000 10426.000000 6270.027778 0.297670
cur-k_ion 2610.000000 4897.000000 2914.444444 0.138364
cur-na_ion 2720.000000 5105.000000 3088.611111 0.146632
cur-pas 7176.000000 13420.000000 8167.000000 0.387729
deliver_events 6171.000000 11643.000000 6917.055556 0.328388
spike-exchange 149.000000 322.000000 178.527778 0.008476
communication 144.000000 275.000000 173.444444 0.008234
MPI_Allgatherv 1727.000000 1914.000000 1842.527778 0.087474
MPI_Allgather 633.000000 927.000000 823.777778 0.039109
imbalance 113.000000 233.000000 132.555556 0.006293
MPI_Barrier 446.000000 643.000000 582.333333 0.027646
MPI_Barrier 1362.000000 98208.000000 85062.916667 4.038371
MPI_Barrier 13.000000 22021.000000 13972.194444 0.663331
MPI_Gatherv 5.000000 14.000000 6.722222 0.000319
All good. I was wondering if I could be able to export this information to TAU profilers so that I don't have to use different instrumentation mechanism. Is this intended use of TAU support in Caliper?
daboehme commented
Hi Pramod,
Thanks for the bug report. I'll put out an update that should fix the compilation shortly.
Yes, the tau service "exports" Caliper annotations as TAU regions so you don't need additional TAU instrumentation.