Installation guide

Intel® Parallel Studio XE 2015 Composer Edition for C++ Linux*
Installation Guide and Release Notes 23
3.5.2.6 Calling exit() from an offload region
When calling exit() from within an offload region, the application terminates with an error
diagnostic “offload error: process on the device 0 unexpectedly exited
with code 0
3.5.3 Known issues for offload to Intel® Graphics Technology
3.5.3.1 Host-side execution of offload code is not parallelized
The compiler will generate both a target and host version of the parallel loop under #pragma
offload. The host version is executed when the offload cannot be performed (usually when
the target system does not have a unit with Intel® Graphics Technology enabled).The parallel
loop must be specified using the parallel syntax of cilk_for or an Array Notation statement,
which has parallel semantics for offload. The target version of the loop will be parallelized for
target execution, but there is a current limitation where the host-side back-up version of the
parallel loop will not be parallelized. Please be aware this can affect the performance of the
back-up code execution significantly when offload execution does not happen in the case of
cilk_for use. Array notation does not currently generate parallel code on the host, so
performance should not differ here in that case. This is a known issue that may be resolved in a
future product release.
3.5.3.2 If multiple processes running with non-root privilege try to offload there may be
sporadic fails.
You may see sporadic fails if multiple processes (with non-root privilege) try to offload. Only the
first process that opens /dev/dri/card0 can pass DRM authentication. Only the first process
to open /dev/dri/card0 has master privilege. “Root” or “master” privilege is needed to pass
the DRM authentication. That is why all processes pass through when running with root
privilege, but only one of them passes with non-root privilege. This is a known restriction for
Linux*.
Possible workarounds
Execute each process serially.
Execute as root
3.5.3.3 Other known limitations with offload to Intel® Graphics Technology
In the offloaded code, the following are not allowed:
o Exception handling
o RTTI
o longjmp/setjmp
o VLA
o Variable parameter lists
o Virtual functions, function pointers, or other indirect calls or jumps
o Shared virtual memory
o Data structures containing pointers, such as arrays or structs
o Globals with pointer or reference type