问题标签 [nsight-compute]

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 投票
2 回答
436 浏览

tensorflow - nv-nsight-cu-cli 导致 TensorFlow 失败

我已经下载了最新的 Nsight Compute 分析工具,我想用它来对 Tensorflow 应用程序进行基准测试。我使用的代码在这里。当我执行它时它运行得非常好,当我用nvprof ./mnist.py它进行基准测试时完全没有问题。但是,当我尝试使用命令运行它时,sudo ./nv-nsight-cu-cli [path to the file]出现以下错误:

ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

我怀疑nv-nsight-cu-cli不知何故根本没有识别环境变量。周围有什么解决办法吗?

0 投票
0 回答
356 浏览

installation - 无法在 Windows 上启动 Nsight Compute 命令行界面

在安装 Nsight Compute v1.0 之后,我无法使用此处的说明启动 NVIDIA 的 Nsight CLI。

我查看了批处理文件nv-nsight-cu-cli.bat,它所做的只是启动nv-nsight-cu-cli.exe。但是,我查看C:\Program Files\NVIDIA Corporation\NVIDIA Nsight Compute 1.0\host\windows-desktop-win7-wgl-x64了批处理文件说 CLI 可执行文件所在的位置,但它丢失了。只有一个可执行文件来启动 UI。

我在哪里可以下载nv-nsight-cu-cli.exe并让 Nsight CLI 运行?我无法从 NVIDIA 网站上找到它。

0 投票
2 回答
983 浏览

cuda - CUDA:如何在计算能力 >= 7.2 的设备上检测共享内存库冲突?

在计算能力 <= 7.2 的设备上,我总是使用

nvprof --events shared_st_bank_conflict

但是当我使用 CUDA10 在 RTX2080ti 上运行它时,它会返回

Warning: Skipping profiling on device 0 since profiling is not supported on devices with compute capability greater than 7.2

那么如何检测此设备上是否存在共享内存库冲突?

我已经安装了 Nvidia Nsight Systems 和 Nsight Compute ,找不到这样的分析报告...

谢谢

0 投票
1 回答
371 浏览

pytorch - Nsight Compute 无法分析 Waveglow(PyTorch 应用程序)

我试图通过这个命令来分析https://github.com/NVIDIA/waveglow :

Python 命令来自https://github.com/NVIDIA/waveglow#generate-audio-with-our-pre-existing-model的指令,它适用于 Nsight System,而不是 Nsight Compute。

分析不会结束打印此日志;所以我按下了Ctrl+C。此外,它只配置一个内核,但我有更多内核。(由 Nsight 系统检查)

操作系统:CentOS Linux 7,Nsight Compute(2019.3.1,Build 26317742),GPU:Tesla V100-PCIE-32GB

我怎样才能解决这个问题?

0 投票
1 回答
737 浏览

cuda - 解读 Nsight Compute 中的计算工作负载分析

计算工作负载分析显示不同计算管道的利用率。我知道在现代 GPU 中,整数和浮点管道是不同的硬件单元,可以并行执行。但是,对于其他流水线来说,哪个流水线代表哪个硬件单元还不是很清楚。我也找不到任何关于管道缩写和解释的在线文档。

我的问题是:

1) ADU、CBU、TEX、XU的全称是什么?它们如何映射到硬件?

2) 哪些流水线使用相同的硬件单元(例如 FP16、FMA、FP64 使用浮点单元)?

3)现代GPU中的warp调度器每个周期可以调度2条指令(使用不同的管道)。哪些管道可以同时使用(例如 FMA-ALU、FMA-SFU、ALU-Tensor 等)?

Ps:我为不熟悉Nsight Compute的人添加截图。在此处输入图像描述

0 投票
1 回答
105 浏览

nsight-compute - 如何使用 nv-nsight-cu-cli 查找 gld_throughput 和 gst_throughput

无法让它工作,文档阅读起来有点棘手。
在下面尝试并将输出视为 n/a。

0 投票
1 回答
181 浏览

cuda - 优化 CalculateConvolutionOutputTensor__im2col

要求

我写信请求有关优化我的解决方案/方法“CalculateConvolutionOutputTensor__im2col”的指导。我希望帮助确定超越我幼稚方法的最佳策略;提供有关任何相关 GPU 进程及其应用方式的直觉(例如,银行冲突);并根据我可以调整的内容帮助解释上述配置文件。

使用 GeForce 2080 Ti 时,该方法的第一次运行需要 0.774 秒。我已经包含了我编写的唯一 CUDA C++ 内核的 Nsight Compute 配置文件的屏幕截图:im2col。

在此处输入图像描述

我能做的事情

