- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page