CUDA允许使用 cuMemcpy 异步函数和流重叠计算和数据传输。但NPP(Performance Primitives)是否可能?
一点背景。我正在尝试使用NPP图像调整大小功能(在我们的例子中它是 nppiResize_8u_C3R )。我正在使用固定内存并使用 cuMemcpy2DAsync_v2 和每个线程流成功将数据传输到GPU。问题是 nppiResize_8u_C3R 和所有其他计算函数不接受流。
当我运行Nvidia Visual Profiler时,我会看到下一个:
答案 0 :(得分:2)
问题[原文如此]是nppiResize_8u_C3R和所有其他计算函数都不接受流。
NPP从根本上说是一种无状态API。但是,要使用带NPP的流,可以使用nppSetStream
为后续操作设置默认流。关于在流切换流时使用NPP和推荐的同步实践,文档的第2页提到了几个注意事项。