Intel® Xeon Phi™ Coprocessor D
EVELOPER
’
S
Q
UICK
S
TART
G
UIDE
16
/opt/intel/vtune_amplifier_xe_2013/documentation/en/tutorials/fin
d_lw_hotspots/C++/index.htm
•
Useful documentation on the Web:
o
On the website
http://software.intel.com/mic-developer
you will find a wide range of
documentation that can be downloaded, most notably the
Intel® Xeon Phi™ Coprocessor
Software Developers Guide
under
“PROGRAMMING”
tab., as well as including the
System V
Application Binary Interface K1OM Architecture Processor Supplement,
Intel® Xeon Phi™
Performance Monitor Units, and
the
Intel® Xeon Phi™ Coprocessor Instruction Set Reference
Manual
(under
“OVERVIEW”
tab) . From this site you will also be able to find a community
forum to ask questions, links to other available tools, code samples, and case studies.
o
http://software.intel.com/en-us/articles/programming-and-compiling-for-intel-many-
integrated-core-architecture
contains a wealth of information on compilers.
•
Some sample offload code using the explicit memory copy model can be found in:
o
C++:
/
opt/intel/composerxe/Samples/en_US/C++/mic_samples/intro_sampleC/
o
Fortran:
/opt/intel/composerxe/Samples/en_US/Fortran/mic_samples/
o
Intel® MKL:
/opt/intel/composerxe/mkl/examples/mic*
o
For examples of Intel® MKL automated offload:
/opt/intel/composerxe/mkl/examples/mic_ao/blasc
and
…/mic_ao/blasf
o
The rest of the samples demonstrate use of MKL via compiler-assisted offload
(
/opt/intel/composerxe/mkl/examples/mic_offload).
•
Some sample offload code using the implicit memory copy model can be found in:
o
C:
/opt/intel/composerxe/Samples/en_US/C++/mic_samples/shrd_sampleC
and
…/LEO_tutorial
o
C++:
/opt/intel/composerxe/Samples/en_US/C++/mic_samples/shrd_sampleCP
P
Build-Related Information
•
The offload compiler produces “fat” binaries and
.so
files that contain code for both host and the
Intel® Xeon Phi™ Coprocessor.
•
The offload compiler produces code that examines the runtime execution environment for the
presence of an Intel® Xeon Phi™ Coprocessor. The offload compiler will create both host and Intel® MIC
Architecture versions of all code marked for offload.
•
A number of workarounds and hints can be found in
releaseNotes-linux.txt
.
Compiler Switches and Makefiles
When building applications that offload some of their code to the Intel® Xeon Phi™ Coprocessor, it is possible to
cause the offloaded code to be built with different compiler options from the host code. The method of
passing these options to the compiler is documented in the compiler documentation under the “Compiler
Reference/Compiler Options/Compiler Option Categories and Descriptions” section. Look for the
–offload-
option
compiler switch. In that same section, also look up the
–offload-attribute-target
compiler