Nsight Compute(NCU) Scheduler Statistics 数据解读

2023-05-16

本文内容主要参考YT上的这个视频:

https://www.youtube.com/watch?v=nYSdsJE2zMs

Warp硬件架构介绍

以Volta架构为例,每个SM有4个Warp Scheduler,每个Warp Scheduler有4个warp slots,因此Volta架构中整个GPU每个cycle总共最多可以有16个warps同时处于被调度的状态,每个时钟周期最多可以发射4个warps。(而以前的Turing架构只有8个warp slots,可以看出未来GPU中warp slot数量应该是有上升趋势的。)

Warp调度过程介绍

为了画图简单,下面就用8个warp slots做演示,每个时钟周期也按照只能发射一个warp去假设。

首先,下图左侧画的Warp Slots中0-7个方块代表了GPU中的全部8个Warp Slots。其次,右侧的Warp States介绍了NV中对warp的5种分类,其中白色Unused表示还在warp队列中排队的warp,这个状态的warp一般先不用关心;凡是有颜色的warp其实都属于Active Warp,这里的灰色warp是不属于其他3种绿色的Active Warp,指这个warp所在的block已经被调度到指定SM上的warp(这里为了严谨说的有点绕了,简单理解灰色块就是还没准备好被发射的warp);Eligible Warp就是准备好被发射的Warp;Stalled是指因为一些原因(指令还没加载完成、依赖项还没有得到等等)而被中断暂停的warp;Seleted表示被选中发射的warp。

下面就看一下warp调度过程:

假设核函数执行到第N个时钟周期时,有3个Stalled Warp(最下面深绿色的0-2 Slots中的Warp)和2个Eligible Warp以及3个Unused Warp。这时,随机选取一个Eligible Warp(3号warp)放在下面的Issue slot中发射。这个时钟周期就过去了。

 

 到了下一个也就是N+1个时钟周期时,上一步选的3号warp因为取指令需要不止一个时钟周期而被stall变成深绿色。这时所有之前发射的warp都被stall了,warp scheduler不得不再选一个eligible warp来发射,因此选则了唯一的eligible warp也就是4号warp来发射。

再到N+2个时钟周期时,有一个warp执行结束就退出warp slot了,而warp slot中也没有可以发射的eligible warp了,因此这个周期就这样空过去了。

 

再下一个周期即N+3个时钟周期,新增了两个eligible warp,又在eligible warp中随机选择一个(2号)warp发射。

 
Scheduler Statistics 数据解读

cycles_active:一共有多少个包含active warp的cycle。

warps_active:一共有多少个active warp(有颜色的方块有多少个)。

warp_active/cycle_active:warps_active除以cycles_active

achieved_occupancy:warps_active/(warp最大active数量*cycles_active)(warp最大active数量就是上文提到的,Volta的16和Turing的8)

                                achieved_occupancy = 有颜色的方块数量 / 所有的方块数量

warps_stalled:被stall的warp数量。即深绿色方块的数量。

warps_eligible:全部cycle中eligible warp出现的总数。 即浅绿色方块的数量。

 warps_issued:总共发射的warp数量。 

 warps_issued/cycles_active:字面意思

issue_slot_utilization:发射了warp的cycle数量 / cycles_active

