【问题标题】:Opencl integration with AndroidOpencl 与 Android 的集成
【发布时间】:2016-08-16 13:41:44
【问题描述】:

我在谷歌上搜索了很多,但我找不到关于将 OpenCl 与 Android 集成的好文档。我参考了这个链接:https://aplacetogeek.wordpress.com/android-with-opencl-tutorial/

但这似乎不完整。有人知道如何在 Android 中使用 OpenCl 做事吗?此外,如果有的话,示例工作代码也值得赞赏。我想了解一下。

【问题讨论】:

标签: android opencl gpu


【解决方案1】:

类似的问题之前有人问过,建议你先阅读以下几页:

How to use OpenCL on Android?

Does Android support OpenCL?

基本上,您需要注意以下几点:

  1. Android 上的 OpenCL 不受 Google 官方支持。因此,您可能会看到某些 Android 设备不支持 OpenCL。虽然目前大部分旗舰设备都支持 OpenCL,比如高通/三星芯片组的设备(Google Nexus 设备除外,但部分 Nexus 设备有解决方法,请在线 google)。

  2. 如果您清楚地知道您的应用程序只能在某些支持 OpenCL 的设备上运行,您可以继续这样做。高通和三星芯片组上的 OpenCL 目前相当稳定,编译器已经优化了好几年;因此,您可以期待这些设备具有良好的性能。

  3. 开发步骤:1) 开发C/C++ OpenCL 代码并使用NDK 编译。 2)为您的Android应用程序编写JNI接口。 3)编写你的Android应用,调用你编写的JNI接口。然后你就完成了。这里没什么特别的,您甚至可以在桌面 GPU 上调试 OpenCL 内核代码。除了在移动设备上的一些限制,例如有限的扩展和更少的资源,大多数内核代码应该可以从桌面到 Android 环境。

  4. 要优化性能,请务必查看芯片供应商提供的分析器和开发者网络的优化指南。例如,Snapdragon Profiler 包含 GPU 分析工具; Mali还有离线CL内核编译器,提供寄存器使用等内部信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-26
    • 2023-04-01
    • 2014-05-20
    • 2012-06-29
    • 2014-09-19
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    相关资源
    最近更新 更多