3

I want to use Vtune Profiler APIs to profile a code running on Xeon Phi (Linux, using offload execution) to see the number of instructions executed, the number of L1 cache misses, etc. But I can't find anywhere explaining how to use this library.

Where to find the library files and include files in Linux? How do I write a code to profile a short code running on Xeon Phi?

I would expect something like this:

//this code will be executed on host processor
Read_counters();
Code_to_run on Xeon Phi
Stop_counters();
Print results();

Thanks

MikeWade
  • 84
  • 1
  • 7
Zk1001
  • 2,033
  • 4
  • 19
  • 36
  • Do you mean this? http://software.intel.com/sites/products/documentation/hpc/amplifierxe/en-us/2011Update/lin/ug_docs/GUID-17D7238B-DD19-45DB-B5E0-D9B344D1BE96.htm – T. Vyas Mar 22 '13 at 21:22
  • Yes I have found that but it requires running the Vtune program as a standalone program. I was expecting someone that can give me the result as an API function. – Zk1001 Mar 25 '13 at 04:31
  • Does vtune even have an api? I've only ever used it from the commandline. – Nathan Ernst Mar 27 '13 at 23:55
  • It works as a marker (which region of interest) rather than an API. But I found using markers can produce unreliable results – Zk1001 Mar 28 '13 at 09:30

1 Answers1

1

There is no such kind of API support in VTune. Use Knights Corner Platform Analysis in VTune GUI or command line - it runs your program on host, but collects hardware counters only from the Xeon Phi card. I.e. as result you should see performance metrics for only offload code.

You may also find this article useful for interpreting results: http://software.intel.com/en-us/ARTICLES/OPTIMIZATION-AND-PERFORMANCE-TUNING-FOR-INTEL-XEON-PHI-COPROCESSORS-PART-2-UNDERSTANDING