HPCToolkit / hpctoolkit

HPCToolkit performance tools: measurement and analysis components

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hpcstruct errors when processing a measurements with missing binaries

blue42u opened this issue · comments

If you remove related binaries from the system before running hpcstruct <measurements>, the command will fail. For instance, when I upgraded my Spack PAPI and zlib recently (paths snipped for clarity):

$ hpcstruct --gpucfg yes -j1 m.pc.cu_call_path/
make[1]: *** No rule to make target '.../m.pc.cu_call_path/cpubins/libpapi.so.6.0.0.1', needed by '.../m.pc.cu_call_path/structs/libpapi.so.6.0.0.1.hpcstruct'.
make[1]: *** No rule to make target '.../m.pc.cu_call_path/structs/libz.so.1.2.11.hpcstruct'.
make[1]: Target 'analyze' not remade because of errors.
msg: begin concurrent analysis of 2d6b65f1b24a03c148474a7360c32626.gpubin (size = 12584, using 1 of 1 threads)
msg: end concurrent analysis of 2d6b65f1b24a03c148474a7360c32626.gpubin
msg: begin concurrent analysis of e28ee76443e94142c7afa0bc455d6b98.[vdso] (size = 4392, using 1 of 1 threads)
msg: end concurrent analysis of e28ee76443e94142c7afa0bc455d6b98.[vdso]
msg: begin concurrent analysis of ld-2.32.so (size = 177936, using 1 of 1 threads)
msg: end concurrent analysis of ld-2.32.so
msg: begin concurrent analysis of libc-2.32.so (size = 1839168, using 1 of 1 threads)
msg: end concurrent analysis of libc-2.32.so
msg: begin concurrent analysis of libdl-2.32.so (size = 18688, using 1 of 1 threads)
msg: end concurrent analysis of libdl-2.32.so
msg: begin concurrent analysis of libelf-0.185.so (size = 955496, using 1 of 1 threads)
msg: end concurrent analysis of libelf-0.185.so
msg: begin concurrent analysis of libgcc_s.so.1 (size = 100736, using 1 of 1 threads)
msg: end concurrent analysis of libgcc_s.so.1
msg: begin concurrent analysis of libgomp.so.1.0.0 (size = 274080, using 1 of 1 threads)
msg: end concurrent analysis of libgomp.so.1.0.0
msg: begin concurrent analysis of libm-2.32.so (size = 1325440, using 1 of 1 threads)
msg: end concurrent analysis of libm-2.32.so
msg: begin concurrent analysis of libnss_files-2.32.so (size = 47576, using 1 of 1 threads)
msg: end concurrent analysis of libnss_files-2.32.so
msg: begin concurrent analysis of libnvperf_host.so (size = 16995224, using 1 of 1 threads)
msg: end concurrent analysis of libnvperf_host.so
make[1]: *** No rule to make target '.../m.pc.cu_call_path/cpubins/libpapi.so.6.0.0.1', needed by '.../m.pc.cu_call_path/structs/libpapi.so.6.0.0.1.hpcstruct'.
msg: begin concurrent analysis of libpthread-2.32.so (size = 143184, using 1 of 1 threads)
msg: end concurrent analysis of libpthread-2.32.so
msg: begin concurrent analysis of librt-2.32.so (size = 39944, using 1 of 1 threads)
msg: end concurrent analysis of librt-2.32.so
msg: begin concurrent analysis of libstdc++.so.6.0.29 (size = 2128936, using 1 of 1 threads)
msg: end concurrent analysis of libstdc++.so.6.0.29
msg: begin concurrent analysis of libutil-2.32.so (size = 14720, using 1 of 1 threads)
msg: end concurrent analysis of libutil-2.32.so
make[1]: *** No rule to make target '.../m.pc.cu_call_path/structs/libz.so.1.2.11.hpcstruct'.
msg: begin concurrent analysis of main (size = 76008, using 1 of 1 threads)
msg: end concurrent analysis of main
make[1]: Target 'analyze' not remade because of errors.
make: *** [Makefile:195: all] Error 2
ERROR: Make hpcstruct files for measurement directory failed.
$ echo $?
1

All Structfiles appear to be present even at -j1, so there appears to be no functional issue, just a confusing output message and error code.