我想为我用 OpenCL 编写的程序创建一个进度条。
有没有办法在一个工作项完成时从内核发出某种信号?
或者以任何方式显示进度?
最佳答案
不,无法知道有多少工作组/项目已完成执行。
如果你需要一个进度条,可能是因为它要么非常慢,要么你有很多数据要处理。 如果您的 OpenCL 应用程序运行速度非常慢,我建议您对其进行优化,因为完成一次调用所需的时间不应超过 1 秒。
但是,如果您有大量数据要处理,则可以将工作分成小块。然后您可以跟踪这些 block 的完成情况。
关于c++ - 监控 OpenCL 内核的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115927/