c++ - 监控 OpenCL 内核的进度

标签 c++ c opencl

我想为我用 OpenCL 编写的程序创建一个进度条。

有没有办法在一个工作项完成时从内核发出某种信号?
或者以任何方式显示进度?

最佳答案

不,无法知道有多少工作组/项目已完成执行。

如果你需要一个进度条,可能是因为它要么非常慢,要么你有很多数据要处理。 如果您的 OpenCL 应用程序运行速度非常慢,我建议您对其进行优化,因为完成一次调用所需的时间不应超过 1 秒。

但是,如果您有大量数据要处理,则可以将工作分成小块。然后您可以跟踪这些 block 的完成情况。

关于c++ - 监控 OpenCL 内核的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115927/

相关文章:

c - OpenCL 转置内核如何使用 get_local_id

c++ - OpenCL 适用于 AMD 但不适用于 Nvidia

c++ - 在线组装

c++ - 使用 4x3 矩阵创建平面阴影?

c - 不使用 math.h 更快的 log10 函数

c - 结构的分配和释放对象

cuda - AMD 的 OpenCL 是否提供类似于 CUDA 的 GPUDirect 的功能?

c++ - 为什么 std::queue::pop 没有返回值?

c++ - 在 c++ 中,vs2010 的 typeid 名称与 cocoa 的名称不同。为什么?哪一个是对的?

在 Mac 上编译 C 代码