【发布时间】:2013-07-07 04:49:25
【问题描述】:
是否可以在 Android-Opencv 中构建基于 CUDA 的 opencv 代码?
我的意图是构建一个在 Android opencv 中启用 CUDA 的 Opencv 项目?
有人试过吗?我google了一下,没找到线索?
【问题讨论】:
是否可以在 Android-Opencv 中构建基于 CUDA 的 opencv 代码?
我的意图是构建一个在 Android opencv 中启用 CUDA 的 Opencv 项目?
有人试过吗?我google了一下,没找到线索?
【问题讨论】:
OpenCV 不支持适用于 Android 的 CUDA,因为任何 Android 设备尚不支持 CUDA。 Tegra 5 可能会支持 CUDA(我在嵌入式或 ARM 平台上看到的最接近 CUDA 的是 NVIDIA 的演示开发板 Kayla (https://developer.nvidia.com/content/kayla-platform)。
但是,如果您想要针对现有平台进行优化,您可以充分利用当前的 Tegra 优化。看看:
http://docs.nvidia.com/tegra/data/How_to_Use_OpenCV_for_Tegra.html
【讨论】:
Android 不支持 CUDA,鉴于他们拥有多家供应商(NVidia、Imagination、Qualcomm、Intel、Samsung),Google 团队倾向于使用 Renderscript 来抽象出移动设备上的高性能 (GPU) 计算问题来处理。他们在 2013 年的 Google I/O 上做了一个关于 Renderscript 的演讲,并介绍了他们的理性。
https://developers.google.com/events/io/sessions/331954522
鉴于在某些时候只有一个设备允许在 GPU (Nexus 10) 上使用 Renderscript,因此有人可能会将 OpenCV 移植到 Renderscript,但我不知道有任何完整的项目。
【讨论】:
虽然这个问题早已被接受为已回答,但我想添加一个指向 Nvidia 网页的链接,他们提供有关该主题的更多信息,因为 CUDA 实际上可以在一些带有 Tegra K1 和 linux x64 的 Android 设备中实现如果我没记错的话。
【讨论】:
是的,tegra SDK 已将 opencv 与一堆示例捆绑在一起,展示了速度提升。
这里是使用cuda加速opencv的教程:
http://docs.nvidia.com/gameworks/content/technologies/mobile/opencv_tutorial_cuda.htm
我已经在我的 Tegra 驱动的 android 设备上测试了这些演示应用程序。样本有一个切换按钮,可以查看加速和不加速之间的区别。
【讨论】: