【问题标题】:Is it possible to share processing power of computer to Android Device with openCL?是否可以使用 openCL 将计算机的处理能力共享给 Android 设备?
【发布时间】:2016-04-20 18:28:40
【问题描述】:

有没有很好的应用openCL在智能设备之间共享资源(算力、网络等)的例子或demo?

有没有可能用成千上万的智能手机创建超级计算机?

【问题讨论】:

    标签: opencl


    【解决方案1】:

    好的,这个问题真的很模糊。让我告诉你一个关于 OpenCL 的非常基本的事实。当您在同一平台上拥有异构设备时,OpenCL 将非常有用。即在单个物理芯片上的不同设备,如 FPGA 的 GPU 的 DSP。在这种情况下,您可以通过使用单一语言编写代码来利用每个设备的处理能力和计算能力,而不是用不同的语言对每个芯片进行编程,而 OpenGL 会负责各种设备的编译。现在您需要的是网络上智能设备之间的超级计算机。你可以使用 OpenCL 吗?理论上是的,您可以假设您编写了一个驱动程序,该驱动程序以某种方式无线 ping 您的设备并向其发送内核以执行,但即使您确实这样做了,即使在同一平台内,传输数据的成本也非常高,这是有意义的仅当您的数据量很大并且将数据 DMA/传输到设备所需的时间

    现在看看您的情况,您希望将 OpenCL 内核转储到未通过非确定性网络物理连接的设备,因此即使在最佳情况下,将数据传输到远程设备的时间也会调整为秒,而您的计算时间将只有几毫秒。因此,如果您在 3g/4g 网络上有 10 部手机,并且所有手机都连接到主机 arm 处理器,并假设您设法编写了这些驱动程序以使所有这些无线设备都被检测为 OpenCL 设备,那么如果您这样做,可以说是高斯过滤器,那么您将图像部分发送到这些设备所花费的时间将成倍地高于您的手臂处理器执行计算本身所花费的时间。

    因此,简而言之,您想做的事情可能是可能的,但这样做绝对是浪费时间资源和精力。即使你真的这样做了,在性能、计算能力等方面也不会有太大的好处。想想看。

    【讨论】:

      猜你喜欢
      • 2015-09-27
      • 2016-05-06
      • 2011-05-09
      • 1970-01-01
      • 2023-03-24
      • 2012-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多