Hi, I recently met a weird problem.
In the offload area like below
double *values=(double *)_mm_malloc(100*sizeof(double),64); #pragma offload target(mic:0) in(a:length(100)) { ... int idx=3; _mm512_mask_load_epi64(.. , writemask , &(values[idx])); }
It compiles well and runs with error" process on the device 0 was terminated by signal 11 (SIGSEGV)". And I found that when idx is multiple of 8 there is no such error. Intel doc said that the 3th argument of _mm512_mask_load_epi64 function should be a 64-byte-aligned address. But I have already make values aligned in the _mm_malloc function. It should be 64-byte-aligned no matter what idx is.