NVIDIA Nsight Compute 的用户手册
Posted 吴建明
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NVIDIA Nsight Compute 的用户手册相关的知识,希望对你有一定的参考价值。
NVIDIA Nsight Compute 的用户手册
NVIDIA Nsight Compute User Interface (UI) 手冊。 有关工具 UI 中所有视图、控件和工作流的信息。 可视探查器的过渡指南。
对于从 Visual Profiler 迁移到 NVIDIA Nsight Compute 的用户,请参阅 Visual Profiler Transition Guide,了解功能和工作流程的比较。
本文档是下一代 NVIDIA Nsight 计算分析工具的用户指南。NVIDIA Nsight Compute 是用于 CUDA 应用程序的交互式内核分析器。 它通过用户界面和命令行工具提供详细的性能指标和 API 调试。 此外,其基线功能允许用户在工具中比较结果。NVIDIA Nsight Compute 提供可定制且数据驱动的用户界面和指标集合 并可以使用分析脚本进行扩展,以获得后处理结果。
重要功能
- · 交互式内核分析器和 API 调试器
- · 图形配置文件报告
- · 工具中一个或多个报告的结果比较
- · 快速数据收集
- · 用户界面和命令行界面
- · 完全可定制的报告和分析规则
以下各节提供了有关如何设置和运行 NVIDIA Nsight 计算以收集配置文件信息的简要分步指南。 所有目录都相对于 NVIDIA Nsight Compute 的基本目录, 除非另有说明。
UI 可执行文件称为 ncu-ui。具有此名称的快捷方式位于基目录中 的 NVIDIA Nsight Compute 安装。实际的可执行文件位于Windows或Linux上的文件夹中。 默认情况下,从 Linux 文件安装时,NVIDIA Nsight Compute 位于 . 从 or 包安装时,它位于与 Nsight 系统一致的位置。 在 Windows 中,默认路径为 。host\\windows-desktop-win7-x64host/linux-desktop-glibc_2_11_3-x64.run/usr/local/cuda-<cuda-version>/nsight-compute-<version>.deb.rpm/opt/nvidia/nsight-compute/<version>C:\\Program Files\\NVIDIA Corporation\\Nsight Compute <version>
启动 NVIDIA Nsight 计算后,默认情况下会打开欢迎页面。 它提供了指向最近打开的报告和项目的链接,以及快速访问“连接”对话框, 和“项目”对话框。 若要立即启动配置文件运行,请选择“快速启动”下的“继续”。 有关如何更改启动操作的信息,请参阅环境。
欢迎页面
- 從 NVIDIA Nsight Compute 啟動目標應用程式
启动 NVIDIA Nsight Compute 时,将出现欢迎页面。 单击“快速启动”以打开“连接”对话框。如果未显示“连接”对话框, 您可以使用主工具栏中的“连接”按钮打开它,只要您当前未连接。 在左侧选择目标平台,并从连接下拉列表中选择连接目标(计算机)。 如果选择了本地目标平台,将作为连接提供。 使用 + 按钮添加新的连接目标。然后,继续在“启动”选项卡中填写详细信息。 在“活动”面板中,选择“交互式配置文件”活动以启动允许控制的会话 执行目标应用程序并以交互方式选择感兴趣的内核。 按启动以启动会话。localhost
2. 从命令行使用工具检测启动目标应用程序
ncu 可以充当一个简单的包装器,强制目标应用程序加载必要的 工具检测库。该参数指定目标应用程序应为 在第一次检测的 API 调用之前启动和挂起。这样,应用程序将一直等到我们与 UI 连接。--mode=launch
$ ncu --mode=launch CuVectorAddDrv.exe
- 启动 NVIDIA Nsight 计算并连接到目标应用程序
选择对话框顶部的目标计算机以连接并更新可连接应用程序的列表。 默认情况下,如果目标与您当前的本地平台匹配,则会预先选择 localhost。 选择“附加”选项卡和感兴趣的目标应用程序,然后按“附加”。 连接后,NVIDIA Nsight Compute 的布局将变为步进模式,允许您控制执行 对检测的 API 的任何调用。连接后,“API 流”窗口指示目标 应用程序在第一次 API 调用之前等待。
- 控制应用程序执行
使用“API 流”窗口将调用单步执行到检测的 API。 顶部的下拉列表允许在应用程序的不同 CPU 线程之间切换。单步执行 (F11)、单步执行 (F10) 和单步执行 (Shift + F11) 可从“调试”菜单或 相应的工具栏按钮。步进时,将捕获函数返回值和函数参数。
使用“恢复”(F5) 和“暂停”允许程序自由运行。 冻结控制可用于定义当前未处于焦点中的线程的行为,即在线程下拉列表中选择的线程。 默认情况下,API 流会在返回错误代码的任何 API 调用时停止。 这可以通过“在 API 错误中断”在“调试”菜单中切换。
- 隔离内核启动
要快速隔离内核启动以进行分析,请使用 API 流窗口以跳转到下一次内核启动。执行将在执行内核启动之前停止。
分析内核启动
在内核启动时暂停目标应用程序的执行后,UI 中将提供其他操作。 这些操作可从菜单或工具栏中访问。请注意,如果 API 流未处于合格状态(不在内核启动时或在不受支持的 GPU 上启动时)。要进行性能分析,请按“性能分析内核”并等待结果显示在“性能分析器报告”中。分析进度在右下角状态栏中报告。
除了手动选择配置文件,还可以从“配置文件”菜单中启用“自动配置文件”。 如果启用,将使用当前部分配置分析与当前内核过滤器(如果有)匹配的每个内核。 如果要在无人参与的情况下分析应用程序,或者要分析内核启动次数,这将特别有用 非常大。 可以使用衡量指标选择工具窗口启用或禁用部分。
配置文件系列允许一次配置一组配置文件结果的集合。 集合中的每个结果都使用不同的参数进行分析。序列对于研究内核的行为很有用 跨大量参数,无需多次重新编译和重新运行应用程序。
有关此活动中可用选项的详细说明,请参阅交互式配置文件活动。
- 從 NVIDIA Nsight Compute 啟動目標應用程式
启动 NVIDIA Nsight Compute 时,将出现欢迎页面。 单击“快速启动”以打开“连接”对话框。 如果未显示“连接”对话框,则可以使用主工具栏中的“连接”按钮将其打开, 只要您当前未连接。在左侧选择您的目标平台,然后选择您的 本地主机从连接下拉列表中。然后,填写启动详细信息。 在“活动”面板中,选择“配置文件”活动以启动预配置的会话 配置文件会话并启动命令行探查器以收集数据。 提供输出文件名以启用使用启动按钮启动会话。
其他启动选项
有关这些选项的更多详细信息,请参阅命令行选项。 这些选项分为多个选项卡: “过滤器”选项卡公开用于指定应分析哪些内核的选项。 选项包括内核正则表达式筛选器、要跳过的启动次数以及要分析的启动总数。 “部分”选项卡允许您选择应为每次内核启动收集哪些部分。 将鼠标悬停在某个部分上,以工具提示的形式查看其说明。 要更改默认启用的部分,请使用衡量指标选择工具窗口。 采样选项卡允许您为每个内核启动配置采样选项。 “其他”选项卡包含通过该选项收集 NVTX 信息或自定义指标的选项。--metrics
有关此活动中可用选项的详细说明,请参阅配置文件活动。
- 從 NVIDIA Nsight Compute 啟動目標應用程式
启动 NVIDIA Nsight Compute 时,将出现欢迎页面。 单击“快速启动”以打开“连接”对话框。 如果未显示“连接”对话框,则可以使用主工具栏中的“连接”按钮将其打开, 只要您当前未连接。在左侧选择您的本地目标平台,然后选择您的 本地主机从连接下拉列表中。然后,填写启动详细信息。 在“活动”面板中,选择“系统跟踪”活动以使用预配置的设置启动会话。 按启动以启动会话。
其他启动选项
有关这些选项的更多详细信息,请参阅系统范围的分析选项。
会话完成后,将在新文档中打开 Nsight Systems 报告。默认情况下,将显示时间线视图。 它提供了 CPU 和 GPU 活动的详细信息,并有助于了解整体 应用程序的行为和性能。一旦 CUDA 内核被确定为在关键路径上并且不满足 性能预期,右键单击内核在时间轴上启动,然后从上下文菜单中选择分析内核。将打开一个新的连接对话框,该对话框已预先配置为分析所选内核启动。 继续使用非交互式配置文件活动优化所选内核
- 导航报表
默认情况下,配置文件报告显示在“详细信息”页面上。 您可以在报表的不同报表页面之间切换,下拉菜单标记为“页面” 在报告的左上角。您还可以使用 Ctrl + Shift + N 和 Ctrl + Shift + P 快捷键 键或相应的工具栏按钮分别导航下一页和上一页。 报告可以包含任意数量的内核启动结果。结果下拉列表允许切换 在报表中的不同结果之间。
比较多个结果
在“详细信息”页面上,按“添加基线”按钮以获取当前结果 成为此报告和任何其他报告的所有其他结果的基线 在NVIDIA Nsight Compute的同一实例中打开进行比较。 如果设置了基线,则“详细信息”页上的每个元素都显示两个值: 焦点结果的当前值和 基线或与相应基线值相比的变化百分比。
使用下拉按钮、配置文件菜单或 相应的工具栏按钮以删除所有基线。 有关详细信息,请参阅基线。
- 执行规则
在“详细信息”页面上,某些部分可能会提供规则。 按“应用”按钮以执行单个规则。 顶部的“应用规则”按钮可执行当前焦点结果的所有可用规则。 规则也可以由用户定义。 有关更多信息,请参阅自定义指南。
使用“连接”对话框启动并附加到本地和远程平台上的应用程序。 首先选择要分析的目标平台。 默认情况下(如果支持),将选择您的本地平台。 选择要在其上启动目标应用程序或连接到正在运行的进程的平台。
“连接”对话框
使用远程平台时,系统会要求您在顶部下拉列表中选择或创建连接。 若要创建新连接,请选择 + 并输入连接详细信息。 使用本地平台时,将选择本地主机作为默认主机,无需进一步的连接设置。 如果性能分析将位于同一平台的远程系统上,则仍可以创建或选择远程连接。
根据您的目标平台,选择“启动”或“远程启动”以启动应用程序以在目标上进行分析。 请注意,仅当目标平台支持远程启动时,远程启动才可用。
填写应用程序的以下启动详细信息:
- 应用程序可执行文件:指定要启动的根应用程序。请注意,这可能不是 您希望分析的最终应用程序。它可以是创建其他进程的脚本或启动器。
- 工作目录:将在其中启动应用程序的目录。
- 命令行参数:指定要传递给应用程序可执行文件的参数。
- 环境:要为启动的应用程序设置的环境变量。
选择“附加”,将探查器附加到已在目标平台上运行的应用程序。 此應用程式必須已使用另一個 NVIDIA Nsight Compute CLI 執行個體啟動。 该列表将显示在目标系统上运行的所有可以连接的应用程序进程。 选择刷新按钮以重新创建此列表。
最后,选择要在已启动或附加的应用程序的目标上运行的活动。 请注意,并非所有活动都必然与所有目标和连接选项兼容。 目前,存在以下活动:
支持 SSH 的远程设备也可以在“连接”对话框中配置为目标。 要配置远程设备,请确保选择了支持 SSH 的目标平台,然后按 + 按钮。将显示以下配置对话框。
NVIDIA Nsight Compute 支持密码和私钥身份验证方法。 在此对话框中,选择身份验证方法并输入以下信息:
- ·
密码
- oIP/主机名:目标设备的 IP 地址或主机名。
- o用户名:要用于 SSH 连接的用户名。
- o密码:用于 SSH 连接的用户密码。
- o港口:要用于 SSH 连接的端口。(默认值为 22)
- o部署目录:要在目标设备上用于部署支持文件的目录。 指定的用户必须对此位置具有写入权限。
- o连接名称:将要 显示在“连接”对话框中。如果未设置,它将默认 到 <User>@<Host>:<Port>。
- · 私钥
oIP/主机名:目标设备的 IP 地址或主机名。
- o用户名:要用于 SSH 连接的用户名。
- oSSH 私钥:用于向 SSH 服务器进行身份验证的私钥。
- oSSH 密钥密码:私钥的密码。
- o港口:要用于 SSH 连接的端口。(默认值为 22)
- o部署目录:要在目标设备上用于部署支持文件的目录。 指定的用户必须对此位置具有写入权限。
- o连接名称:将要 显示在“连接”对话框中。如果未设置,它将默认 到 <User>@<Host>:<Port>。
除了由路径和普通密码身份验证指定的密钥文件外,NVIDIA Nsight Compute 还支持 键盘交互式身份验证、标准密钥文件路径搜索和 SSH 代理。
输入所有信息后,单击“添加”按钮以使用此新连接。
在“连接”对话框中选择远程连接时,应用程序可执行文件浏览器将使用配置的 SSH 连接浏览远程文件系统,允许用户选择 远程设备上的目标应用程序。
在远程设备上启动活动时,将执行以下步骤:
- 命令行探查器和支持文件将复制到远程设备上的部署目录中。 (仅复制不存在或过期的文件。
- 打开通信通道以准备 UI 和应用程序可执行文件之间的流量。
- o对于交互式配置文件活动,将在主机上启动 SOCKS 代理。
- o对于非交互式配置文件活动,将在目标计算机上打开一个远程转发通道,以 通过隧道分析信息返回到主机。
- 应用程序可执行文件在远程设备上执行。
- o对于交互式配置文件活动,将建立与远程应用程序和分析的连接 会话开始。
- o对于非交互式配置文件活动,远程应用程序在命令行探查器下执行 并生成指定的报告文件。
- 对于非交互式性能分析活动,生成的报告文件将复制回主机并打开。
每个步骤的进度都显示在进度日志中。
进度日志
请注意,远程启动任一活动类型后,进一步分析会话所需的工具可以是 发现 在远程设备上的部署目录中。
在 Linux 和 Mac 主机平台上,NVIDIA Nsight Compute 支持在目标计算机上进行 SSH 远程分析,而目标计算机不是 可通过 和 SSH 选项从运行 UI 的计算机直接寻址。ProxyJumpProxyCommand
这些选项可用于指定要连接的中间主机或要运行的实际命令以获取连接的套接字 到 目标主机上的 SSH 服务器,可以添加到 SSH 配置文件中。
请注意,对于这两个选项,NVIDIA Nsight Compute 都运行外部命令,并且不实施任何机制来 使用在“连接”对话框中输入的凭据向中间主机进行身份验证。这些凭据 将仅用于对计算机链中的最终目标进行身份验证。
当使用选项 NVIDIA Nsight Compute 使用 OpenSSH 客户端 建立与中间主机的连接。这意味着为了使用 或,必须在主机上安装支持这些选项的 OpenSSH 版本。ProxyJumpProxyJumpProxyCommand
在这种情况下,向中间主机进行身份验证的常用方法是使用 SSH 代理并让它保留 用于身份验证的私钥。
由于使用了OpenSSH SSH客户端,因此您还可以使用SSH askpass机制来处理这些 以交互方式进行身份验证。
在慢速网络上,用于通过 SSH 进行远程分析的连接可能会超时。如果是这种情况,可以使用该选项来设置所需的超时值。ConnectTimeout
通过SSH进行远程分析的一个已知限制是,如果NVIDIA Nsight Compute尝试,可能会出现问题。 通过连接到运行它的同一台计算机,通过 SSH 进行远程分析。在这种情况下,解决方法 是通过 进行本地分析。localhost
有关OpenSSH客户端的可用选项及其工具生态系统的更多信息 有关身份验证,请参阅官方手册页。
交互式配置文件活动允许您启动控制 目标应用程序的执行,类似于调试器。 您可以分步 API 调用和工作负载(CUDA 内核)、暂停和恢复、 并以交互方式选择感兴趣的内核以及要收集的指标。
此活动当前不支持分析或附加到子进程。
- · 启用 CPU 调用堆栈
在每个分析的内核启动位置收集 CPU 端调用堆栈。
- · 启用 NVTX 支持
收集应用程序或其库提供的 NVTX 信息。 需要支持单步执行到特定 NVTX 上下文。
- · 禁用性能分析启动/停止
忽略对应用程序的调用或由应用程序进行的调用。cu(da)ProfilerStartcu(da)ProfilerStop
- · 从头开始启用性能分析
从应用程序启动开始启用性能分析。 如果应用程序调用和 不应分析首次调用此 API 之前的内核。 请注意,禁用此功能不会阻止您手动分析内核。cu(da)ProfilerStart
- · 缓存控制
在分析期间控制 GPU 缓存的行为。允许的值: 对于“全部刷新”,在分析期间,在每次内核重播迭代之前刷新所有 GPU 缓存。 虽然应用程序执行环境中的指标值可能略有不同,而不会使缓存失效, 此模式在重放过程中以及目标的多次运行中提供最可重现的指标结果 应用。
对于“不刷新”,在分析期间不会刷新任何 GPU 缓存。这可以提高性能并更好地复制 如果指标收集只需要单个内核重播传递,则应用程序行为。 但是,某些指标结果会因以前的 GPU 工作以及重播迭代而异。 这可能会导致指标值不一致且超出界。
- · 时钟控制
在性能分析期间控制 GPU 时钟的行为。允许的值: 对于基本时钟,GPC 和内存时钟在分析期间锁定到各自的基本频率。这对热节流没有影响。 对于“无”,在分析期间不会更改 GPC 或内存频率。
- · 导入源
允许将可用的源文件永久导入到报表中。在源查找文件夹中搜索缺少的源文件。 源信息必须嵌入到可执行文件中,例如通过编译器选项。 导入的文件在源页面上的 CUDA-C 视图中使用。-lineinfo
- · 图形分析
设置 CUDA 图是应步进并分析为单个节点还是完整图。 有关此模式的详细信息,请参阅内核分析指南。
配置文件活动提供传统的、可预配置的探查器。 配置要分析的内核、要收集的指标等后,应用程序将在分析器下运行 没有交互式控制。 应用程序终止后,活动即完成。 对于通常不会自行终止的应用程序,例如交互式用户界面,您可以取消 分析所有预期内核后的活动。
此活动不支持附加到之前通过 NVIDIA Nsight Compute 启动的进程。 这些进程将在“附加”选项卡中灰显。
- · 输出文件
应存储所收集配置文件的报告文件的路径。 如果不存在,则会自动添加报表扩展插件。 文件名组件支持占位符。 它被按顺序递增的数字替换,以创建唯一的文件名。 这将映射到命令行选项。.ncu-rep%i--export
- · 强制覆盖
如果设置,将覆盖现有报告文件。 这将映射到命令行选项。--force-overwrite
- · 目标流程
选择要分析的进程。 在“仅应用程序”模式下,仅分析根应用程序进程。 在模式 all 中,将分析根应用程序进程及其所有子进程。 这将映射到命令行选项。--target-processes
- · 重播模式
选择多次重放内核启动的方法。 在内核模式下,各个内核启动在 目标应用程序的单一执行。 在“应用程序”模式下,整个目标应用程序将多次重新启动。 在每次迭代中,都会收集目标内核启动的其他数据。 应用程序重播要求程序执行具有确定性。 这将映射到命令行选项。 有关重放模式的更多详细信息,请参阅内核分析指南。--replay-mode
- · 图形分析
设置 CUDA 图应分析为单个节点还是完整图。
- · 其他选项
所有剩余选项都映射到其命令行探查器等效项。 有关详细信息,请参阅命令行选项。
连接对话框中的条目将另存为当前项目的一部分。 在自定义项目中工作时,只需关闭项目即可重置对话框。
不在自定义项目中工作时,条目将存储为默认项目的一部分。 您可以通过关闭 NVIDIA Nsight 计算,然后从磁盘中删除项目文件来删除默认项目中的所有信息。
主菜单和工具栏上的信息。
- · 文件
从远程主机下载现有文件并将其打开 本地。打开的文件将仅存在于内存中,并且将 除非用户 显式保存它。有关 选择要从中下载文件的远程主机,请参阅 有关远程连接的部分。
只有本地支持的文件类型子集可以 从远程目标打开。下表 列出可以远程打开的文件类型。
表 1.远程文件类型支持 |
||
扩展 |
描述 |
支持 |
NCU-rep |
Nsight 计算探查器报告 |
是的 |
NCU-OCC |
占用计算器文件 |
是的 |
NCU-BVH |
OptiX AS 查看器文件 |
是(MacOSX 除外) |
部分 |
部分说明 |
不 |
库宾 |
库宾文件 |
不 |
呵呵,呵呵,呵 |
头文件 |
不 |
C,CPP,Cu |
源文件 |
不 |
.txt |
文本文件 |
不 |
nsight-cuprof-report |
Nsight 计算探查器报告(旧版) |
是的 |
- o救保存当前文件
- o另存为使用不同的名称或类型或在不同的位置保存当前文件的副本。
- o保存所有文件保存所有打开的文件。
- o关闭关闭当前文件。
- o关闭所有文件关闭所有打开的文件。
- o最近使用的文件从最近使用的文件列表中打开现有文件。
- o退出退出 nsight 计算。
- ·
连接
- o连接打开“连接”对话框以启动或附加到目标应用程序。已连接时禁用。
- o断开断开与当前目标应用程序的连接,允许应用程序正常运行并可能重新连接。
- o终止立即断开并终止当前目标应用程序。
- ·
调试
- o暂停在下一次截获的 API 调用或启动时暂停目标应用程序。
- o恢复恢复目标应用程序。
- o步入单步执行当前 API 调用或启动到下一个嵌套调用(如果有)或后续 API 调用(否则)。
- o跨过跳过当前 API 调用或启动,并在下一次非嵌套 API 调用或启动时挂起。
- o走出去跳出当前嵌套的 API 调用或启动到下一个非父 API 调用或启动上一级。
- o冻结原料药
禁用后,将启用所有 CPU 线程,并在步进或恢复期间继续运行, 并且一旦至少有一个线程到达下一个 API 调用或启动,所有线程就会停止。 这也意味着在单步执行或恢复期间,当前选定的线程可能会更改为 旧的选定线程没有向前推进,API 流会自动 通过新的 API 调用或启动切换到线程。 启用后,仅启用当前选定的 CPU 线程。 所有其他线程将被禁用和阻止。
如果当前线程,则单步执行现在完成 到达下一个 API 调用或启动。所选线程永远不会更改。 但是,如果所选线程不调用任何进一步的 API 调用或在屏障处等待 另一个线程要取得进展,步进可能无法完成并无限期挂起。 在这种情况下,请暂停,选择另一个线程,然后继续单步执行,直到原始线程被取消阻止。 在此模式下,只有选定的线程才会向前推进。
- o中断 API 错误启用后,在恢复或单步执行期间,只要 API 调用返回错误代码,执行就会暂停。
- o运行到下一个内核请参阅 API 流工具窗口。
- o运行到下一个 API 调用请参阅 API 流工具窗口。
- o运行到下一个范围开始请参阅 API 流工具窗口。
- o运行到下一个范围结束请参阅 API 流工具窗口。
- o接口统计打开 API 统计信息工具窗口
- o接口流打开 API 流工具窗口
- o资源打开“资源”工具窗口
- oNVTX打开 NVTX 工具窗口
- · 轮廓
- · 工具
- ·
窗
- o保存窗口布局允许您指定当前布局的名称。布局将保存到文档目录中的布局文件夹中 命名为“.nvlayout”文件。
- o应用窗口布局保存布局后,可以使用“应用窗口布局”菜单项还原它们。只需选择条目 从要应用的子菜单中。
- o管理窗口布局允许您删除或重命名旧布局。
- o恢复默认布局将视图恢复到其原始大小和位置。
- o显示欢迎页面打开欢迎页面。
- ·
帮助
- o文档在线打开 NVIDIA Nsight Compute 的最新文档。
- o文档(本地)打开该工具附带的 NVIDIA Nsight Compute 的本地 HTML 文档。
- o检查更新在线检查是否有更新版本的 NVIDIA Nsight Compute 可供下载。
- o重置应用程序数据重置保存在磁盘上的所有 NVIDIA Nsight 计算配置数据, 包括选项设置、默认路径、最近的项目引用等。 这不会删除已保存的报告。
- o发送反馈打开一个对话框,允许您发送 bug 报告和功能建议。 (可选)反馈包括基本系统信息、屏幕截图或其他文件(如配置文件报告)。
- o大约打开“关于”对话框,其中包含有关 NVIDIA Nsight 计算版本的信息。
主工具栏显示主菜单中的常用操作。 有关其说明,请参阅主菜单。
状态横幅用于显示重要消息,例如探查器错误。 可以通过单击“X”按钮来关闭该消息。 同时显示的横幅数量有限,旧消息可以获得 如果出现新的,则自动关闭。 使用“输出消息”窗口查看完整的消息历史记录。
当 NVIDIA Nsight Compute 连接到目标应用程序时,API 统计信息窗口可用。 默认情况下,一旦建立连接,它就会打开。 可以使用主菜单中的调试> API 统计信息重新打开它。
每当目标应用程序挂起时,它都会显示跟踪的摘要 带有一些统计信息的 API 调用,例如调用次数, 它们的总持续时间、平均持续时间、最短持续时间和最长持续时间。 请注意,在尝试时,此视图不能用作 Nsight 系统的替代品 以优化应用程序的 CPU 性能。
“重置”按钮将删除收集到当前点的所有统计信息,然后启动新集合。 使用导出为 CSV 按钮将当前统计信息导出到 CSV 文件。
API 流窗口在 NVIDIA Nsight Compute 为 已连接到目标应用程序。 默认情况下,一旦建立连接,它就会打开。 可以使用主菜单中的调试> API 流重新打开它。
每当目标应用程序挂起时,窗口都会显示 API 调用和跟踪内核启动。 当前挂起的 API 调用或内核启动(活动)用黄色箭头标记。 如果暂停处于子呼叫处,则父呼叫用绿色箭头标记。 API 调用或内核在执行之前已挂起。
对于每个活动,将显示更多信息,例如内核名称 或函数参数(函数参数)和返回值(函数返回)。 请注意,函数返回值仅在您走出或越过 API 调用后才可用。
使用“当前线程”下拉列表在活动线程之间切换。 下拉列表显示线程 ID,后跟当前 API 名称。 可以在触发器下拉列表中选择多个选项之一,这些选项由相邻的>>按钮执行。运行到下一个内核将恢复执行,直到在任何已启用的线程中找到下一个内核启动。运行到下一个 API 调用将恢复执行,直到在任何已启用的线程中找到与下一个触发器匹配的下一个 API 调用。“运行到下一个范围开始”将恢复执行,直到找到活动探查器范围的下一个开始。 探查器范围是使用 API 调用定义的。运行到下一个范围停止恢复执行,直到找到活动探查器范围的下一个停止点。 “API 级别”下拉列表更改流中显示的 API 级别。 导出为 CSV 按钮将当前可见的流导出到 CSV 文件。cu(da)ProfilerStart/Stop
可以通过单击纵断面菜单中的基线条目来打开基线工具窗口。它提供 用于管理配置的基线的集中位置。(请参阅基线, 以获取有关如何从配置文件结果创建基线的信息。
可以通过单击表格行中的复选框来控制基线可见性。选中该复选框后, 基线将是 在摘要标题以及所有部分的所有图表中可见。如果未选中,基线将被隐藏,并将 不贡献 到度量差异计算。
可以通过双击表格行中的颜色样本来更改基线颜色。打开的颜色对话框 提供 能够选择任意颜色,并提供与库存基线颜色关联的预定义颜色调色板 旋转。
可以通过双击表行中的“名称”列来更改基线名称。名称不得为空,并且必须 小于选项对话框中指定的最大基线名称长度。
可以通过单击“上移基线”和“下移基线”按钮来更改所选基线的 z 顺序 在工具栏中。当基线上移或下移时,其新位置将反映在报表页眉和 每个图表。 目前,一次只能移动一个基线。
可以通过单击工具栏中的“清除所选基线”按钮来删除所选基线。所有基线都可以是 通过单击全局工具栏或工具窗口工具栏中的“清除所有基线”按钮立即删除。
通过单击工具栏中的“保存基线”按钮,可以将配置的基线保存到文件中。默认情况下 基线文件使用该扩展名。基线文件可以在本地打开和/或与其他用户共享。.ncu-bln
可以通过单击工具栏中的“加载基线”按钮来加载基线信息。当基线文件为 将替换当前配置的已加载基线。将向用户显示一个对话框以确认此操作 必要时。
可以使用“配置文件”菜单中的“衡量指标详细信息”条目打开“衡量指标详细信息”工具窗口 或相应的工具栏按钮。当报表和工具窗口打开时,可以在报表中选择要显示的指标 附加 工具窗口中的信息。它还包含一个搜索栏,用于在重点报告中查找指标。
可以在详细信息页面或原始页面中选择报告指标。 该窗口将显示基本信息(指标的名称、单位和原始值)以及其他信息,例如 其扩展描述。
搜索栏可用于打开重点报表中的指标。 它会在您键入时显示可用的匹配项。 输入的字符串必须从指标名称的开头开始匹配。
默认情况下,选择或搜索新指标会更新当前的默认选项卡。 您可以单击“固定选项卡”按钮以创建默认选项卡的副本,除非已固定相同的指标。 这样可以保存多个选项卡并在它们之间快速切换以比较值。
某些指标包含实例值。如果可用,它们将在工具窗口中列出。实例值可以具有相关 ID,该 ID 允许将单个值与其关联的实体(例如函数地址或指令名称)相关联。
当 NVIDIA Nsight Compute 连接到目标应用程序时,NVTX 窗口可用。 如果关闭,可以使用主菜单中的调试> NVTX 重新打开它。 每当目标应用程序挂起时,窗口都会显示所有活动状态 当前所选线程中的 NVTX 域和范围。 请注意,仅当启动命令行探查器实例时,才会跟踪 NVTX 信息 在 NVIDIA Nsight Compute 启动对话框中启用了 或 NVTX。--nvtx
使用 API 流窗口中的当前线程下拉列表更改当前选定的线程。NVIDIA Nsight Compute 支持 NVTX 命名资源,例如线程、CUDA 设备、CUDA 上下文等。 如果使用 NVTX 命名资源,则将更新相应的 UI 元素。
当 NVIDIA Nsight Compute 连接到目标应用程序时,资源窗口可用。 它显示有关当前已知资源的信息,例如 CUDA 设备、CUDA 流或内核。 每次挂起目标应用程序时,都会更新该窗口。 如果关闭,可以使用主菜单中的“调试>资源”重新打开它。
使用顶部的下拉菜单,可以选择不同的视图,其中每个视图都是特定的 到一种资源(上下文、流、内核等)。 筛选器编辑允许您使用当前所选资源的列标题创建筛选器表达式。
资源表显示每个资源实例的所有信息。 每个实例都有一个唯一的 ID,即创建此资源时的 API 调用 ID, 其句柄、关联的句柄和其他参数。 销毁资源后,会将其从表中删除。
使用异步 malloc/free API 时,内存分配的资源视图还将包括内存对象 以这种方式创建。这些内存对象具有非零内存池句柄。“模式”列将指示哪个代码路径 是在分配相应对象期间采取的。模式包括:
- REUSE_STREAM_SUBPOOL: 内存对象在先前释放的内存中分配。内存由内存池集支持 作为进行分配的流的当前。
- USE_EXISTING_POOL_MEMORY: 内存对象在先前释放的内存中分配。内存由默认内存池支持 进行分配的流。
- REUSE_EVENT_DEPENDENCIES: 内存对象是在内存中分配的,该内存以前在同一上下文的另一个流中释放。一条溪流 存在分配流对自由操作的排序依赖关系。Cuda 事件和空流交互可以创建 所需的流排序依赖项。
- REUSE_OPPORTUNISTIC: 内存对象是在内存中分配的,该内存以前在同一上下文的另一个流中释放。但是,没有 自由和分配之间存在依赖关系。此模式要求在 请求分配。执行行为的更改可能会导致应用程序的多次运行采用不同的模式。
- REUSE_INTERNAL_DEPENDENCIES: 内存对象是在内存中分配的,该内存以前在同一上下文的另一个流中释放。新的内部 可能已添加流依赖项,以便建立重用内存所需的流排序 以前发布。
- REQUEST_NEW_ALLOCATION: 必须为此内存对象分配新内存,因为找不到可行的可重用池内存。 分配性能与使用非异步 malloc/free API 相当。
一些显示的资源也可以使用 or 按钮导出到 GraphViz DOT 或 SVG 文件。Export to GraphVizExport to SVG
导出 OptiX 可遍历手柄时, 可遍历的图形节点类型将使用形状和颜色进行编码 如下表所述。
表 2.OptiX 可遍历图节点类型 |
||
节点类型 |
形状 |
颜色 |
国际会计准则 |
六角形 |
#8DD3C7 |
三角气体 |
箱 |
#FFFFB3 |
AABB 气体 |
箱 |
#FCCDE5 |
曲线气体 |
箱 |
#CCEBC5 |
球形气体 |
箱 |
#BEBADA |
静态变换 |
钻石 |
#FB8072 |
SRT 变换 |
钻石 |
#FDB462 |
矩阵运动变换 |
钻石 |
#80B1D3 |
错误 |
平行图 |
#D9D9D9 |
可以使用配置文件>指标选择从主菜单打开“指标选择”窗口。 它跟踪当前在 NVIDIA Nsight 计算中加载的所有指标集、部分和规则,独立于特定连接或报告。 可以在“配置文件选项”对话框中配置要从中加载这些文件的目录。 它用于检查可用的集合、部分和规则,以及配置应收集哪些规则以及哪些规则 应该应用。 您还可以指定应收集的各个指标的逗号分隔列表。 该窗口有两个视图,可以使用其标题中的下拉列表进行选择。
“衡量指标集”视图显示所有可用的衡量指标集。每个集都与多个指标部分相关联。 您可以选择适合要收集其性能指标的详细级别的集。 收集更详细信息的集合通常会在分析期间产生更高的运行时开销。
在此视图中启用集时,将在“衡量指标部分/规则”视图中启用关联的衡量指标部分。 在此视图中禁用集时,将禁用“衡量指标部分/规则”视图中的关联部分。 如果未启用任何集,或者在“衡量指标部分/规则”视图中手动启用/禁用部分, <自定义>条目标记为活动,表示当前未启用任何节集。 请注意,默认设置默认处于启用状态。
每当手动分析内核或启用自动分析时,仅启用部分 ,并收集输入框中指定的各个指标。 同样,无论何时应用规则,只有在此视图中启用的规则处于活动状态。
部分和规则的启用状态在 NVIDIA Nsight Compute 启动中保持不变。 “重新加载”按钮再次从磁盘重新加载所有部分和规则。 如果找到新的部分或规则,它将在可能的情况下启用。 如果在加载规则时发生任何错误,它们将列在额外的 带有警告图标和错误描述的条目。
使用“全部启用”和“全部禁用”复选框可同时启用或禁用所有部分和规则。 “筛选器”文本框可用于筛选视图中当前显示的内容。 它不会更改任何条目的激活。
该表显示了部分和规则及其激活状态、关系 以及其他参数,例如关联的指标或磁盘上的原始文件。 与节关联的规则显示为其节条目的子项。 独立于任何部分的规则显示在附加的独立规则条目下。
双击表的“文件名”列中的条目可将此文件作为文档打开。 它可以直接在NVIDIA Nsight Compute中编辑和保存。 编辑文件后,必须选择“重新加载”才能应用这些更改。
修改节或规则文件时,“状态”列中的条目将显示“用户已修改”,以反映它已从其默认状态修改。选择“用户修改”行时,将启用“还原”按钮。单击“还原”按钮会将条目恢复为默认值 状态并自动重新加载部分和规则。
同样,从配置的截面目录(在“配置文件选项”对话框中指定)中删除库存截面或规则文件时,“状态”列将显示“用户已删除”。用户删除的文件也可以使用“还原”按钮进行还原。
将显示由用户创建(未随 NVIDIA Nsight 计算一起提供)的部分和规则文件。 作为状态列中的用户创建。
有关 NVIDIA Nsight Compute 的默认部分列表,请参阅部分和规则。
探查器报告包含在分析期间为每次内核启动收集的所有信息。 在用户界面中,它由带有一般信息的标题以及控件组成 以在报告页或单个收集的启动之间切换。 默认情况下,报表在选中“详细信息”页时启动。
“页面”下拉列表可用于在可用报表页之间切换, 下一节将对此进行详细说明。
探查器报表标题
启动下拉列表可用于在所有收集的内核启动之间切换。 每个页面中显示的信息通常表示选定的启动实例。 在某些页面(例如 Raw)上,将显示所有启动的信息并突出显示所选实例。 您可以在此下拉列表中键入以快速筛选并查找内核启动。
“应用筛选器”按钮可打开筛选器对话框。 您可以使用多个过滤器来缩小结果范围。在过滤器对话框中,输入您的过滤器 参数,然后按确定按钮。“启动”下拉列表将相应地进行筛选。 选择箭头下拉列表以访问“清除筛选器”按钮,这将删除所有筛选器。
筛选器对话框
“添加基线”按钮将焦点中的当前结果提升为基线 此报告和在同一 NVIDIA Nsight 计算实例中打开的任何其他报
以上是关于NVIDIA Nsight Compute 的用户手册的主要内容,如果未能解决你的问题,请参考以下文章
NSight Compute - 预期银行冲突但未检测到任何
NSight (NVIDIA) 无法在 Visual Studio 中使用“暂停和捕获帧”功能正常工作
Nvidia Nsight 与 localhost 的连接失败