|
The Intel® Compiler OpenMP* implementation requires preemptive scheduling to work properly. We do not support non-preemptive threading models like the supplementary GNU* Pth (currently libpthread20) package. When you install the GNU* Pth libpthread20 package, the installation replaces glibc’s version of pthread.h and libpthread.so with their GNU* Pth’s counterparts. Then, after you compile your application with the Intel® compilers and OpenMP enabled, your application will likely crash at run time with an error message: $ icc -openmp hello.c The solution is to remove the GNU* PTh package: $ dpkg --remove libpthread20 If it is not possible to remove this package (lack of administrative privileges, etc), do the following: $ ln -s /usr/lib/libpthread.so.glibc ./libpthread.so Then relink your program: $ icc -I . -L . -openmp <...other options...> Note: This incompatibility applies to the Intel® C++ and Fortran Compilers version 9.x and 10.x. |
Performance Tools for Software Developers - OpenMP* incompatibility with GNU* Portable Threads (GNU* Pth)
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione
