【问题标题】:OpenCL: Concurrent Kernel Execution by dividing GPU resourcesOpenCL:通过划分 GPU 资源进行并发内核执行
【发布时间】:2014-08-20 17:51:20
【问题描述】:

假设我的 GPU 中总共有 8 个内核。我想要的是我在 4 个内核中的每一个上并行运行两个内核(或者如果不可能,那么至少同时运行)。可能吗?如果是,我们如何在 OpenCL 中做到这一点?

【问题讨论】:

    标签: opencl


    【解决方案1】:

    一次运行多个 OpenCL 内核的能力由硬件决定。最新的 AMD 和 Nvidia 显卡可以做到这一点。至少您需要这样的设备和多个命令队列,您可以在其中将内核执行排入队列。看这个:How do I know if the kernels are executing concurrently?

    GPU 的划分称为 Device Fission。它在 OpenCL 1.1 中作为扩展支持,在 OpenCL 1.2 中开箱即用。 AFAIK,主要供应商不支持GPU,但是,CPU可以很容易地分割成子设备。对应的 API 调用是 clCreateSubDevices。关于这个主题的好文章:英特尔的OpenCL* Device Fission for CPU Performance

    【讨论】:

      猜你喜欢
      • 2019-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多