如何解决在 OpenCL 中使用多个程序
我正在编写一段使用 OpenCL 使用 GPU 的代码。我成功地制作了一个运行向量加法的内核(在一个名为 VecAdd
的函数中),所以我知道它正在工作。假设我想为向量减法 VecSub
创建第二个内核。我该怎么办?或者更具体地说:我可以对 VecAdd
和 VecSub
函数使用相同的上下文吗?
解决方法
嗨@debruss 欢迎来到 StackOverflow!
是的,您当然可以在同一个 Kernels
中运行多个 Context
。
您可以在同一个或多个 Kernels
中定义 Programs
。您甚至可以在两个不同的 Command Queues
或为 Command Queue
执行配置的单个 out of order
中同时运行它们。
有一个示例(在 rust
中)在此处的 Kernels
中定义和运行两个 Program
:opencl2_kernel_test.rs。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。