Use icpc for KNC, not icc

This commit is contained in:
Dmitry Babokin
2014-02-20 19:15:09 +04:00
parent c3b041f7ae
commit 788098b55f

View File

@@ -655,14 +655,14 @@ To compile for Xeon Phi™, first generate intermediate C++ code:
The ``ispc`` distribution now includes a header file,
``examples/intrinsics/knc.h``, which maps from the generic C++ output
to the corresponding intrinsic operations supported by Intel Xeon Phi™.
Thus, to generate an object file, use the Intel C Compiler (``icc``) compile
Thus, to generate an object file, use the Intel C++ Compiler (``icpc``) compile
the C++ code generated by ``ispc``, setting the ``#include`` search
path so that it can find the ``examples/intrinsics/knc.h`` header file
in the ``ispc`` distribution.
::
icc -mmic -Iexamples/intrinsics/ foo.cpp -o foo.o
icpc -mmic -Iexamples/intrinsics/ foo.cpp -o foo.o
With the current beta implementation, complex ``ispc`` programs are able to
run on Xeon Phi™, though there are a number of known limitations:
@@ -683,14 +683,14 @@ run on Xeon Phi™, though there are a number of known limitations:
where the memory address is actually aligned. This may unnecessarily
impact performance.
* When requesting that ICC generate code with strict floating point
precision compliance (using ICC option ``-fp-model strict``) or
accurate reporting of floating point exceptions (using ICC option
* When requesting that ICPC generate code with strict floating point
precision compliance (using ICPC option ``-fp-model strict``) or
accurate reporting of floating point exceptions (using ICPC option
``-fp-model except``) the compiler will generate code that uses the
x87 unit rather than Xeon Phi™'s vector unit. For similar reasons, the
options ``ansi`` and ``fmath-errno`` may result in calls to math
functions that are implemented in x87 rather than using vector instructions.
This will have a significant performance impact. See the ICC manual for
This will have a significant performance impact. See the ICPC manual for
details on these compiler options.
All of these issues are currently actively being addressed and will be
@@ -3427,7 +3427,7 @@ for this argument.
* ``fast``: more efficient but lower accuracy versions of the default ``ispc``
implementations.
* ``svml``: use Intel "Short Vector Math Library". Use
``icc`` to link your final executable so that the appropriate libraries
``icpc`` to link your final executable so that the appropriate libraries
are linked.
* ``system``: use the system's math library. On many systems, these
functions are more accurate than both of ``ispc``'s implementations.