Quantcast
Channel: Intel® Many Integrated Core Architecture
Viewing all articles
Browse latest Browse all 1347

process on the device 0 was terminated by signal 11 (SIGSEGV)

$
0
0

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.


Viewing all articles
Browse latest Browse all 1347

Trending Articles