Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

Is it well known OpenMP bug?

LevD
Beginner
1,386 Views
I used OpenMP pragmas in DLL and it causes programm crush. DLL has not manual initialization function and load dynamicaly. I used icl 6.0 and icl 7.0. Today I use win32 API directly. Which compiler version hands OpenMP in DLLs appropriate?
0 Kudos
6 Replies
Henry_G_Intel
Employee
1,386 Views
Hello,
Putting OpenMP pragmas in a DLL should not cause problems for either the 6.0 or 7.0 compilers. What are the symptoms of the program crash? Are there any error messages?

Are you sure the OpenMP is correct? I suggest analyzing the DLL with the Intel Thread Checker. It might help if you posted a code fragment showing the OpenMP.

Best regards,
Henry
0 Kudos
LevD
Beginner
1,386 Views

Ops it even not compile.

static int buf[1024];

#pragma omp parallel for
for (i=0; i<1024; i++)
buf=i;

PreAnalysis$.cpp(233) : (col. 3) remark: OpenMP DEFINED LOOP WAS PARALLELIZED.
PreAnalysis$.cpp(234) : (col. 3) remark: LOOP WAS VECTORIZED.
PreAnalysis$.cpp(233): (col. 3) internal error: 0_1546
compilation aborted for PreAnalysis$.cpp (code 4)
0 Kudos
bronx
Beginner
1,386 Views
a good way to post code here is to use the "Attach Files" button to upload your code snippets, you will be even allowed to update the files after posting
0 Kudos
Henry_G_Intel
Employee
1,386 Views
I couldn't reproduce the internal error with this simple code (compiled 'icl -c -Qopenmp -QxKW simple.cpp'):
static int buf[1024];
 
void func ()
{
   int j;
 
   #pragma omp parallel for
   for (j = 0; j < 1024; j++)
      buf = j;
}

The compiler will either parallelize or vectorize the loop but I can't force it to do both. My code is probably too simple. An internal compiler error is something that must be fixed. Do you have a small code that reproduces the error? If not, please submit this issue to Intel Premier Support and provide your Package ID and the error number. To get the Package ID, type 'icid' at the compiler command prompt or go to Start Programs Intel Software Development Tools Registration and Support Get Package ID.

Thanks,
Henry
0 Kudos
LevD
Beginner
1,386 Views

HenryG

I download icl7.1 and I have to notice that this bag disappears in version 7.1. However, version 6.0 has it still.
0 Kudos
Henry_G_Intel
Employee
1,386 Views
Thanks for letting us know that the problem is fixed in the current release.

Henry
0 Kudos
Reply