CUDA Visual Profiler 不生成时间线

标签 cuda

我正在尝试确定 GPU 代码中哪些地方发生了速度减慢。我已经验证代码本身可以正确运行(它不会抛出任何错误,输出正确,干净地完成等)。当我尝试在 Visual Profiler 中分析代码时,它似乎运行正常,将正确的中间输出转储到标准输出。 GPU 正在被使用(我已经检查了 cuda-gdb 并从内核中转储了 printf() )。所有代码完成后,Visual Profiler 报告 viper 已终止可执行文件。但是,没有生成时间线。相反,主窗口显示的 0、10、20、25 微秒全部“折叠”在一起。当我告诉 Visual Profiler 运行所有分析选项时,它会毫无问题地进行 24 次运行,但仍然没有生成时间线。

我在 Ubuntu x86_64 和 GeForce 460 上使用 CUDA 4.2,驱动程序版本 295.41。

最佳答案

当可视分析器无法生成时间线时,通常是因为它无法找到分析所需的组件。该组件是一个位于/usr/local/cuda/lib64 中的共享库,名为 libcuinj.so。该路径在您的 LD_LIBRARY_PATH 中吗?您如何启动 Visual Profiler?/usr/local/cuda/bin/nvvp 中的脚本应该为您正确设置路径。

4.2 版本的可视化探查器在未找到此共享库时报告错误的效果并不好。即将推出的 5.0 版本的视觉分析器在这方面具有更好的错误报告。

关于CUDA Visual Profiler 不生成时间线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11748272/

相关文章:

具有 CUDA 内核动态数据的 C 结构?

cuda - CUDA 11 中的链接时优化 - 它们是什么以及如何使用它们?

matlab - 用于循环优化的 CUDA 和 MATLAB

c++ - Tensorflow CUDA Reduction Op 没有完全减少

c++ - cudaArray 的文档在哪里?

cuda - CUDA 中的同步

c++ - 在 cuda 内核中声明 CPP 对象

opencv - OpenCV Cuda “invalid device function”在第一个cuda调用中

c++ - 内核调用产生错误 "error: a host function call cannot be configured"。调用有什么问题?

cuda - 阿姆达尔定律和 GPU