OpenCV 2.2和多CPU-opencv_haartraining.exe是多线程的吗? [英] OpenCV 2.2 and multi-CPUs - Is opencv_haartraining.exe multithreaded?
问题描述
我在VS 2010上构建了OpenCV 2.2.启用了TBB 3支持.我确保所有项目都具有正确的tbb lib目录,并且将tbb.lib列为依赖项.
I built OpenCV 2.2 on VS 2010. Enabled TBB 3 support. I ensured all the projects had the right tbb lib directories, and tbb.lib listed as a dependency.
通过隐藏tbb.dll进行了验证-确保足够的haartraining.exe抱怨它需要它.
Verified it by hiding tbb.dll - sure enough haartraining.exe complained it needed it.
好的-我的问题.我正在一台16核计算机上运行大型培训,而haartraining只能固定其中一个CPU,其他15个处于闲置状态.
Ok - my question. I'm running a big training set on a 16 core machine, and haartraining is pegging only one of the CPUs, the other 15 are idle.
我做错了什么?我在exe上看不到任何标志来触发MP.
What am I doing wrong? I don't see any flags on the exe to trigger MP.
另一个问题-我也包括IPP.那是静态链接的,对(这意味着我不需要在运行它的盒子上安装IPP吗?)?我想一定是这样,否则它将无法运行.
One other question - I included IPP, as well. That is statically linked, right (meaning I don't need to install IPP on the box I'm running this on?)? I suppose it must be otherwise it wouldn't be running.
谢谢!
另外两个信息:1)任务管理器说opencv_haartraining.exe只有1个线程. 2)这是在64位版本的Windows XP上运行的32位版本
edit: two other bits of info: 1) Task manager says opencv_haartraining.exe has only 1 thread. 2) this is a 32-bit build running on a 64-bit version of windows XP
推荐答案
如果使用TBB构建,则需要TBB.dll,这并不意味着特定功能正在使用TBB.
If built with TBB then TBB.dll is needed - it doesn't mean the specific function is using TBB.
要查看启用了TBB的功能,您需要查看代码或遵循opencV分钟-例如
To see which functions are TBB enabled you need to look at the code, or follow the opencV minutes - eg http://pr.willowgarage.com/wiki/OpenCVMeetingNotes/Minutes%202010-03-30
这篇关于OpenCV 2.2和多CPU-opencv_haartraining.exe是多线程的吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!