【发布时间】:2021-04-02 20:07:19
【问题描述】:
我正在编写一段使用 OpenCL 来利用 GPU 的代码。我成功地制作了一个运行向量加法的内核(在一个名为VecAdd 的函数中),所以我知道它正在工作。假设我想为向量减法创建第二个内核VecSub。我该怎么做呢?或者更具体地说:我可以为VecAdd 和VecSub 函数使用相同的上下文吗?
【问题讨论】:
标签: opencl
我正在编写一段使用 OpenCL 来利用 GPU 的代码。我成功地制作了一个运行向量加法的内核(在一个名为VecAdd 的函数中),所以我知道它正在工作。假设我想为向量减法创建第二个内核VecSub。我该怎么做呢?或者更具体地说:我可以为VecAdd 和VecSub 函数使用相同的上下文吗?
【问题讨论】:
标签: opencl
您好@debruss 欢迎来到 StackOverflow!
是的,您当然可以在同一个Context 中运行多个Kernels。
您可以在同一个或多个Programs 中定义Kernels。您甚至可以在两个不同的Command Queues 或为out of order 执行配置的单个Command Queue 中同时运行它们。
这里有一个在Program 中定义和运行两个Kernels 的示例(在rust 中:opencl2_kernel_test.rs。
【讨论】: