【问题标题】:Multiple OpenCl Kernels多个 OpenCl 内核
【发布时间】:2012-12-13 13:28:44
【问题描述】:

我只是想问一下,是否有人可以提醒我在使用多个简单内核时要注意什么。

我可以使用相同的CommandQueue 吗?我可以用不同的cl_program 运行几次clCreateProgramWithSource + cl_program 吗?我忘记了什么?

谢谢!

【问题讨论】:

    标签: opencl


    【解决方案1】:

    您可以创建和编译多个程序(并从中创建内核对象),也可以将所有内核放入同一个程序中(clCreateProgramWithSource 毕竟需要多个字符串)并从该程序创建所有内核。使用相同的 CommandQueue 应该可以正常工作。无论如何,使用多个 CommandQueue 来执行应该在同一设备上串行执行的内核并不是一个好主意,因为在这种情况下,您必须手动等待事件完成,而不是异步地将所有内核排队,然后等待结果(在至少一些操作应该在设备和主机上并行执行,因此在最后可能的时刻等待通常更快更容易)。

    【讨论】:

      猜你喜欢
      • 2011-12-06
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2016-01-17
      相关资源
      最近更新 更多