在内部使用 CUPTI 函数时无法使用 nvprof 分析 cuda 代码

Can not profile a cuda code with nvprof when using CUPTI functions inside

我正在做一个简单的实验。大家可能都知道callback_metric CUPTI的示例代码(位于CUPTI文件夹:/usr/local/cuda/extras/CUPTI/sample/callback_metric)。它仅包含一个简单的代码,用于在 运行 设置 vectorAdd 内核时读取指标。当我编译和 运行 代码时一切正常。

但是当我在 nvprof 命令 (nvprof ./callback_metric) 下 运行 这段代码时,我收到一条错误消息:

Error: incompatible CUDA driver version

nvprof 和其他基于 CUPTI 的代码都可以单独工作。

探查器不打算以这种方式与使用 CUPTI 的应用程序一起使用。

分析器中记录了这一点 documentation:

Here are a couple of reasons why Visual Profiler may fail to gather metric or event information. More than one tool is trying to access the GPU. To fix this issue please make sure only one tool is using the GPU at any given point. Tools include the CUDA command line profiler, Parallel NSight Analysis Tools and Graphics Tools, and applications that use either CUPTI or PerfKit API (NVPM) to read event values.