问题标签 [nvvp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
121 浏览

docker - 如何在不使用 ctrl-c 的情况下停止运行 TensorRT 服务器(用于使用 nvprof 进行分析)

我正在运行 nvprof 来分析 TensorRT 服务器-客户端模型的 GPU 使用情况。这就是我正在做的事情:

  1. 在启用了 TensorRT 的 docker 容器内的终端 1 上运行 nvprof,nvprof --profile-all-processes -o results%p.nvvp

  2. 在与第一步相同的 docker 容器中在终端 2 上运行 TensorRT 服务器

  3. 作为前两个步骤,在不同的 docker 容器中请求终端 3 上的服务。

当第三步完成时,客户端正常存在,但服务器和 nvprof 保持运行。所以很自然地,我用 ctrl-c 关闭了 TensorRT 服务器。当我这样做时,在终端 1(运行 nvprof)上,它告诉我应用程序出现内部分析错误,并且生成的输出文件上没有任何时间线信息。(它只有 380KB 大,而其他文件运行的持续时间大致相同,2-3 分钟,至少大约几 MB)

似乎用 ctrl-C 结束 TensorRT 服务器是问题所在,所以我尝试给 nvprof 一个超时选项,即nvprof --profile-all-processes -o results%p.nvvp --timeout 200在第一步中(200 秒足以完成整个过程)但这确实使 nvprof 提高此消息:Execution timeout, stopping the application...,它实际上并没有停止 TensorRT 服务器。

基本上,我想知道是否有任何方法可以在不使用 ctrl-C 的情况下正常停止正在运行的 TensorRT 服务器退出,或者是否有使用 nvprof 和 TensorRT 一起解决此问题的解决方法。

任何帮助或朝着正确的方向推动将不胜感激。谢谢!

PS原始问题大约3小时前在这里发布。

0 投票
1 回答
370 浏览

cuda - NVIDIA Visual Profiler:内核边界数据不足

我试图了解为什么我的 CUDA 内核的性能相对较低,我希望通过 NVIDIA 分析器得到一些答案。

我的 CUDA 程序是一个大型应用程序的“简化”版本,它隔离和运行有问题的内核。该程序多次启动内核,以测量其执行时间作为多次启动的平均值。在计时循环之后,发出从设备到主机的内存副本,以确保所有内核调用都已完成。该程序是用 CUDA C++ 编写的。

这就是我构建程序的方式:

此测试是在配备 Intel CPU 和 NVIDIA GeForce GTX 1070 的 PC 上完成的。操作系统是 Ubuntu 20.04,带有来自 NVIDIA 网站的新安装的 CUDA 11 以及驱动程序 450.51.06:

以下命令用于生成分析文件:

sudo /usr/local/cuda-11.0/bin/nvprof -o main.nvvp --profile-from-start off ./main

我也尝试从一开始就进行分析,但它会导致下面的相同问题。

以下命令用于启动可视分析器:

nvvp -vm /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java main.nvvp

视觉分析器引导我完成几个步骤,当涉及到“执行内核分析”时,程序告诉我:

内核边界数据不足。无法收集计算内核的计算、内存和延迟范围所需的数据

我的 GPU 上没有这种详细的分析吗?(可能是因为是玩家卡)

0 投票
1 回答
127 浏览

cuda - CUDA Profiler 中“flop_count_sp”和“inst_fp_32”指标的含义

根据分析器用户指南

flop_count_sp:非谓词线程执行的单精度浮点运算数(加法、乘法和乘法累加)。每个乘法累加操作都会为计数贡献 2。该计数不包括特殊操作。

inst_fp_32:非谓词线程(算术、比较等)执行的单精度浮点指令数

我有一个带有探查器输出的内核,可以添加到以下内容:

鉴于这些指标中的数字,我想知道这里的操作是什么,指令是什么?似乎 afma是一个指令,但是两个操作。而addandmul是一个指令和一个操作。由于 SASS 程序集由分析器计算。是否有任何指令不计为操作?或相反亦然。我只想知道 nvprof 和 nvvp 指标的上下文。

另外,当我们谈论 TFLOP/s 的峰值性能时,OP这里对应于我猜的操作?如果我想估计诸如计算到全局内存访问(CGMA)之类的东西,我应该使用flop_count_sp而不是inst_fp_32计算部分吗?提前致谢。

0 投票
1 回答
412 浏览

java - NVIDIA Visual Profiler 在启动时崩溃

我正在使用 NVIDIA 的 Visual Profiler (nvvp) 在 Pascal GPU 上分析内核(因为Nsight Compute 不支持这些内核) - 在 Devuan GNU/Linux 4 系统上使用 CUDA 11.4。

当我运行时nvvp,它立即崩溃,说:

为什么会发生这种情况,我该如何规避/修复此错误?

编辑:在我的系统上,默认的 JAVA VM 是:openjdk 17-ea 2021-09-14。如果我使用不同的已安装 vm,例如/usr/lib/jvm/java-11-openjdk-amd64/bin/java,我会得到相同的错误。来自https://jdk.java.net/archive/的 Java 16 的 JDK 也不会改变任何事情。添加--illegal-access=permit有人向我建议的内容 - 也没有帮助。

0 投票
1 回答
51 浏览

windows - 探查器(nvvp 和 nvprof)不显示“页面错误”信息

我正在分析NVIDIA 开发人员论坛上的CUDA 初学者统一内存中提供的测试代码。

代码:

问题:作者提供的分析结果显示了有关“页面错误”的信息,但是当我运行nvprofnvvp分析器时,我没有得到任何有关页面错误的信息。是否有任何标志或需要明确设置的东西才能获取该信息?

我的 nvprof 输出:

我的 nvvp 分析结果:

在此处输入图像描述