为什么装了Intel C++编译器以后,会把程序自动搞成多线程的

jackfnx 2009-05-05 05:14:49
一个程序(基于OpenCV),本来不是多线程的(运行时CPU占用率50%,debug可以看到单线程)
装了Intel编译器以后,同样一个exe,没有重新编译,就自动变成了多线程(运行时CPU占用率70%+,debug时可以看到3个线程)
为什么呢?明明没有重新编译啊

而且,如果卸载了Intel编译器,又会自动变回单线程。

为什么?是因为Intel编译器会自动替换某些系统库吗?

那么除了Intel编译器还有别人会干这种事吗?
...全文
505 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyhyj 2010-12-03
  • 打赏
  • 举报
回复
早期的openCV会自动检测IPP和调用ipp函数。许多ipp函数是多线程的。所以一装上,opencv就检测到了,还自动帮你多线程了。

请参见 OpenCV and IPP FAQ
http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-open-source-computer-vision-library-opencv-faq/
intel_www 2009-05-08
  • 打赏
  • 举报
回复
看来可能是你用的OpenCV的库自动引用了Intel IPP 和 MKL中的函数,因为缺省情况下Intel 编译器安装程序会安装这两个库。

如果你不想用它们,那么可以选择在安装的时候不安装这两个组件。如果你想在不安装编译器的系统上使用他们,那么你要把那些引用到的dll文件和你的程序一起发行,并保证正确的路径设置。
jackfnx 2009-05-08
  • 打赏
  • 举报
回复
没装的
'FaceDetect.exe': Loaded 'D:\HoME\(Face)\FaceDetect_Rotated_lx\Release\FaceDetect.exe', Symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\sysfer.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\HoME\(Face)\FaceDetect_Rotated_lx\Release\cv110.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'D:\HoME\(Face)\FaceDetect_Rotated_lx\Release\cxcore110.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\user32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.1433_x-ww_5cf844d2\msvcr80.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.OpenMP_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6c18549a\vcomp.dll', Symbols loaded (source information stripped).
'FaceDetect.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.1433_x-ww_5cf844d2\msvcp80.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'D:\HoME\(Face)\FaceDetect_Rotated_lx\Release\highgui110.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\comctl32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\avifil32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\winmm.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\ole32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\msacm32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\msvfw32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\shell32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\avicap32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\version.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\oleaut32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\imm32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\lpk.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\usp10.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'D:\HoME\(Face)\FaceDetect_Rotated_lx\Release\ffopencv110.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\clbcatq.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\comres.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\msyuv.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\msctf.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\MSCTFIME.IME', No symbols loaded.
jackfnx 2009-05-08
  • 打赏
  • 举报
回复
以下是装了ICC和没装的Debug启动信息

可以看出,确实是有影响
那么问题是,有什么办法能够禁用这种多线程吗?
因为打算自己实现多线程,为了避免openmp对我的多线程造成干扰,想把他禁掉
能不能有什么方法能够保证,不管系统中是否存在ICC都能禁用多线程?
或者反过来也行,有什么方法能够保证不管系统是否存在ICC,都能启用多线程?


装了的
'FaceDetect.exe': Loaded 'D:\HoME\(Face)\FaceDetect_Rotated_lx\Release\FaceDetect.exe', Symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\sysfer.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\HoME\(Face)\FaceDetect_Rotated_lx\Release\cv110.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'D:\HoME\(Face)\FaceDetect_Rotated_lx\Release\cxcore110.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\user32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.1433_x-ww_5cf844d2\msvcr80.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.OpenMP_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6c18549a\vcomp.dll', Symbols loaded (source information stripped).
'FaceDetect.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.1433_x-ww_5cf844d2\msvcp80.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'D:\HoME\(Face)\FaceDetect_Rotated_lx\Release\highgui110.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\comctl32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\avifil32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\winmm.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\ole32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\msacm32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\msvfw32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\shell32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\avicap32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\version.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\oleaut32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\imm32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\lpk.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\usp10.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\ipp\ia32\bin\ippcv-6.0.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\ipp\ia32\bin\ippcore-6.0.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\lib\ia32\libiomp5md.dll', Binary was not built with debug information.
First-chance exception at 0x7c812a5b in FaceDetect.exe: 0xA1A01DB1: 0xa1a01db1.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\mkl\ia32\bin\libimalloc.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\ipp\ia32\bin\ippcvv8-6.0.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\ipp\ia32\bin\ippi-6.0.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\ipp\ia32\bin\ippiv8-6.0.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\ipp\ia32\bin\ipps-6.0.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\ipp\ia32\bin\ippsv8-6.0.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\ipp\ia32\bin\ippvm-6.0.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\ipp\ia32\bin\ippvmv8-6.0.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\ipp\ia32\bin\ippcc-6.0.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\ipp\ia32\bin\ippccv8-6.0.dll', Binary was not built with debug information.
'FaceDetect.exe': Loaded 'D:\Program Files\Intel\Compiler\11.0\074\cpp\mkl\ia32\bin\mkl_p4.dll', Binary was not built with debug information.

'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\MSVCR71.DLL', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\apphelp.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'D:\HoME\(Face)\FaceDetect_Rotated_lx\Release\ffopencv110.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\clbcatq.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\comres.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\netapi32.dll', No symbols loaded.
'FaceDetect.exe': Unloaded 'C:\WINDOWS\system32\netapi32.dll'
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\msyuv.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\msctf.dll', No symbols loaded.
'FaceDetect.exe': Loaded 'C:\WINDOWS\system32\MSCTFIME.IME', No symbols loaded.
The thread 'Win32 Thread' (0x1298) has exited with code 0 (0x0).

jackfnx 2009-05-06
  • 打赏
  • 举报
回复
是自己写的
调用了OpenCV的库
ckc 2009-05-06
  • 打赏
  • 举报
回复
这个程序是你写的还是别人写的?
intel_www 2009-05-06
  • 打赏
  • 举报
回复
用dependcy walker看一下安装和不安装intel编译器时你的程序所依赖的动态链接库有没有变化。
intel_www 2009-05-06
  • 打赏
  • 举报
回复
用denpendency walker看看安装和不安装时你的程序依赖的动态库有没有变化?

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