Difference between revisions of "MIC: Developers Quick Start Guide"

From Define Wiki
Jump to navigation Jump to search
Line 1: Line 1:
== External Link to the Intel® Xeon Phi™ Coprocessor Developer's Quick Start Guide ==
+
== External Links to the Intel® Xeon Phi™ Coprocessor Developer's Quick Start Guide ==
 +
[https://software.intel.com/en-us/articles/building-a-native-application-for-intel-xeon-phi-coprocessors Building a native application for Xeon Phi]
 
[http://software.intel.com/en-us/articles/intel-xeon-phi-coprocessor-developers-quick-start-guide Developer's Quick Start Guide]
 
[http://software.intel.com/en-us/articles/intel-xeon-phi-coprocessor-developers-quick-start-guide Developer's Quick Start Guide]
  

Revision as of 16:40, 6 January 2015

External Links to the Intel® Xeon Phi™ Coprocessor Developer's Quick Start Guide

Building a native application for Xeon Phi Developer's Quick Start Guide

Native Compilation example

On compute020, copy openmp_sample.c from /shared/apps/intel/composerxe/Samples/en_US/C++/openmp_samples/ to your home directory

Build the application with the -mmic flag:

icc -mmic -vec-report3 -openmp openmp_sample.c

Upload the binary to the coprocessor:

scp a.out mic0:~/a.out

Find the dependencies of the application by setting the SINK_LD_LIBRARY_PATH and then running micnativeloadex. For example:

export SINK_LD_LIBRARY_PATH=/opt/intel/composer_xe_2013_sp1.X.XXX/compiler/lib/mic/:/home/user1/myproject/:$LD_LIBRARY_PATH
/opt/intel/mic/bin/micnativeloadex a.out -l

Copy over any shared libraries required by your application, in this case the OpenMP* runtime library:

scp /shared/apps/intel/composerxe/lib/mic/libiomp5.so mic0:~/libiomp5.so

Connect to the coprocessor with ssh and export the local directory so that the application can find any shared libraries it uses (in this case the OpenMP* runtime library):

ssh mic0
export LD_LIBRARY_PATH=/home/roshan

This application may generate a segmentation fault if the stacksize is not set correctly. To modify the stacksize use:

ulimit -s unlimited

Go to /home/roshan and run a.out: