Missing Symbol when using unsigned integers as index in parallel for-loops

Missing Symbol when using unsigned integers as index in parallel for-loops

When I'm using unsigned index-variables in optimized for-loops as it is allowed in OMP 3.0 the linker can't find the symbol "___kmpc_for_static_init_4u". Changing to signed integer will remove the problem. I linked with the libraries mkl_intel_c.lib, mkl_intel_thread.lib, mkl_core.lib. What's going wrong there ?

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Quoting - CaptainCore
When I'm using unsigned index-variables in optimized for-loops as it is allowed in OMP 3.0 the linker can't find the symbol "___kmpc_for_static_init_4u". Changing to signed integer will remove the problem. I linked with the libraries mkl_intel_c.lib, mkl_intel_thread.lib, mkl_core.lib. What's going wrong there ?

Hi, CaptainCore

This is one of the restrictions that OpenMP places on which loops can be threaded. The loop variable must be of type signed integer. Unsigned integers, such as DWORDS's will not work.

Thank you.

Yolanda Chen Intel Developer Support Tools Knowledge Base: http://software.intel.com/en-us/articles/tools

Hi, CaptainCore

Sorry misunderstood your problem previously. This restriction should be removedfor OpenMP version 3.0 and Intel C++ Compiler now provide Intel-specific extensions to the OpenMP Version 3.0 specification.

So thank you forraising this issue. Could you provide a small test case to demonstrate the issue. I cannot reproduceand isolate the problemwithout your test case.

Thank you.

Yolanda Chen Intel Developer Support Tools Knowledge Base: http://software.intel.com/en-us/articles/tools

Login to leave a comment.