(This is low priority ticket but creating this so that it's on our list)
For benchmarking purpose I was running llvm backend benchmarks under VTune with the intention of finding nrn_state hotspot then can check type of assembly instructions generated and check various performance metrics. But it seems like due to lack of debug symbols (?), we don't see information about name of kernel.
For example, on Ubuntu box that we got access to:
. /opt/intel/oneapi/setvars.sh
vtune -collect hotspots -knob sampling-mode=hw -knob sampling-interval=0.5 ./bin/nmodl ../test.mod llvm --ir --vector-width 1 benchmark --run --instance-size 100000000 --repeat 15 --backend default
and then looking at generated result:
(see top functions with Outside any known module)

Or, with call stack information:
vtune -collect hotspots -call-stack-mode all -- ./bin/nmodl ../test.mod llvm --ir --vector-width 1 benchmark --run --instance-size 100000000 --repeat 30 --backend default
vtune-gui r000hs/

cc: @georgemitenkov @iomaganaris @castigli
(This is low priority ticket but creating this so that it's on our list)
For benchmarking purpose I was running llvm backend benchmarks under VTune with the intention of finding
nrn_statehotspot then can check type of assembly instructions generated and check various performance metrics. But it seems like due to lack of debug symbols (?), we don't see information about name of kernel.For example, on Ubuntu box that we got access to:
. /opt/intel/oneapi/setvars.sh vtune -collect hotspots -knob sampling-mode=hw -knob sampling-interval=0.5 ./bin/nmodl ../test.mod llvm --ir --vector-width 1 benchmark --run --instance-size 100000000 --repeat 15 --backend defaultand then looking at generated result:
(see top functions with
Outside any known module)Or, with call stack information:
cc: @georgemitenkov @iomaganaris @castigli