Intel® Many Integrated Core Architecture (Intel MIC Architecture)

offload_signaled documentation

In the C++ (v16.0 update 1) documentation:

Determining if Code has Completed Running on a Coprocessor

To determine if a section of offloaded code has completed running on a given coprocessor, you can use the API _Offload_signaled().

The syntax for this API is:

extern int _Offload_signaled(int target_number, void *signal);


Nowhere is it described what the return values are.

Same thing in the Fortran documentation

Determining if Code has Completed Running on a Coprocessor

Error while offloading a parallel region


I have written my first offload program in fortran which is displayed below. The program can get out of the parallel region where I was able to printout the values of variables ener1 and ener2. However, it cannot get out of the omp target directive I checked that out with print a statement. On the command line I get the error message: offload error: process on the device 0 unexpectedly exited with code 0. I don't understand why the program is not able to finish this offload block.

Cannot execute binary error on an Intel Xeon Phi

I am having a C code that compiles and runs properly locally on my machine.
But when I am trying to compile with the icc and the -mmic flag and test it on Intel Xeon Phi, I am getting the following message:

***/cm/local/apps/sge/current/spool/node079/job_scripts/5438755: line 14: ./sequential.mic: cannot execute binary file***

I run all my tests in a cluster which uses SGE job submission system.

**My makefile contains these lines:**

    sequential: Makefile
    icc -mmic -o sequential.mic sequential.c
    qsub sequential.job

Login as root on mic0


I want to copy some .so files to /lib64 on mic0 via scp. However, I get an permission denied. When I try to login as root using ssh, after typing in my sudo password nothing happens.

I already tried the recommendations from this post but it doesnÄt work.

I use Ubuntu 14.04. Everything works fine, except this.



Error: (pointer to array) may not be used in a subscript operation. How could I solve it?

Hello everybody.

I have a pointer like this:

float **p = ...;
#pragma offload target(mic) in(p[0]:length(...))

Then I got error info: ` "p" may not be used in a subscript operation.` when compiling it.

So how could I pass a one-dimensional array like this to mic? any advice and suggestions will be greatly appreciated!

Missed optimization opportunity ANY(array .eq. 0.0)

It is a common occurrence to test a result array for conditions.

vector_mod = mod(vector_num, vector_i)
!dir$ if(.true.)
  if(ANY(vector_mod .eq. 0) return
!dir$ else
  do j=1,vector_length
    if(vector_mod(j) .eq. 0) return
  end do
!dir$ endif

Where the ANY intrinsic or short loop is performing a relational operation on an array with scalar.

The expanded code IVF V16.0 update 1 on Windows generates scalar code for both !dir$ expansions.

!$omp target device(0) map(to : min_limit,max_limit) not working

In Poor speed in MIC you will find a test case that exhibits a failure of the map(... clause of !$omp target device(0) not copying data to/from the device. The workaround was to use !$omp target update to(.. before, and !$omp target update from( after the !$omp target device(0) region.

Windows 7 Pro x64, IVF V16.0 update 1.

Look for commented out "!*!$omp ... clauses

Subscribe to Intel® Many Integrated Core Architecture (Intel MIC Architecture)