Nsight 学习笔记-相关标准概念

Nsight 学习笔记(一)

原创  2015年03月22日 16:26:25
占用视图
  1. 占用率(Occupancy) = 每个 SM 中激活的 Warp / 每个 SM可以激活的 Warp 的最大值。

  2. 其中,Theoretical 表示理论值,是由程序决定的;而 Device Limit 表示设备限制的最大值,认为无法改变;Achieved 表示程序实际执行时的情况。

  3. 图中的红色部份表示限制使用率的一些因素。

  4. 每个Warp(线程束)包含32个线程,32个 thread 被分成一组一起执行。

  5. Maxwell 中,每个 SM 包含64个线程,每个 SM 有两个 Warp Scheduler, 每个 Warp Scheduler 管理两个 Instruction Dispatch Unit,一个 Instruction Dispatch Unit 可以同时管理16个 Warp。

  6. Maxwell 中,共享内存与 L1 Cache 分开,每个 SM 的共享内存的大小变成 96KB,每个块可以使用的共享内存最大为48KB。

  7. Maxwell 中,每个 SM 的寄存器个数为65536,共64个核,每个线程可以使用的寄存器最多为255个。

这里写图片描述

Active Threads:表示每个 SM 激活的线程数,设备限制最多可以激活2048个线程,由程序决定,理论上也可以激活2048个线程。

Active Blocks:表示每个 SM 激活的线程块数,设备限制可以激活的线程块数为32;由于程序内部设定的线程块大小为16*16=256(依据设定而不同),而理论可以激活的最大线程数为2048,所以理论上可以激活2048/256=8个线程块。

Active Warps:表示设备限制可以激活的 Warps 为64个。由于理论上可以激活2048个线程,所以理论上最多可以激活2048/32=64个 Warps。

  • 如果线程块的大小为1024,那么理论上最多可以激活2个线程块。
  • 如果线程块的大小为32,那么理论上最多可以激活32个线程块,达到峰值。
  • 如果线程块的大小小于32,那么理论上最多可以激活的线程块依然为32,此时可以激活的线程数将要受到限制。
  • 如果一个线程块的大小为10*10=100,那么依旧每个线程块依旧需要四个 Warp(128个线程),所以理论上可以激活的线程数为:2048*(100/128) = 1600,理论上可以激活的线程块数为16,理论上可以激活的 Warp 为64。

Threads/Block:每个线程块的线程数。设备限制,每个线程块的线程数最多为1024;由于程序设定,每个线程块的线程数为256,所以理论上每个线程块的线程数为256。

Warps/Block:每个线程块的 Warp 数。设备限制,每个线程块的线程数最多为1024,所以,就限制每个线程块的最多 Warp 数为32;由于程序设定,每个线程块的线程数为256,所以理论上每个线程块的 Warp 数为8个。

Warps 中的 Block Limit:Warp 数对线程块的限制。设备限制,一个线程块至少一个 Warp,应该可以激活2048/32=64个 Warp,但是由于设备限制每个 SM 最多只能激活32个线程块,所以,也就限制最多执行32个线程块;理论上,程序设定每个块256个线程,也就是说每个块8个 Warp,但是设备限定最多64个 Warp,所以也就限定了每个 SM 最多8个线程块。

Registers/Thread:每个线程可以使用的最大寄存器个数。设备限制,每个寄存器可以使用的寄存器数最多为255个。理论上,由于程序设定,只使用了18个。

Registers/Block:每个线程块可以使用的最大寄存器数。设备限制,每个线程块可以使用的最大寄存器数为65536;理论上,由于程序原因实际使用的寄存器个数为6144。6144并不等于每个线程使用的寄存器数18*256=4608。这是由寄存器的分配方式决定的。

每个线程使用18个寄存器,所以每个 Warp 使用了 18*32 = 576 个寄存器,而寄存器是按页分配的,每页256个寄存器。也就是每个 Warp 分配了3页寄存器,共768个。而一个线程块有256个线程,共8个 Warp,所以共使用了 768 * 8 = 6144 个寄存器。

Registers/SM:每个 SM 使用的寄存器数。因为每个 SM 总共有65536 个寄存器,所以设备限制每个 SM 最多使用65536个寄存器。理论上,由程序设定,每个块使用6144个寄存器,每个 SM 有8个块,所以每个 SM 使用 6144 * 8 = 49152 个寄存器。

