CUDA Visual Profiler 5.0 不会生成时间线,Eror with Cudadevicereset()
CUDA Visual Profiler 5.0 doesn't generate timeline, Eror with Cudadevicereset()
我使用CUDA Visual Profiler来分析我的CUDA项目,但它消息
"无法读取整个会话时间轴。显示的时间轴可能为空或不完整,因为应用程序在退出之前中止或未能刷新配置文件数据。应用程序应该调用cudaDeviceReset()来确保刷新所有配置文件数据。"
如何调用cudaDeviceReset(), VS 2012发生错误时,我在项目结束时调用它。我需要什么库、方法或参数?
你可以这样调用它:
cudaDeviceReset();
假设你正在用nvcc
编译你的项目(即它是一个CUDA项目,在.cu
文件中),那么不需要库,方法或参数。
如果你的项目是一个c++项目(.cpp
文件),那么你需要添加
#include <cuda_runtime.h>
到你的源代码,你将需要添加适当的路径到CUDA包含文件到编译器规范,和适当的路径到CUDA库到链接器规范。通过查看一些示例项目,可以为您的特定Visual Studio安装发现这些路径。
顺便说一下,visual studio 2012并不是CUDA 5.0的官方支持环境。您可以通过查看文件CUDA_Toolkit_Release_Notes.pdf
来发现这一点(使用windows文件资源管理器查找功能在您的机器上找到该文件)
相关文章:
- 我使用 OpenMP 的线程越多,执行时间就越长,这是怎么回事?
- 在C++中使用线程查找友好号码比单个线程花费更多时间
- 分别测量每个线程上花费的 CPU 时间(C++)
- 如何在c++多线程中匹配处理时间和接收时间
- 给定使用 C++ 或 C,我如何测量在 linux 下进行线程切换需要多长时间?可能吗?
- 将线程锁定很长时间
- ::grpc::ServerReaderWriter 对象在另一个线程中一段时间后无法调用
- 即使长时间等待,C++线程也不会加入
- 锁通过线程保留的时间太长
- 查询时间/周期是针对所有内核/线程的序列化请求还是并行请求?
- 对于同一任务,线程的等待时间在 0 到 30000 微秒之间系统地切换
- 如何测量一组特定线程的 CPU 时间?
- 不完整的多线程光线追踪器花费的时间是预期的两倍
- 如何在多线程应用程序中获得花费的时间
- 在关闭应用程序期间正确关闭线程,该线程可能会运行很长时间的循环
- 主流C++编译器中 GC 实现的时间线是什么?
- 从 twitcurl 时间线获取未授权错误用户获取方法
- CUDA Visual Profiler 5.0 不会生成时间线,Eror with Cudadevicereset()
- 图形时间线创建用于分析多线程c++程序的软件API
- NVIDIA Visual探查器不生成时间线