问题标签 [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.
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,所以这应该可以工作...有什么想法吗?
c++ - 如何调用 ippiOpticalFlowPyrLK_16u_C1R?
我的工作基于使用图像的示例;unsigned char
我有 16 位无符号图像。在 IPP 函数名称中进行天真的替换是u8 -> u16
行不通的(我在某些类型转换中遇到编译器错误)。
有没有人对 16 位(无符号)图像有类似的使用示例?
基本上它看起来像是IppiPyramid
一个指向 8 位图像的指针,这没有意义,因为定义了 16 位版本。
c - 使用英特尔 IPP 镜像 BGR(24 位)图像
我正在尝试使用以下代码镜像原始(无图像标题)BGR 图像,每像素 8 位:
图像尺寸为 640x360。pitch_s = pitch_d = width = 640。可能是什么问题?
c++ - 如何验证 openCV 是否已找到并正在使用 IPP?
我已经设置了cmake
定义,以便我应该在启用 IPP 支持的情况下进行构建,但我想验证是否是这种情况。由于 IPP 库是静态链接的,因此我不能只检查生成的库文件。
visual-studio-2010 - 从 VS 2010 切换到 VS 2013 的 IPP 性能改进?
我在切换到 VS2013 时获得了性能提升。
14kx7k图像上的7x7 卷积在VS2013中需要 2300 毫秒,现在需要690毫秒。
虽然很好,但我想了解其中的原因。
在网上搜索时,我发现 VS2010 优化器仅针对 SSE2。这种优化还有其他原因吗?
opencv - 用 ipp API 替换 OpenCV 函数的问题
我正在尝试用 Integrated Performance Primitives (IPP) API 替换我的 opencv resize() 函数。
我正在使用 IPP 7.1 版本。
但是在进行以下替换后,我没有调整宽度和高度。
这是 OpenCV 函数:
这是IPP功能:
c++ - 如何为已弃用的英特尔 IPP API 找到替代 API?
我正在使用Intel Integrated Performance Primitives (Intel IPP 8.2)。我正在尝试使用实用功能中的一种复制API。参考手册说“已弃用”,但不提供替代 API。
谁能指出如何找到一般已弃用 API 的替代品?
intel-mkl - 静态链接 MKL 时的 MKL 初始化
我知道当您静态链接到 IPP 时,应该在使用任何 IPP 的函数之前调用 ippInit()。与 MKL 静态链接时是否必须这样做?如果是这样,初始化 MKL 的函数名称是什么?
benchmarking - IPP 6、7 和 8 的性能比较
我拥有 IPP 6,现在我检查已经有 IPP 8 可用。是否有任何基准可以比较最新 CPU 上的 IPP 6、7 和 8?特别是对于一维基本运算(mul、add、complex)、FFT 和 IIR 滤波。