Registers 中 Block Limit:由于设备限制,每个 SM 最多可激活32个线程块,所以此处设备限制线程块也为32;理论上,由程序决定,每个线程块使用了6144个寄存器,所以最多可执行 65536/6144 = 10 个线程块。

Shared Memory/Block:每块可以使用的共享内存数。由设备限制,每个线程块可以使用的共享内存数为48KB;理论上,由于程序中并未使用共享内存,因此每块使用的共享内存为0。

Shared Memory/Block:每个 SM 可以使用的共享内存数。由设备限制,每个 SM 可以使用的共享内存数为96KB;理论上,由于程序中并未使用共享内存,因此每个 SM 使用的共享内存为0。

Shared Memory 中 Block Limit:由于设备限制,每个 SM 最多可激活32个线程块,所以此处设备限制线程块也为32;理论上,由于程序中并未使用共享内存,所以对使用线程块的个数没有限制。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是整个互联网的夜晚模式。它会使您访问的所有网站变暗,以便您浏览时不会紧张 Dark Night Mode是一个免费的开源软件,它使您浏览的所有网站都进入Dark / night模式,这样您就可以浏览互联网而不会感到疲劳。 对于那些特别是在晚上使用互联网的人来说,这是一个非常有用的Chrome扩展程序。 当您浏览时,我们使用独特的算法将暗模式实时应用于所有网站。 它基本上可以检测网站每个元素的颜色,并智能地将其转换为较深的阴影。 明亮的颜色比黑暗的颜色更暗,因此可以保留大多数颜色。 与其他类似的扩展程序不同,我们不会反转颜色,因此黑色网站不会将其颜色更改为白色。 另一个好处是图像也不会失真! 我认为我们受到一星机器人评级的打击,因为我们是拥有这种智能算法的唯一扩展。 现在,此扩展名变得很流行之后,另一个超级著名的扩展名也复制了我们的这一功能。 我们还付出了巨大的努力来消除在加载不同网站时出现的白屏闪烁现象。 由于Chrome的局限性,这是一项艰巨的任务,但我们能够以99.9%的成功率消除此问题。 使用亮度滑块,可以将浏览器的亮度调节到计算机的亮度调节器所允许的范围之外。 这对于将亮度调低到您喜欢的亮度很有用。 例如,默认情况下,图像以正常颜色显示,但是您可以通过向下滑动亮度滑块来使其变暗。 还有一个自动模式,它将在晚上8:00 PM自动打开黑暗模式,并在早晨6:00 AM关闭。 开发自定义此时间的选项很复杂,但是我们正在努力,可能会在将来的版本中添加此选项。 如果您不希望暗模式在某些网站上运行,则还有白名单功能,该功能将非常有用。 由于此扩展程序将使您晚上访问的所有网站变暗,因此,由于您的日常工作发生了巨大的变化,您最初不会喜欢它。 但是,我们的内部研究表明,人们在使用大约三周后就开始习惯它。 一些人声称此扩展名可以帮助他们更好地睡眠,而另一些人则表示它可以帮助他们减少因在黑暗中大量浏览互联网而引起的灼热感。 这个插件不是100%完美的。 它永远不会是完美的,因为许多网站都是以非标准的方式开发的,并且没有简便的方法可以检测到网站并在几毫秒内实时完美地更改其颜色,从而使用户看不到鲜艳的色彩。 这是一把双刃剑-如果我们添加更多条件以使算法更智能,那么它将影响处理速度,并且用户将看到白光闪烁,因此我们必须做出一些选择才能获得最佳平衡。 如果您希望浏览器窗口也看起来类似于屏幕截图中显示的黑色,则还必须安装深色Chrome主题。 我们建议搜索“ Morpheon黑暗主题”并将其安装在Google chrome中。 我们-两名开发人员花了整整两个月的时间全力进行开发,以概念化,设计,编码,测试,校准和部署此扩展。 我们最初是作为一个副项目启动的,旨在在几天之内完成它,但是最终却花费了比预期多得多的时间! 我们希望你喜欢它。 支持语言:English

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值