Software Archive
Read-only legacy content
17061 Discussions

Meet an error when using LAPACKE_dpptrf

王__云飞
Beginner
382 Views

I use LAPACKE_dpptrf in my program, the code is:

int info = 0;
    #pragma offload target(mic) out(icfa_1:length(icfa_dim * (icfa_dim + 1) / 2) alloc_if(0) free_if(0)) 
    {
       info = LAPACKE_dpptrf(LAPACK_COL_MAJOR,'L',icfa_dim,icfa_1);
       
    }

PS: the array icfa_1 is allocated before on MIC, no I use allloc_if(0) here.

When I compile this application by icpc -no-offload -mkl, it can be compiled and it can run successfully.

However, when I compile it by icpc -mkl, it still can be compiled but I met error when running it.

The error is :

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

What's the possible causes here?

I really need your help.

0 Kudos
1 Reply
Frances_R_Intel
Employee
382 Views

I'm afraid there is not enough information here to answer the question, Can you tell me where and how the array icfa_1 was declared and space allocated on the host?  When you did the offload call to allocate icfa_1 on the coprocessor, did you specify the same length value and did you use free_if(0) to be sure the space wasn't released? Was that also where you initialized the array?

0 Kudos
Reply