This is a post documenting how to use VTune analyzer on mac (only a GUI interface) to remote SSH control tasks in a linux cluster that had the full blown version of VTune installed.
First, you will need a cluster version of VTunes installed on the linux cluster. Student can get Intel® Parallel Studio XE Cluster Edition for free at
This version includes a Mac OS X Amplifier (GUI analyzer). It is only a host application that reads the data off the linux cluster server and analyze the performance.
To run analysis, do a new project first and choose an analysis. For me, I want to know if the application is bottlenecked at memory access and what percentage of time is spent in memory access. As a result, I use the “Memory Access Analysis” .
Once you have a project, we need to do set up ssh access. To do so, you need to have passwordless ssh set up. A great tutorial can be found here
A few notes on getting the application to run from the Amplifier interface
(1) Set up the target by input a) Application b) Application parameter
Application is the absolute path from home directory to the binary
Application parameter are the parameter or absolute path from home directory to any input file
(2) Environment variable Set Up
You need to put what ever environment variable you need in ~/.bashrc file. It CANNOT be in ~/.bash_profile because apparently bash_profile is only called when you log in, bashrc is used when you are running commands remotely but not really log in.
A good way to debug this issue is in the lower right corner for Amplifier analysis interface, there is an option to get the command line, like the following
“/Applications/Intel VTune Amplifier XE 2016.app/Contents/MacOS/amplxe-cl” -target-system ssh:user@host –target-install-dir=/opt/intel/vtune_amplifier_xe_2016.1.0.424694 -collect memory-access — /home/yunming/ligra/ligra/apps/GD -rounds 10 /home/yunming/ligra/ligra/apps/smallnetflix_mm.graphpush_weighted_adj
You can debug issues with the remote run by running the command line part by part. For example, we started with
ssh:user@host home/yunming/ligra/ligra/apps/GD -rounds 10 /home/yunming/ligra/ligra/apps/smallnetflix_mm.graphpush_weighted_adj
This simply tries to run the application remotely using ssh, without involving any part of the VTune interface.
In general, in terms of debugging, it is always important to isolate out smaller components and debug it bit by bit.
The biggest advantage of using the command line to debug it is that VTune amplifier doesn’t show standard error messages, only messages from standard out. As a result, if you r program fails because of an incorrect set up (as in my case, I put environment variables in bash_profile), it would NOT show you ANY message.
Hope this helps.
Coming up would be a post on how to analyze VTune.