【发布时间】:2010-12-27 21:46:15
【问题描述】:
Mac OS X 10.6 带有 OpenCL,但是如果将它们重写为使用 OpenCL,有多少应用程序可以具有更好的性能?应该重写哪些应用程序才能使用 OpenCL?
【问题讨论】:
标签: c++ c osx-snow-leopard performance opencl
Mac OS X 10.6 带有 OpenCL,但是如果将它们重写为使用 OpenCL,有多少应用程序可以具有更好的性能?应该重写哪些应用程序才能使用 OpenCL?
【问题讨论】:
标签: c++ c osx-snow-leopard performance opencl
OpenCL 并不是一个神奇的“提高性能”按钮。为了获得性能提升,需要满足几个先决条件,第一个是适当的硬件(Tesla GPU 有帮助)。至于可以从中受益的软件,它是任何进行大量并行计算的软件。这不包括大多数“日常”软件,只剩下图形处理应用程序(渲染器、图像处理程序)、可能并行操作的大型数据处理应用程序以及科学应用程序。
通常,如果您编写的应用程序可以从 OpenCL 中受益,您就知道您已经从中受益了;)。
【讨论】:
首先,您不能使用 OpenCL“重写”整个应用程序。您仍然需要 GUI 等的“普通”语言。
使用 OpenCL,您可以加速非常大的数据并行问题。大多数问题不属于这一类。
最有希望的候选者是图形/视频和声音处理。但是每个需要对非常大的数据集进行相同操作的问题都是合适的。
【讨论】:
我的公司正在使用 OpenCL 进行科学计算。虽然我不是使用它的开发团队的一员,但我可以告诉你他们使用它来做的一些事情:图像的大规模数据处理、想象重建以及以前编写的科学代码的大规模并行化。
基本上,OpenCL 是相当先进的。除非您想/必须处理它,否则最好留给需要它的人。我并不是要劝阻你,但它是专为利基市场设计的利基产品。为潜在的就业目的学习其他编程领域会更好。
【讨论】: