问题标签 [nsight]

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 回答
2282 浏览

cuda - 内核启动和内核执行之间的时间

我正在尝试使用 VS 2010 的 Parallel Nsight 2.1 版本来优化我的 CUDA 程序。

我的程序在带有 GTX 480 板的 Windows 7(32 位)机器上运行。我已经安装了 CUDA 4.1 32 位工具包和 301.32 驱动程序。

程序中的一个周期包括将主机数据复制到设备、执行内核以及将结果从设备复制到主机。

正如您在下面的分析器结果图片中看到的那样,内核在四个不同的流中运行。每个流中的内核依赖于“流 2”中复制到设备的数据。这就是为什么 asyncMemcpy 在不同流中启动内核之前与 CPU 同步的原因。

在此处输入图像描述

图片中让我恼火的是第一次内核启动结束(10.5778679285)和内核执行开始(10.5781500)之间的巨大差距。启动内核大约需要 300 我们,这在不到 1 毫秒的处理周期中是一个巨大的开销。

此外,内核执行和将结果的数据复制回主机没有重叠,这进一步增加了开销。

这种行为有什么明显的原因吗?

0 投票
1 回答
305 浏览

cuda - Nsight 配置文件实验未运行

我已经为 VS2010 安装了 nsight 并且调试效果很好(该卡是 Quadro FX 5800,根据http://developer.nvidia.com/content/nsight-visual-studio-edition-supported-gpus-full-列表)。但是,当我尝试运行分析实验时,唯一显示的实验结果是占用率,控制台进度显示如下

即使我已经要求进行所有的实验。有谁知道为什么会这样?

0 投票
1 回答
994 浏览

debugging - Nvidia Nsight 2.2 OpenGL 着色器调试器 - 不工作?

我在两台计算机上配置了 NVidia 的 Parallel Nsight 2.2 系统。目标有一个 Geforce 450 gts,驱动程序版本为 301.42,主机有一个 Quadro 1000M,驱动程序版本相同。加载最简单的 OpenGL 3.0 程序(使用着色器显示彩色三角形)运行良好,但我似乎无法让 Nsight 着色器调试器工作。

一切似乎都正常,我可以打开 NSight->Windows->Shaders List 窗口,双击一个着色器,打开源代码并选择一行并设置一个断点。出现一个大红点表示已设置断点,但断点永远不会命中,所以我被卡住了。

有没有人让 OpenGL 着色器调试器与 Parallel Nsight 2.2 一起工作?

顺便说一句,NSight->New Analysis Activity 效果很好。我可以创建所有 openGL 调用的跟踪并毫无问题地查看它。

0 投票
3 回答
756 浏览

c++ - Nsight Eclipse 可以分析 C++ 代码吗?

我们有 C++ 代码,我们想在向其添加 CUDA 代码之前使用 Nividia Nsight Eclipse(Linux 版本)对其进行分析。想法是先对 C++ 进行剖析,找到热点,将其转换为 CUDA,再次剖析,然后迭代此过程以逐步加快代码速度。但是,当我们仅对 C++ 进行分析时,分析器似乎需要一些现有的 CUDA 代码才能生成时间线和分析输出。有人遇到过这种情况么?

0 投票
1 回答
1055 浏览

c++ - Nsight 或其他适用于 Visual Studio 2012 (GeForce) 的 Direct3D 调试器/性能分析器?

我正在为 Visual Studio 2012 寻找任何类型的 Direct3D 10/11 调试器/性能分析器。

我发现了一个名为 NVidia PerfHUD 的非常好的应用程序,但我注意到它已经贬值了。

新的是 NVidia Nsight。不幸的是,它是为 Visual Studio 2008/2010 设计的。

有没有将 NVidia Nsight 连接到 Visual Studio 2012 的选项?

如果没有,是否有任何其他该类型的程序(易于使用的监视器可以让我检查 Direct3D C++ 应用程序的性能)?

0 投票
1 回答
567 浏览

eclipse - nSight eclipse版远程交叉编译和执行

我下载了 nVidia CUDA 5.0,因为我想尝试 nSight Eclipse 版本因为我是 Mac 用户,这对我来说很有意义。它工作得很好,但我真正想做的是在我的外部机器(家里和亚马逊)上远程编译和执行(和调试)代码,这些机器基本上是 Linux 机器。

我怎样才能做到这一点?

0 投票
1 回答
2164 浏览

debugging - CUDA 在 Nsight 调试中无法查看共享内存值

我一直在努力解决一个我似乎无法找到解决方案的问题。问题是当我尝试在 Visual Studio 2008 下使用 Nvidia Nsight 调试我的 CUDA 代码时,我在使用共享内存时得到了奇怪的结果。

我的代码是:

当我到达断点 1 并检查 Visual Studio Watch 窗口中的共享内存时,只有数组的前 8 个值发生变化,其他值保持为空。我希望所有前 64 人都这样做。 Visual Studio 中的观察窗口

我认为这可能与所有未同时执行的经线有关。所以我尝试同步它们。我在里面添加了这段代码integrate()

但问题仍然存在。此外, tmp 中的其余值0与监视窗口窗体 VS 所指示的不同。 Nsight 的观察窗口

我必须提到,它需要很多步骤才能跨越__syncthreads(),所以当我到达它时,我只是跳转到断点 2。到底发生了什么!?


编辑有关系统/启动配置的信息

系统

  • 名称 Intel(R) Core(TM)2 Duo CPU E7300 @ 2.66GHz
  • 架构 x86
  • 频率 2.666 MHz
  • 核心数 2
  • 页面大小 4.096
  • 总物理内存 3.582,00 MB
  • 可用物理内存 1.983,00 MB
  • 版本名称 Windows 7 Ultimate
  • 版本号 6.1.7600

设备GeForce 9500 GT

  • 驱动程序版本 301.42
  • 驱动器型号 WDDM
  • CUDA 设备索引 0
  • GPU 系列 G96
  • 计算能力 1.1
  • SM 数量 4
  • 帧缓冲区物理大小 (MB) 512
  • 帧缓冲带宽 (GB/s) 16
  • 帧缓冲总线宽度(位) 128
  • 帧缓冲区位置专用
  • 图形时钟 (Mhz) 812
  • 内存时钟 (Mhz) 500
  • 处理器时钟 (Mhz) 1625
  • 内存类型 DDR2

IDE

  • 微软 Visual Studio 团队系统 2008
  • NVIDIA Nsight Visual Studio 版本,版本 2.2 内部版本号 2.2.0.12255

编译器命令

1> "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe" -G -gencode=arch=compute_10,code=\"sm_10,compute_10\" --machine 32 -ccbin "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin" -D_NEXUS_DEBUG -g -D_DEBUG -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MDd "-I"inc" -I"C: \Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\include" -maxrregcount=0 --compile -o "Debug/process_f2f.cu.obj" process_f2f.cu

启动配置。共享内存大小似乎并不重要。我试过几个版本。我合作最多的一个是:

  • 共享内存 2048 字节
  • 网格/块大小:{101、101、1}、{16、16、1}
0 投票
1 回答
647 浏览

cuda - Cuda 共享内存在 Nsight 中显示为寄存器

我声明了共享内存,并尝试使用 Visual Studio 2010 的 Nsight 2.2 对其进行跟踪。我将 CUDA 4.2 与 quadro 5000 一起使用。

在我的 kernel.cu 中:

在我调用内核的函数中:

当我查看 Nsight 上的 analisys 活动然后“CUDA Launches”时,它告诉我:

  • 每个块分配的寄存器:10240
  • 每个块分配的共享内存:0
  • 块限制原因:寄存器

我是否正确分配了共享内存?我不明白如何分配寄存器。

编辑:

它还告诉我:

  • 每个线程注册:32
  • 每个块的动态共享内存:0
  • 每个块的静态共享内存:0
0 投票
1 回答
264 浏览

visual-studio-2010 - 两个连续的“cudaMallocPitch”使代码失败

我写了一个简单的CUDA代码如下:

我注释掉了第二个分配块,代码运行良好。它将数据从主机数组“hostArrayR”复制到设备数组“deviceArray2DInput”并复制回来。但是,如果两个分配块都存在,则复制回的“hostArrayR”为空(没有从设备复制回数据)。

我确信数据在第 (#1) 行的“hostArrayR”中,但第 (#2) 行没有数据。我清理了前 10000 个元素(远小于数组的大小)以验证数据没有返回。

我在 Visual Studio 2010 上使用 Nvidia Nsight 2.2。数组大小为 1024x768,我使用的是浮动 32 位数据。我的显卡是 GTX570。似乎没有内存分配错误(或者代码会在复制之前返回)。

我没有尝试“cudaMalloc()”,因为我更喜欢使用“cudaMallocPitch()”进行内存对齐。

0 投票
2 回答
1511 浏览

graphics - 在 Nsight 2.2 中使用图形调试器时应用程序崩溃

嗨,我使用的是NVidia Nsight 2.2,有GTS 450卡和最新的驱动程序。Windows Vista 64 位。启动图形调试器时,应用程序在第一次绘制调用时崩溃。调用堆栈如下所示:

否则它本身运行良好,只有当我通过 Nsight 图形调试器启动时才会崩溃。我怀疑这与我使用DX11 dynamic shader linkage. 由于我的其他不使用动态链接的应用程序运行良好。有人以前经历过这种情况,或者有关于 Nsight 的这个问题的任何信息吗?