问题标签 [intel-ipp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3279 浏览

linux - Debian 使用 IPP 编译 OpenCV 示例:/usr/bin/ld: 找不到 -llibsvml.so collect2: error: ld returned 1 exit status

环境:Debian 7.5 Wheezy。

我刚刚编译并安装了 OpenCV 库,版本 2.4.9,并激活了 Intel IPP(集成性能基元)。我在 /opt/ipp,版本 8.1 SP 3 中安装了 IPP。

在cmake期间,它找到OK IPP库,并在/opt/OpenCV中编译和安装没有问题。

当我转到 c 示例文件夹时,有一个编译所有示例的脚本:

现在,让我们运行脚本:

每个源文件都会给出如下输出:

build_all.sh 的内容:

让我们关注第一个未找到的库(/usr/bin/ld: cannot find -llibsvml.so)。

它在系统中: $ locate libsvml.so /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/ia32/libsvml.so /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libsvml.so /opt/intel /composer_xe_2013_sp1.3.174/compiler/lib/mic/libsvml.so

它的文件夹在 LD_LIBRARY_PATH 中:

在 LIBRARY_PATH 中:

据我所知,buildAll 脚本依赖 pkg-config 来查找库。值得注意的是,这些命令在运行时什么也不返回:

gcc 在编译期间在哪里寻找:

我该如何编译它,以便 gcc 找到 IPP 库?


编辑 1

我尝试创建一个文件 /etc/ld.so.conf.d/IntelIPP.conf 并在其中添加在 LD_LIBRARY_PATH 中设置的 Intel IPP 的路径,重新启动系统并重新编译。没有效果。

但是,我猜这个:“/usr/bin/ld: cannot find -llibsvml.so”应该意味着它正在寻找一个“liblibsvml.so”(ld 在库文件名内部就足够了一个“lib”,我思考)。

还有一点需要注意:“gcc -ggdb pkg-config --cflags opencv-o basename $i .c$i `pkg-config --libs”只对opencv执行pkg-config,根本没有命名IPP。因此,它可能是 OpenCV 在编译或安装期间硬编码的某个库位置。

对此有任何线索吗?


编辑 2

按照这种新方法,我去了 ~/Downloads/openscv-2.4.9/cmake/OpenCVFindIPP.cmake 并进行了更改:

经过:

重新编译 OpenCV 并成功安装...没有运气。编译示例现在给出相同的错误,但没有“lib”:


编辑 3

另一种方法:在 /opt/OpenCV/OpenCV-2.4.9/ 中搜索“svml”。

这会产生 2 个文件。

/opt/OpenCV/OpenCV-2.4.9/share/OpenCV/OpenCVModules-debug.cmake:

仅显示第 211 到 220 行。不确定这些行的真正含义。

/opt/OpenCV/OpenCV-2.4.9/lib/pkgconfig/opencv.pc

我认为这个文件真的很有趣,据我所知,它是 pkg-config 和 ld 在链接和编译时加载库的文件。

请注意:

库:(...) ${exec_prefix}/lib/libopencv_viz.so -llibsvml.so -llibimf.so -llibirc.so -llibippcore.a -llibipps.a -llibippi.a -llibippcv.a -llibippcc.a - llibippvm.a -ltbb /usr/lib/x86_64-linux-gnu/libXext.so (..)

我仍然不确定该怎么做... -l[xxx] 应该从 LD_LIBRARY_PATH 加载 xxx,所以这应该可以工作...有什么想法吗?

0 投票
0 回答
48 浏览

c++ - 如何调用 ippiOpticalFlowPyrLK_16u_C1R?

我的工作基于使用图像的示例;unsigned char我有 16 位无符号图像。在 IPP 函数名称中进行天真的替换是u8 -> u16行不通的(我在某些类型转换中遇到编译器错误)。

有没有人对 16 位(无符号)图像有类似的使用示例?

基本上它看起来像是IppiPyramid一个指向 8 位图像的指针,这没有意义,因为定义了 16 位版本。

0 投票
1 回答
303 浏览

c - 使用英特尔 IPP 镜像 BGR(24 位)图像

我正在尝试使用以下代码镜像原始(无图像标题)BGR 图像,每像素 8 位:

图像尺寸为 640x360。pitch_s = pitch_d = width = 640。可能是什么问题?

0 投票
0 回答
85 浏览

c++ - 如何验证 openCV 是否已找到并正在使用 IPP?

我已经设置了cmake定义,以便我应该在启用 IPP 支持的情况下进行构建,但我想验证是否是这种情况。由于 IPP 库是静态链接的,因此我不能只检查生成的库文件。

0 投票
1 回答
323 浏览

opencv - 使用 IPP 使用 OpenCV 3.0 进行矩阵求逆

这里讨论了 OpenCV 3.0 和英特尔现在使用 IPP 的“透明 API”。

它显示了这张图片: 在此处输入图像描述

我的问题是有谁知道它是否会影响矩阵反转?它会加速 Mat::inv 方法吗?

0 投票
0 回答
99 浏览

visual-studio-2010 - 从 VS 2010 切换到 VS 2013 的 IPP 性能改进?

我在切换到 VS2013 时获得了性能提升。

14kx7k图像上的7x7 卷积VS2013中需要 2300 毫秒,现在需要690毫秒

虽然很好,但我想了解其中的原因。

在网上搜索时,我发现 VS2010 优化器仅针对 SSE2。这种优化还有其他原因吗?

0 投票
2 回答
421 浏览

opencv - 用 ipp API 替换 OpenCV 函数的问题

我正在尝试用 Integrated Performance Primitives (IPP) API 替换我的 opencv resize() 函数。
我正在使用 IPP 7.1 版本。
但是在进行以下替换后,我没有调整宽度和高度。

这是 OpenCV 函数:

这是IPP功能:

0 投票
1 回答
973 浏览

c++ - 如何为已弃用的英特尔 IPP API 找到替代 API?

我正在使用Intel Integrated Performance Primitives (Intel IPP 8.2)。我正在尝试使用实用功能中的一种复制API。参考手册说“已弃用”,但不提供替代 API。

谁能指出如何找到一般已弃用 API 的替代品

0 投票
2 回答
1084 浏览

intel-mkl - 静态链接 MKL 时的 MKL 初始化

我知道当您静态链接到 IPP 时,应该在使用任何 IPP 的函数之前调用 ippInit()。与 MKL 静态链接时是否必须这样做?如果是这样,初始化 MKL 的函数名称是什么?

0 投票
1 回答
479 浏览

benchmarking - IPP 6、7 和 8 的性能比较

我拥有 IPP 6,现在我检查已经有 IPP 8 可用。是否有任何基准可以比较最新 CPU 上的 IPP 6、7 和 8?特别是对于一维基本运算(mul、add、complex)、FFT 和 IIR 滤波。