gpt4 book ai didi

opencv - 如何在 Visual C++ 中启用 SSE4.2 指令集?

转载 作者:太空宇宙 更新时间:2023-11-03 20:57:40 26 4
gpt4 key购买 nike

我在 Visual C++ 2010 中使用 OpenCV 中的 BRIEF 描述符来匹配两个图像中的点。

the paper关于 BRIEF-descriptor 的内容是可以加快速度:

"The BRIEF descriptor uses hamming distance, which can be done extremely fast on modern CPUs that often provide a specific instruction to perform a XOR or bit count operation, as is the case in the latest SSE instruction set."

启用 SSE4.2 后应该会加速。我的问题只是如何在 Visual C++ 中执行此操作?

另一种方法是选择另一个支持 SSE4 的编译器。比如英特尔的ICC。这真的有必要吗?

最佳答案

不幸的是,它不是那样工作的。

C/C++ 编译器可能会被告知在项目-> C/C++ -> 代码生成-> 启用增强指令集中使用特定的指令集。但它几乎什么都不做,在你的情况下,绝对没有。这是因为某些 CPU 指令无法从 C 语句轻松访问。一些编译器(如 Intel 的)在这方面比其他编译器做得更好,但是对于您想要实现的目标,没有一个编译器足够聪明。

你要做的就是找到具体的算法,学习SSE指令并用这些指令手动重写算法。你可以用纯汇编写,或者使用 intrinsic函数,可以从 C/C++ 调用,并在编译时发出 SSE 指令。

关于opencv - 如何在 Visual C++ 中启用 SSE4.2 指令集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10188252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com