How to use VTUNE on a linux cluster with remote access on a mac

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

https://software.intel.com/en-us/qualify-for-free-software/student

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

http://www.linuxproblem.org/art_9.html

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.

Advertisements
This entry was posted in Tools and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s