Using MKL to generate random data on Xion Phi


I try to use MKL to generate lots of random data every time on Xeon phi, but the performance is very bad comparing the performance on Xeon CPU.(E5620) .

The attachment is the original code, and the compile option for Xeon Phi is -O3  -mkl -mmic. and it takes about 115 seconds, however when I run it on Xeon CPU,it only takes 3.5 seconds. I do not know why the difference is so much. Is the way in which I use the Xeon Phi  wrong or the real  performance on Xeon Phi is bad? 

Thank you!



not vectorizing for no reason

Hi all,

I have isolated a small section of a loop in my code to vectorize and test for other kinds of optimization a well(like alignment etc)

Here is the actual code.

WORK1(:,:,kk) =  KAPPA_THIC(:,:,kbt,k,bid)  * SLX(:,:,kk,kbt,k,bid) * dz(k)

The optrpt says this 

LOOP BEGIN at loop.F90(91,13)
   remark #15541: outer loop was not auto-vectorized: consider using SIMD directive
   remark #25436: completely unrolled by 8

Are there any instructions in k1om can replace lfence instruction in x86_64

I'm compiling Supersonic, an opensource database of google on Intel Phi using icc with option -mmic

but I find some lfence in the source code, but it seems that Phi doesn't support lfence instruction, so I want to replace lfence by some other instructions in Phi.

Is it practicable? for example,

Vectorization of a function call


I have a following problem: I have a big loop inside my program that I want to parallelize and vectorize. Inside the loop I do a lot of math computations, but there are no dependencies between the iterations. However, inside the loop I call a simple function that returns minimum of two values, or zero, if the minimum value is negative. Generally, it looks like that:

offload error: unexpected embedded target binary type, ...

Could someone help me with my software installation issue with Xeon Phi? I'm trying to compile my program on the host for future offload developments. In the case I don't include any offload functions in my codes, my program as well as some external libraries (Arpack, Petsc, Libmesh, etc.) are compiled with Intel MPI & MKL and running well on the host. However, if I put any testing offload codes, then it shows long messages during compilation and linking as shown below. An executable is created anyways but it's not running.

Suscribirse a Unix*