我无法理解NSIGHT user Guide
中的以下陈述非重叠输入/输出缓冲区
a kernel can malloc and free a buffer in the same launch,
but it cannot call an unmatched malloc or an unmatched free.
有人能解释一下吗?
答案 0 :(得分:1)
这只是意味着您不应该{/ 1}}或malloc
跨不同的内核启动。
如果您在内核启动期间free
,则必须 malloc
在相同的启动期间,而不是稍后几次启动。
仅在启用NSIGHT探查器选项free
时才需要这样做,因为它允许探查器执行某些优化。如果您在内核启动时执行 Non-Overlapping Input/Output Buffers
或malloc
(就CUDA而言完全没问题),则只需禁用该选项。