首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在安卓设备上运行PyOpenCl

在安卓设备上运行PyOpenCl
EN

Stack Overflow用户
提问于 2020-05-15 02:22:53
回答 2查看 240关注 0票数 1

有没有人有通过应用程序或其他方式在安卓设备上运行PyOpenCl的经验?我似乎一开始就找不到任何线索。

我的设备规格如下:

ANDROID操作系统版本:9 CPU ABI : arm64-v8a CPU ABI 2: armeabi-v7a

这是一台高通Snapdrag855

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2020-10-19 03:41:44

Chaquopy绝对是在Android上使用Python的好方法。然而,正是因为这个问题,我还没有开始使用。我不认为它会给你任何图形处理器的支持,OpenCL或其他。如果我错了,我可能会考虑把它用在PyOpenCL上。

票数 1
EN

Stack Overflow用户

发布于 2020-05-15 06:33:02

所以我看了一下OpenCL在安卓上的现状。

我发现的最后一次发布的指标是2018年年中推特团队为ACM会议/出版物而发布的:Analysis of OpenCL Support for Mobile GPUs on Android

当时,他们在2017年底对设备进行了抽样。他们发现2/3的设备都有OpenCL。然后,作者详细讨论了本地内存与全局内存的性能,并提供了支持的OpenCL API的有趣细分。请参阅下面论文中的表格。

现在意识到OpenCL并不是由Android框架正式支持的,甚至可能被系统的其他部分使用(渲染脚本、制造商的摄像头等)。因此,您的体验可能会因上下文而异。

回到你的主要问题。

您有几种可能的路径:

1)如果你想在安卓上运行Python环境,看看Termux,它有some level of Python support,虽然你可以尝试通过pip安装pyopencl,当我尝试它时,我得到了一个错误。我认为错误部分来自构建环境,部分来自不知道/不具有正确的OpenCL driver

2)通过Pypy将代码从Python转换为ARM64。即使有了驱动程序,它对OpenCL代码的支持程度如何,我不知道。

其他选择是后者的变体,要么构建一个Android应用程序,通过JNI/Android NDK调用从Python编译的ARM代码。或者让它在Termux环境中运行。

根据您的应用程序,使用像Chaquopy这样的商业许可产品可能会更容易移植/迁移,这些产品似乎有一个用于开源项目的自由层。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61804640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档