Quantcast
Channel: Intel® Software - Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 2797

Intel compiler vector intrinsics for MIC architecture

$
0
0

To whom it may concern,

I'm trying to program the Intel Xeon Phi coprocessor with Intel compiler vector intrinsics. I barely find the code samples. There's one in "Intel Xeon Phi Coprocessor Vector Microarchitecture" in which the author used the C++ class interface to MIC processor intrinsics defined in the header file "micvec.h". But in this class interface there is only a limit set of intrinsics which have been abstracted. For example, _mm512_mask_load_pd is not defined in this interface. Should I mix the use of this interface with the intrinsics or just simply forget the interface?

One more question about a specific problem. 

Considering the following code:

 __declspec(align(64)) __m512i vec; vec = _mm512_mask_load_epi32(vec, writemask, int_array_ptr);

The compiler gives a warning: variable "vec" is used before its value is set"

If I change the code to:

 __declspec(align(64)) Is32vec16 vec; vec = _mm512_mask_load_epi32(vec, writemask, int_array_ptr);

Then I get the error: more than one operator "=" matches these operands: function "Is32vec16::operator=(const M512 &)" fuction "Is32vec16::operator=(const Is32vec16 &)" operand types are: Is32vec16 = __m512i

I'm really confusing about the correct usage of _mm512_mask_load_epi32. 

Thanks for your comment. 


Viewing all articles
Browse latest Browse all 2797