我可以让每个 GPU 线程访问共享内存而不是全局内存。我可以将 GPU“堆”变量转移到内核“堆栈”,而不是取消对每个线程和内核内 for 循环迭代的引用。我可以将小参数放入 GPU 内存中的数组中,并将单个指针传递给这些数组。我可以使用更复杂的 im2col 版本。

我尝试过的事情

我宁愿不使用 cuDNN 7.6.5;当我使用 cuDNN 7.6.5 并编写语句“cudnnCreate(&cudnnHandle);”时,Nsight Compute 建议方法 cuModuleGetFunction 返回 CUDA_ERROR_NOT_FOUND。

重建解决方案

我用来创建这个项目的过程是使用 Visual Studio Community 2019 创建一个新的 CUDA 10.2 Runtime 项目,将默认源文件重命名为“main.cu”,将所有内容替换为下面的第一个代码块,添加“CalculateConvolutionOutputTensor__im2col.h ” 到我的项目中,在下面添加第二个代码块,在我的项目中添加“CalculateConvolutionOutputTensor__im2col.cu”,在下面添加第三个代码块,并添加“cublas.lib;” 到 Project Properties -> Linker -> Input -> Additional Dependencies

主文件

CalculateConvolutionOutputTensor__im2col.h

CalculateConvolutionOutputTensor__im2col.cu

0 投票
1 回答
647 浏览

python-3.x - Python & Tensorflow & CUDA 环境设置问题

昨天我tensorflow 2.2 在 Windows 10 Enterprise 64 位上使用 Python 3.7.4,包括使用 GPU。今天早上,同一个系统不再看到 GPU。我已经卸载/重新安装了 CUDA,以及基于 tensorflow 文档的其他要求,但它只是拒绝工作。

PC 规格:i7 CPU 3.70GHz,64GB RAM,安装了 NVidia GeForce GTX 780 Ti 显卡(驱动程序 26.21.14.4122)。

https://www.tensorflow.org/install/gpu说 tensorflow 特别需要 NVidia CUDA Toolkit 10.1 不是 10.0,不是 10.2)。

自然,该版本拒绝安装在我的 PC 上。这些组件在安装过程中失败:

  • Visual Studio 集成
  • NSight 系统
  • NSight 计算

所以,我安装了正确安装的 10.2,但是没有运行(这并不奇怪,鉴于 tensorflow 文档)。

安装了什么:

我知道 10.2.89 的 nvcc 输出不是我需要的,但它根本不会安装 10.1,所以我不知道我能做什么。这是个常见的问题吗?有没有我可以运行的诊断程序来确保卡没有死?我应该降级我的 tensorflow 版本吗?我应该一起放弃这个环境吗?是这样,什么是学习 ML的稳定环境?

0 投票
1 回答
271 浏览

cuda - Nsight Compute 如何确定/显示共享内存指标?

我正在学习__shared__CUDA 中的内存,但我对 Nsight Compute 如何显示共享内存统计信息感到困惑。

我正在阅读这篇文章(代码在 Nvidia 的 github 上可用,但下面复制以供参考)。

当我运行 Nsight Compute 时,我看到以下staticReverse内核图表(dynamicReverse内核几乎相同):

在此处输入图像描述

问题 1:图表显示了 1 个对共享内存的请求和 1 个来自共享内存的请求,但为什么它还显示 0 个共享内存指令?请求不算作指令吗?从这个图表的角度来看,什么算作共享内存指令?

接下来,在源视图中,Nsight Compute 显示各种指标的逐行计数:

在此处输入图像描述

问题 2:为什么“Memory L1 Transactions Shared”在第 8 行和第 10 行显示为 0?我期待看到:

  • 第 8 行:相等数量的 [从全局内存加载事务] 和 [将事务存储到共享内存]
  • 第 10 行:相同数量的 [从共享内存加载事务] 和 [将事务存储到全局内存]

问题 3:为什么第 8 行和第 10 行各有 8 个内存事务?

我的系统:

  • Ubuntu 18.04 LTS
  • GeForce 1070(帕斯卡)
  • CUDA 版本:10.2
  • 驱动程序版本:440.64.00

在此处输入图像描述

0 投票
1 回答
944 浏览

cuda - 如何在具有计算能力 7.x 的 CUDA 应用程序中进行分析?度量标准“dram_read_throughput”在 Nsight Compute 中有效吗?

我的设置环境:CUDA 10.2 设备:RTX 2080 操作系统:Ubuntu 16.04 当我尝试使用 nvprof 时,我发现它不支持计算能力为 7.2 或更高的设备。建议我改用 Nsight Compute 或 Nsight Systems。但是由于缺少图形界面,我无法启动上述两个软件。如何在远程服务器中使用 Nsight Compute?顺便问一下,是否可以在 Nsight Compute 中分析指标?