【问题标题】:Is RenderScript the only device-independent way to run GPGPU code on Android?RenderScript 是在 Android 上运行 GPGPU 代码的唯一与设备无关的方式吗?
【发布时间】:2015-01-09 01:41:40
【问题描述】:

RenderScript 是在 Android 上运行 GPGPU 代码的唯一独立于设备的方式吗? 我不算 Tegra,因为只有少数手机拥有它。

【问题讨论】:

    标签: android gpgpu


    【解决方案1】:

    RenderScript 是官方的 Android 计算平台。因此,它将出现在所有 Android 设备上。它专为解决跨多个不同设备运行一个代码库的问题而设计。

    【讨论】:

    • 谢谢,你知道它是否会使用 gpu 而不仅仅是 cpu 核心来并行处理?我在网上找不到任何确认。
    • 如果设备有 GPU 驱动程序,它会。现在包括 Nexus 4、5、6 和 10。许多其他供应商也支持加速。在所有情况下,CPU 都可以作为备用。
    • 谢谢,很抱歉再次询问,但您是否有这些供应商的列表,或者至少您知道 Galaxy S4 是否支持它?
    【解决方案2】:

    嗯,使用 RenderScript 并不一定意味着您的代码将在 GPU 上运行。它还可能使用 CPU 并(希望)在多个 CPU 内核上并行化任务并使用 CPU 向量指令。但据我所知,你永远无法确定这一点,而且决策过程就像一个黑匣子。

    如果您想确保您的代码在 GPU 上运行,您可以使用 OpenGL ES 2.0 着色器“模拟”一些 GPGPU 功能。这将在所有支持 OpenGL ES 2.0 的设备上运行。这取决于您想要做什么,但是例如许多图像处理功能可以通过这种方式非常有效地实现。有一个名为 ogles_gpgpu 的库为 Android 和 iOS 系统上的 GPGPU 提供架构:https://github.com/internaut/ogles_gpgpu

    OpenGL ES 3.1 也支持“计算着色器”,但很少有设备支持。

    【讨论】:

      猜你喜欢
      • 2015-07-29
      • 2016-04-11
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2016-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多