VideoCard 板


LINE

※ 引述《jk21234 ( 1569 11 /47)》之铭言: : ※ 引述《mself (mself)》之铭言: : : 就我了解,SM 跟 block 有对应,但好像不是 1 对 1, : : 数个 block 会一起在一个 SM 上轮流执行, : 所以,SM和Block在"某个时段内,独占的1:1执行" : 如果你觉得不容易理解,它还蛮接近一颗cpu执行多工的方式. : 切换也应该是context switch.有同样的缺点就是切换再怎麽频繁, : 对几百MHZ的晶片来说,都是巨大的效能损失..... : (如果我没记错,cuda文件有描述context switch部分...) : 所以也不用担心你在程式中使用不到16KB的shared memory. 来闲扯一下他背後的运作,就 GT200 系列来说 每个 SM 在 resource 允许的情况下,最多能同时保持 1,024 个 computing threads 且每次 SM 最多只允许抓取 8 个 blocks,且不能超过 resource limitation 每个 block 内会有许多许多 computing threads,在实际执行时,会动态切出 warps 每个 full warp 会有 32 个 computing threads,而 warp 是 SM 每次实际执行的单位 由於每个 SM 只有 8 个 SP(先不提 SFU),故需要以连续 4 个 cycles 来做 被排程(这个排程很接近RR,详见 US Patent US2007/0214343A1)到之 warp 的 一道指令(通通都做同一道,可以把 warp 视为一个 SIMD group)。当这道指令做完 dispatch unit 会排下一个 warp 来执行(不一定是同一个),可以视为 fine-grain multithreading。(ATi 的作法比较接近 coarse-grain) 根据用 OpenCL 测试的结果,每个 SM 上,大概要同时保持 512 个 threads 才能达到最好的效能。而在 GPU 中,context switch 的 overhead 比起 OS 低很多~~ 因为 GPU 中利用非常庞大的 Register file 来 keep 所有 in-flight data,所以对 GPU 来说,context switch 只是切换一下用的 register set 就没事了~~~ 回到正题,shared memory 如果需求的量超过,是没办法被执行的,只能等到在 SM 中 的工作都做完,resource release 了才行~~~ : : 视 register 用量,以及 thread 数上限而定 : : 假设现在是 8 个 block 在 1 个 SM 上轮流执行 : : 是不是每个 block 只能有 2 KB shared memory 呢? : : 还是说每个 block 都能用满 16 KB,但不是正在执行的 block : : 的 shared memory (context) 会 switch 到 global memory : : 要执行时在 switch 回来呢? -- --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.161.118.189
1F:推 jk21234:Block/SM内切换thread很快,不过我说的是比较上层的东西 06/03 01:37
2F:→ jk21234:也就是同一个SM去切换不同的Block,这个应当没那麽快... 06/03 01:37
3F:→ HsiaoCC:就我对它的了解,只要在resource允许情况下,看起来没差… 06/03 01:39
4F:→ HsiaoCC:但是,block内之threads需要能sync,碰到需要sync的比较伤 06/03 01:40
5F:推 jk21234:它文件有暗示,就是说同一张显卡跑两个GPGPU程式比较不好. 06/03 01:42
6F:→ jk21234:除了sync问题之外,SM切换执行不同的blocyk可能没那麽快 06/03 01:43
7F:→ HsiaoCC:跑不同kernel,似乎是scheduling的问题,但是我没实际试过 06/03 01:45
8F:→ HsiaoCC:Fermi whitepaper 上有提到多个 kernel 时排程的改进~~ 06/03 01:45
9F:推 jk21234:fermi的sync应该是大有改进,否则也无法对应OO化的程式需求 06/03 01:48
10F:→ jk21234:以前的硬体不适合multiprogram,也可能是sync的问题 06/03 01:49
11F:→ HsiaoCC:拿之前跑的数据算了一下,切block效能影响是有,但有限~~ 06/03 01:50
12F:→ HsiaoCC:只要让每个block保持>=64 threads,切换 block 对效能的 06/03 01:50
13F:→ jk21234:不过切出多个block通常都是资源量摆不进,如果还塞的下就没 06/03 01:50
14F:→ HsiaoCC:影响,大概只有10ns不到… 06/03 01:50
15F:→ jk21234:必要去分出更多的block,效率上应该会差很多 06/03 01:51
16F:→ HsiaoCC:切block,我用OpenCL在GTX285上测,感觉效率影响不明显:~~ 06/03 01:57
17F:→ HsiaoCC:反而是要怎麽找到上百个threads在同一个SM上run比较麻烦 06/03 01:58
18F:→ HsiaoCC:不过如果block切太少,反而造成有SM idle这样不更惨?:~~ 06/03 02:00
19F:推 jk21234:还没有显卡有100个SM以上.所以没差... 06/03 02:10







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP