Software Archive
Read-only legacy content
17061 Discussions

something wrong with the offload out?

yuanyuan_s_
Beginner
524 Views

when I us offload like this

#pragma offload target(mic:0)           \
out(curdata2:length(1000)alloc_if(0)free_if(0))
{
        gettimeofday(&tv,NULL);
        L2 = tv.tv_sec*1000*1000 + tv.tv_usec;

                sleep(1);

        gettimeofday(&tv,NULL);
        L2couple = tv.tv_sec*1000*1000 + tv.tv_usec;
}

there will be an error report below:

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

and sometime the error report will be another different one

and sometime there is no error it can run correctly.

if I change the offload out into offload inout like this

#pragma offload target(mic:0)           \
inout(curdata2:length(1000)alloc_if(0)free_if(0))

there will be no error any more.

and my code is in the attachment.

I need some help!

thanks!

0 Kudos
3 Replies
pbkenned1
Employee
524 Views

Thanks for reporting the issue.  I can't reproduce the SIGSEGV with the example you attached.  I see one statement using only 'out':

#pragma offload target(mic:0)           \
out(curdata3:length(1000)alloc_if(0)free_if(0))
{

        gettimeofday(&tv,NULL);
        L2 = tv.tv_sec*1000*1000 + tv.tv_usec;

The example compiles and appears to run normally with icc-15.0.2 + MPSS 3.4.1.  What versions of compiler and MPSS are you using?

[testfolder]$ ./run
data's ok
busy:1.027936,compute:1.006776
busy:1.062453,compute:1.003867
busy:1.068005,compute:1.006434
[SNIP]

busy:1.013652,compute:1.013356
data has been freed
[testfolder]$
 

Patrick

0 Kudos
yuanyuan_s_
Beginner
524 Views

Patrick Kennedy (Intel) wrote:

Thanks for reporting the issue.  I can't reproduce the SIGSEGV with the example you attached.  I see one statement using only 'out':

#pragma offload target(mic:0)           \
out(curdata3:length(1000)alloc_if(0)free_if(0))
{

        gettimeofday(&tv,NULL);
        L2 = tv.tv_sec*1000*1000 + tv.tv_usec;

The example compiles and appears to run normally with icc-15.0.2 + MPSS 3.4.1.  What versions of compiler and MPSS are you using?

[testfolder]$ ./run
data's ok
busy:1.027936,compute:1.006776
busy:1.062453,compute:1.003867
busy:1.068005,compute:1.006434
[SNIP]

busy:1.013652,compute:1.013356
data has been freed
[testfolder]$
 

Patrick

I use composer_xe_2015.0.090 and I don't know how to see the version of mpss.

I want to know that how many times you have run the example, because the error will not appear every time, It just appear sometimes.

And in fact I have another problem, if I comment out the sleep(1) there will be another error. Can you help me with that?

thanks

0 Kudos
pbkenned1
Employee
524 Views

>>> I don't know how to see the version of mpss.

[testfolder]$ micinfo
MicInfo Utility Log
Created Fri Mar 20 06:46:36 2015


        System Info
                HOST OS                 : Linux
                OS Version              : 2.6.32-358.el6.x86_64
                Driver Version          : 3.4.1-1
                MPSS Version            : 3.4.1
                Host Physical Memory    : 65922 MB

[testfolder]$ ls /opt/mpss/ -l
total 4
drwxr-xr-x 3 root root 4096 Oct 26 05:56 3.4.1
[testfolder]$
 

 

>>>I want to know that how many times you have run the example,

At least 10 times.  How many times do you suggest?

[testfolder]$ ./run > run.out
[testfolder]$ ./run >> run.out
[testfolder]$ ./run >> run.out
[testfolder]$ ./run >> run.out
[testfolder]$ ./run >> run.out
[testfolder]$ ./run >> run.out
[testfolder]$ ./run >> run.out
[testfolder]$ ./run >> run.out
[testfolder]$ ./run >> run.out
[testfolder]$ ./run >> run.out
[testfolder]$ grep data run.out
data's ok
data has been freed
data's ok
data has been freed
data's ok
data has been freed
data's ok
data has been freed
data's ok
data has been freed
data's ok
data has been freed
data's ok
data has been freed
data's ok
data has been freed
data's ok
data has been freed
data's ok
data has been freed
[testfolder]$ grep -i sig run.out
[testfolder]$

 

>>> if I comment out the sleep(1) there will be another error.

Please describe the error.  I commented out sleep(1), and see no difference in program behavior.

Patrick

0 Kudos
Reply