2

首先,我什至不是 OpenCL 新手——我知道它是什么,但我连一行代码都没有写。但是,我在一个非常简单的开源项目上浏览了一些 OpenCL,并且理解代码的结构似乎很容易,因为它非常类似于 C,而且我是 C/Obj-C 开发人员。

提到的开源项目有一个问题。它想在你的 OS X 机器上以完全 GPU 优先级运行。这意味着当我运行该应用程序时,我的 Mac 仍然可以正常工作,但处于非常降级的状态。

有什么方法可以轻松修改应用程序并设置一些标志来降低该应用程序的 GPU 优先级?

我可能不知道 OpenCL API,但如果我可以在应用程序初始化函数中放置一两个简单的函数调用,我可能会自己解决这个问题。

4

1 回答 1

1

调用clEnqueueNDRangeKernel可能是该应用程序中用于在 GPU 设备上启动 OpenCL 内核的调用。您可以尝试调整传递给此方法的 work_dim、global_work_size 和 local_work_size 的值,看看响应性是否有所提高。请注意,如果编写内核的人指定或假定了这些大小,内核可能会停止运行。在这种情况下,您将需要编辑内核来实现这一点。

您可以使用OpenGL 扩展查看器检查硬件设置中每个参数的允许值范围。

于 2012-05-17T14:48:53.753 回答