我正在尝试评测我的CUDA内核,它运行在Windows 7 32位计算机和NVIDIA GTX 480板上。我使用的是CUDA 4.1 32位工具包和VS2010的Parallel Nsight 2.1版本。
我的程序的性能分析结果总是不规律地显示相同的警告: Message: Flush records,Event Type: Range,Level: 50
在此事件之后,始终有几毫秒的处理中断。然后GPU以它以前拥有的速度进行计算。
我没有在CUDA文档和网络上找到任何关于这个警告的信息,我甚至不知道这是不是一个只有在分析过程中才会出现的问题。
有没有人知道这个警告是关于什么以及如何避免它?
发布于 2012-08-30 12:12:08
警告“刷新记录”用于显示Nsight CUDA跟踪活动何时向您的应用程序添加额外开销。这是为了让您能够解释高CPU活动的时间段。无法删除此警告。您的应用程序没有做错任何事情。
Nsight CUDA跟踪活动收集GPU工作开始和结束的时间戳,包括内核启动、内存副本和内存集。当应用程序在GPU上启动任务时,该工具会为该任务分配一个跟踪记录,并对GPU进行编程以将时间戳写入该记录中。收集时间戳的方式不应破坏并发性,也不应使CPU停滞。当工作完成时,这些工具收集信息并将其流式传输到内存。刷新范围包括收集结果并写出信息的时间。这可能包括执行额外的内核启动和从设备到主机复制内存的时间。该工具将在应用程序同步上下文(cuCtxSynchronize或cuda{线程,设备}同步)或运行完跟踪记录时收集结果。
我将输入一个bug来改进用户文档和工具提示。
https://stackoverflow.com/questions/12178935
复制相似问题