对程序首次进行profiler时,点击create 按钮,输入好名字及存储名录后,会出现以下窗口。
其中session name可以自行更改,
launch需要找到程序的exe文件,这个exe文件是在对程序代码进行编译后生成的,一般在x64 或 win32 的debug目录下寻找。
(文件目录也可能跟自己的工程属性有关,需要自己查看,右键工程--属性
)
working directory 是指cuda代码工程的工作路径。(注意,.exe文件的目录有可能与working directory目录不同)
在我这里由于程序中需要fread 根目录的 txt 文件,所以工作路径需要定位到.cu 文件的存储目录。
注意事项:
1. 在main函数最后需要加上 cudaThreadExit();以作标识。
2. maxtime 在需要的情况下尽量选大一些。我在程序选择的是300s
遇到的问题:
1. Program run #15 was aborted after maximum program execution time duration of 300 seconds.
一般300s已经很大了,这个时候如果更改maxtime后还是出现类似的错误提示,这样有可能是你的程序在运行过程中需要在控制台输入参数,或者命令造成的。我的是由于在结束的时候加上了一句 shrQAFinishExit(argc, (const char **)argv, (bTestResult ? QA_PASSED : QA_FAILED) ); 所以结束后需要在控制台输入任意键值以退出,造成了程序等待,出现了错误。
所以在进行profiler之前,建议运行一下程序,确保程序能够正常运行,且控制台能够正确返回。