Hi. I am running an evaluation of vtune for linux 1.0 on a redhat 7.2 box. I am trying to collect callgraph data on a multi threaded (pthreads) cpu intensive test executable. running the executable itself exits after 30 seconds. Running the same exe using the following command gets 'stuck', does not return : I get a message Data collection started..., and nothing else. The command I used : vtl activity $name -c callgraph -app $app -moi $app run
Are there any limitations on using vtune with multithreaded applications. Another question : candoes vtune follow forks ?
the answer to your last question is "yes" VTune follows forks and will report results on all processes created by "fork".
vtune also reports results collected on multithreaded applcatioin (with pthreads also).
regarding your case, there are may be several scenarios.
1) How long did you wait? the overhead of the call graph collection may be huge (10s of times). Try to stop the collection and to get partial results (until you stoped it). To do this you should run:
/opt/intel/vtune/shared/bin/ActivityController (same path as "vtl" has)
from another console window, when your activity is running. Choose "stop" there. If all goes smoothly you should get the call graph results until the point you stopped the collection. Analyze it. (Like see how many times a particular function was called) If you find out that the partial results are OK, run the activity again and go to lunch :-)
2) there may be bug in vtune, then the best thing to do is to call support. they'll probably ask you to attach your application.
I tried writing a simple test that runs several threads , each runs a simple loop. Running the program terminates in a few seconds. Running the program with vtune hangs after the first thread is started. I can see the vtl processes not doing anything. Activity controller claims that I do not have any running activities ! I am using the newest download (gold) version.