【发布时间】:2013-11-22 02:13:37
【问题描述】:
这个问题源于我希望在运行时从各种内核构建一个 OpenCL 程序。所以,想象一下我有不同的内核,我想在给定的上下文中使用相同的内存对象集执行它们。
如果我提前知道要合并到一个程序中的所有内核,我就没有问题 - 只需创建一个包含所有内核源代码或二进制文件的程序。
但是,鉴于我不提前知道我想要组合哪些内核,我正在考虑为每个内核源创建一个程序。这是否等同于原始情况(假设编译时选项都相同)?调用驻留在不同程序中的内核是否会降低性能?
问题可能是我不理解“程序”的抽象。它是什么?它不仅仅是内核和一些编译时选项的集合吗?
【问题讨论】: