NVIDIA Nsight Systems 入门及使用

NVIDIA Nsight Systems是一个低开销的系统分析工具,用于收集性能数据,包括采样和跟踪。用户可以使用nsys确定CPU瓶颈、查看CUDA API调用和GPU工作负载。支持CUDA 10.0至11.0版本。文章介绍了Windows GUI版和Linux CLI的使用步骤。
摘要由CSDN通过智能技术生成

目录

# Nsight Systems 入门

什么是Nsight Systems

用户能用nsys做什么

CUDA Version

Nsight Systems 使用

nsys windows 版本GUI使用步骤

nsys Linux CLI (Command Line Interface)常见命令


# Nsight Systems 入门

 

什么是Nsight Systems
 

NVIDIA Nsight Systems,简称nsys,是一个低开销的系统分析工具。

在本文档中,我们将配置文件的配置对象和用户用来工作并控制配置文件会话的计算机作为主机。 请注意,对于基于x86_64的系统,它们可能位于同一设备上,而对于基于Tegra,ARM或IBM Power的系统,它们将始终是分开的。


此外,将三种不同的活动区分如下:

 - **分析—收集任何性能数据**的过程。Nsight Systems中的性能分析会话通常包括采样和跟踪。
 - **采样—定期停止配置文件**(在配置文件会话期间正在研究的应用程序)的过程,通常用于收集回溯(活动线程的调用堆栈),这使您可以统计地了解每个函数花费了多少时间。
   此外,还可以对硬件计数器进行采样。 当收集到少量样品时,此过程本质上是不精确的。 
 - **跟踪-收集有关概要文件或系统中发生的各种活动**的精确信息的过程。    例如,可以跟踪概要**API的执行**,以提供函数调用的确切时间和持续时间

Nsight Systems在大多数平台上支持的常见功能包括:

  • 使用多种算法(例如帧指针或DWARF数据)对Profilee进行采样并收集回溯。 根据需要构建自上而下,自下而上和平面视图。 此信息有助于确定CPU密集型代码中的性能瓶颈。
  • 采样或跟踪系统电源行为,例如CPU频率。
  • (仅在Nsight Systems嵌入式平台版本上)来自ARM PMU(性能监视单元)的采样计数器。 诸如缓存未命中之类的信息在统计上与函数执行相关。
  • 支持多个窗口。 具有多台监视器的用户可以同时查看多个报告,
在 Android 中,如果希望在黑夜模式下不使用 `res/values-night` 目录下的资源(如颜色、样式、尺寸等),可以使用以下方法: 1. 在代码中动态设置 可以在代码中通过 `getResources().getConfiguration().uiMode` 获取当前的 UI 模式,并根据 UI 模式来判断是否使用 `res/values-night` 目录下的资源。如果是黑夜模式,则不使用 `res/values-night` 目录下的资源,而使用 `res/values` 目录下的资源。具体示例代码如下: ```java int nightModeFlags = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; if (nightModeFlags == Configuration.UI_MODE_NIGHT_YES) { // 是黑夜模式,不使用 res/values-night 目录下的资源 int color = getResources().getColor(R.color.my_day_color); } else { // 是白天模式,使用 res/values 目录下的资源 int color = getResources().getColor(R.color.my_color); } ``` 2. 使用 AppCompat 库 如果应用使用了 AppCompat 库,可以通过 `getDelegate().getLocalNightMode()` 获取当前的夜间模式设置,并根据夜间模式设置来判断是否使用 `res/values-night` 目录下的资源。如果是黑夜模式,则不使用 `res/values-night` 目录下的资源,而使用 `res/values` 目录下的资源。具体示例代码如下: ```java int nightMode = AppCompatDelegate.getDefaultNightMode(); switch (nightMode) { case AppCompatDelegate.MODE_NIGHT_YES: // 是黑夜模式,不使用 res/values-night 目录下的资源 int color = ContextCompat.getColor(this, R.color.my_day_color); break; case AppCompatDelegate.MODE_NIGHT_NO: case AppCompatDelegate.MODE_NIGHT_UNSPECIFIED: // 是白天模式,使用 res/values 目录下的资源 int color = ContextCompat.getColor(this, R.color.my_color); break; } ``` 以上两种方法都可以实现在黑夜模式下不使用 `res/values-night` 目录下的资源。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值