上述数据中,所有以warps开头的数据在Nsight Compute中都是要除以cycles_active来显示的。通常后面会加 Per Scheduler表示除以cycles_active。

 这个例子是在V100中运行的,V100最佳情况下Active Warps Per Scheduler可以无限接近16,但该kernel平均分配每个调度器7.65个active warp,但是每个周期只有平均0.92个warp是eligible warp,真正被发射的每个周期才0.41个warp,这是很差的指标了。一般是两种方法改善:一是增加eligible warp的数量,二是减少active warp的stall时间。

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nsight Compute(NCU) Scheduler Statistics 数据解读 的相关文章

  • GCC Linker:如何在输出部分生成每个文件贡献的报告

    最近我在尝试链接我的程序时遇到了一个问题 它报告 text无法放入指定的内存区域 显然 源代码变得太大而无法在有限的内存区域中链接 我现在要做的是分析哪个文件对 text 部分贡献最大 以便进行后续代码优化 我尝试了很多方法但没有成功 nm
  • 带参数的累积正态分布函数的反函数

    我想在 C 中实现与 matlab icdf 函数等效的功能 我已经找到了这篇有用的文章 https www johndcook com blog cpp phi inverse https www johndcook com blog c
  • 按一天中的时间自动切换 Windows 10 中的暗/亮模式(无需修改或更改主题!)

    如今大多数设备都允许自动切换暗 亮模式 但 Windows 10 似乎没有这样的功能 有办法做到这一点吗 例如使用任务计划程序 似乎有很多关于如何以编程方式更改窗口 主题 的示例 但没有关于亮 暗模式切换的示例 可以在 设置 颜色 中为 W
  • 如何每天在特定时间触发 akka 调度程序?

    我创建了一个 Akka 的调度程序 每天在固定时间发送邮件 例如每天上午 6 00 那么如何称呼演员呢 我的意思是我应该使用什么逻辑 谢谢 只需计算现在和接下来的下午 6 点之间的差异 将其作为初始延迟 然后每 24 小时重复一次
  • 使用 pymc 与 MCMC 拟合两个正态分布(直方图)?

    我正在尝试拟合 CCD 上摄谱仪检测到的线轮廓 为了便于考虑 我提供了一个演示 如果解决了 它与我的演示非常相似actually想要解决 我看过这个 https stats stackexchange com questions 46626
  • 如何从颠倒的钟形曲线中采样

    我可以使用下面的代码生成均匀分布的数字 runif 1 min 10 max 20 如何对更频繁地接近最小和最大边界的随机生成的数字进行采样 又名 颠倒的钟形曲线 钟形曲线通常是高斯曲线 这意味着它没有最小值和最大值 你可以尝试贝塔分布 h
  • random.expovariate 相当于泊松过程

    我在某处读到 python 库函数 random expovariate 产生相当于泊松过程事件的间隔 真的是这样吗 或者我应该对结果施加一些其他功能 严格阅读你的问题 是的 这就是 random expovariate 所做的 expov
  • 生成仅包含正数的高斯分布

    有没有办法随机生成一组正数 使其具有所需的平均值和标准差 我有一个算法来生成具有高斯分布的数字 但我不知道如何以保留平均值和标准差的方式处理负数 看起来泊松分布可能是一个很好的近似值 但它只需要一个平均值 编辑 回复中有一些混乱 所以我会尽
  • 为什么 R 中的重新编码没有改变原始值?

    我正在尝试使用recode在 R 中 来自car包 并且它不起作用 我将 csv 文件中的数据读入名为的数据框中results 然后 我替换列中的值Built year 根据以下逻辑 recode results Built year 2
  • 如何确定一系列循环数据中的高值和低值?

    我有一些代表周期性运动的数据 所以 它从高点到低点 然后又回来 如果你要绘制它 它就像一个正弦波 然而 每个周期的幅度略有不同 我想列出整个序列中的每个最大值和最小值 如果有 10 个完整的周期 我最终会得到 20 个数字 其中 10 个为
  • 可以在 Mathematica 中扩展 PDF、CDF、FindDistributionParameters 等功能吗?

    我开始使用新的 Mathematica 统计和数据分析功能进行越来越多的工作 我周二参加了 Mathematica 统计与数据分析 在线研讨会 非常棒的演讲 我强烈推荐 但我遇到了一些问题 我希望这个论坛上的人可以花点时间考虑一下 我创建了
  • 从相关系数计算中删除异常值

    假设我们有两个数值向量x and y 之间的皮尔逊相关系数x and y是 谁 给的 坐标 x y 我怎样才能自动考虑仅一个子集x and y在计算中 比如90 最大化相关系数 If you really想要做到这一点 删除最大 绝对 残差
  • Python 比 C++ 更快、更轻吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • R 中卡方的事后测试

    我有一张看起来像这样的桌子 gt dput theft loc structure c 13704L 14059L 14263L 14450L 14057L 15503L 14230L 16758L 15289L 15499L 16066L
  • 使用perl求中位数、众数、标准差?

    我有一个数字数组 计算数据集的中位数 众数和标准差的最简单方法是什么 Statistics Basic Mean http p3rl org Statistics Basic Mean Statistics Basic Median htt
  • 为什么 Pearson 相关输出为 NaN?

    我正在尝试获取 R 中变量之间的皮尔逊相关系数 这是变量的散点图 ggplot results summary aes x D in y D ex geom point col ifelse results summary FDR lt 0
  • 解释 scipy.stats.entropy 值

    我正在尝试使用scipy stats 熵来估计库尔巴克 莱布勒 KL 两个分布之间的散度 更具体地说 我想使用 KL 作为衡量标准来确定两个分布的一致性 但是 我无法解释 KL 值 例如 t1 numpy random normal 2 5
  • 来自多元 t 分布的样本 python

    我想知道Python中是否有一个从多元学生t分布中采样的函数 我有包含 14 个元素的均值向量 14x14 协方差矩阵和自由度 我想从这个 t 分布中采样一个向量 对于一维情况 我使用 stats t rvs df loc scale 并且
  • 根据两个预先计算的直方图报告两个样本的 K-S 统计量

    Problem 在这里 我绘制了存储在文本文件中的 2 个数据集 在列表中 dataset 每个包含 218 亿个数据点 这使得数据太大而无法作为数组保存在内存中 我仍然能够将它们绘制为直方图 但我不确定如何通过2 样本KS测试 http
  • 在 SQL Server 中通过标准差消除异常值

    我试图通过标准差消除 SQL Server 2008 中的异常值 我只想要特定列中包含该列平均值的 1 标准差范围内的值的记录 我怎样才能做到这一点 如果您假设事件呈钟形曲线分布 则只有 68 的值与平均值相差 1 个标准差以内 95 的值

