我的目标是获得一些内核,它的计算满足一个条件。条件可能是value == 0
。
我试图找到一些内置的信号量函数来完成此任务,但我找不到任何适用于 OpenCL 的函数。我不想将结果 blit 到 CPU 内存中,因为这会有点低效。
我尝试或想象的另一件事是使用错误使某些内核崩溃,然后使用一些调试代码来检索崩溃内核的数量。然后我可以编写类似的东西1/value
,每个内核,只要满足我的条件就会崩溃。不幸的是,我找不到这样的 OpenCL(调试)功能来检索此信息。
我想,这种方法可能比使用信号量的方法慢一些,因为它可能会触发一些后备/清理代码。
进一步的限制是,主机上的代码只能为此使用 OpenCL 标头。
有什么想法可以在不涉及 CPU 的情况下检索多个满足条件的内核吗?