随机推荐

  • Jetson TX2 入门 ——打开摄像头

    Jetson TX2自带有一个板载摄像头 xff0c 当然也可以在TX2上连接usb摄像头和csi摄像头 1 打开板载摄像头 1 xff09 方法一 xff1a 视屏分辨率预览 nvgstcapture 1 0 prev res 61 3
  • 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。

    package cn itcast test06 public class Test08 方法1 public static int method int num boolean flag 61 num gt 0 true false nu
  • 史上最强,Cas单点登录之服务端搭建

    目录 Cas Server搭建大浪淘沙 xff0c 沉者为金弱水三千 xff0c 只取一瓢 服务端配置介绍最常用的三个配置文件最常用的三个JSP页面 自定义数据源关闭HTTPS协议开启Restful接口1 加入jar包 2 配置web xm
  • C#创建子窗体、父窗体

    本文部分内容来自书籍 多文档界面 xff08 Multiple Document Interface xff0c MDI xff09 xff0c 其窗体用于同时显示多个文档 xff0c 每个文档显示在各自的窗口中 在MDI窗体中 xff0c
  • k8s部署报错network: failed to find plugin “flannel“ in path [/opt/cni/bin]]

    k8s在部署工作负载时 xff0c pod详情页提示以下问题 Failed to create pod sandbox rpc error code 61 Unknown desc 61 failed to set up sandbox c
  • VS各版本VC各版本对应关系

    Visual Studio 经过多年的发展 xff0c 有许多版本 xff0c 经常我们在拿到一份代码时不知道对应的VS版本 这时候可以打开工程目录下的vcproj vcxproj文件 xff0c 如下所示 span class token
  • 浅谈机场综合布线运维工作中的难点问题

    随着系统规模越来越大 体系越来越复杂 信息系统的作用越来越明显 运维保障的要求越来越高 xff0c 综合布线维护工作面临的问题也愈加凸显 以下以国内某大型机场在综合布线运维工作中面临的实际问题为例 xff0c 给大家分享综合布线运维利器 耐
  • 关于集成商转型

    前言 xff1a 集成商转型是一个老生常谈的话题 xff0c 集成服务一直以来就随着IT行业趋势而发展 xff0c IT行业从最初的硬件主导到硬件软件化 xff0c 再到软件服务化 xff0c 大趋势或将发展至服务产品化 xff0c 行业趋
  • centos系统开启vncserver

    yum y install tigervnc server 这个是安装命令 安装好以后输入vncserver就能开启 第一次开启会让设置密码 这个密码是用户vncclient 连接的时候需要输入的密码 vncserver kill 1 这个
  • 升降横移式立体车库设计机械设计毕业设计全套资料

    资源下载 下载地址如下1502 xff1a https docs qq com doc DTlRSd01BZXNpRUxl 本文选用了社会需求大 xff0c 最常见的一种立体车库 升降横移式立体停车库 介绍和分析了升降横移式立体停车库的结构
  • 在NVIDIA Jetson 平台上运行Deepstream速度慢的常见解决办法

    NVIDIA发布了最新的Deepstream 4 0 光说不练假把式 xff0c 光练不说傻把式 xff0c 不少用户发现在Jetson嵌入式平台上运行Deepstream会遭遇到速度变慢 xff0c 今天汇总几个常见解决方案 xff1a
  • Ubuntu18.04 安装ROS Melodic(官方版) 之不使用科学方法

    此前记录了官方安装流程 xff0c 参见Ubuntu18 04 安装ROS Melodic 官方版 xff0c 但是受限于无法访问raw githubusercontent com xff0c 需科学方法才能成功安装 xff0c 带来诸多不
  • 分层存储Stratis和管理快照

    分层存储Stratis Stratis称为卷管理文件系统 xff0c 以管理物理存储设备池的服务形式运行 xff0c 透明的为所创建的文件系统创建和管理卷 相较于Lvm操作简化了 xff0c Stratis可以动态管理卷层 xff0c 不需
  • 报错:AttributeError: NoneType object has no attribute device

    今天搞个测试 xff0c 测试是在horovod下进行的 问题就出在加载权重 xff08 参数 xff09 文件的地方 xff0c 加载权重命令load weights前要先build一下 xff0c 结果就build出这么一个错误 xff
  • ARM安装python模块

    ARM机器安装python模块绝对不不不不可以直接pip xff01 xff01 xff01 这里演示的是CentOS xff0c 其他linux系统类似 Step1 安装必备 yum install epel release yum in
  • k8s源码编译运行

    本文参考视频 xff1a https www bilibili com video BV1WK41137JA from 61 search amp seid 61 10758236638727752345 0 一定要用root用户 sudo
  • 腾讯vCUDA(gpu-manager)部署

    官网 xff1a https github com tkestack gpu manager 先夸赞一下腾讯的开源精神 xff0c 再吐槽一下 xff0c 官方README写的真是过于随意了 踩了一堆坑 xff0c 终于部署并测试成功了 下
  • 127.0.0.1:xxxx端口映射到物理机IP

    一个应用的Dashboard访问地址是127 0 0 1 8265 xff0c 但是我没有权限使用物理机的浏览器查看 xff0c 只能远程命令行访问机器 xff0c 该机器IP是10 18 127 2 xff0c 所以需要用如下命令映射一下
  • Debian解决Error opening terminal: xterm错误

    在Debian中n中无交互界面安装oneAPI遇见了Error opening terminal xterm报错 使用如下命令亲测可以解决 xff1a mkdir p usr share terminfo x cd usr share te
  • Nsight Compute(NCU) Scheduler Statistics 数据解读

    本文内容主要参考YT上的这个视频 xff1a https www youtube com watch v 61 nYSdsJE2zMs Warp硬件架构介绍 以Volta架构为例 xff0c 每个SM有4个Warp Scheduler xf