CUDA涉及的相关调度问题

  • 2 replies
  • 1420 views
CUDA涉及的相关调度问题
« 于: 一月 07, 2020, 02:34:24 pm »
关于调度(process--->context--->stream---->kernel、memcpy--->thread block--->warp--->thread--->硬件<SP、DP、SFU、Tensor core>)能不能写一个博客一样的东西,将其大概(考虑到NV官方文档有些东西没有详细介绍)的总结一下?
举个例子:
(1)开启或未开启MPS的情况下,多个process下如何调度kernel执行?
(2)多个context切换咋切换,多个Context 下的多CUDA stream?多个context下的kernel怎么执行(context严格串行、多个kernel串行并发、多kernel并行)?
(3)多CUDA stream和单CUDA stream下的kernel执行情况(CUDA stream严格串行、多个kernel串行并发、多kernel并行)
(4)kernel的thread block怎么分配到不同的SM上(thread engine中的Round-Robin?)?长尾效应对thread block分配的影响?
(5)warp调度算法?(warp的多种状态切换)
(6)warp执行时,SIMD是个啥?
(7)不同的算数指令怎么对应不同的运算单元<SP、DP、SFU、Tensor core>,不同运算单元有哪些需要注意的地方?

Re: CUDA涉及的相关调度问题
« 回复 #1 于: 九月 22, 2021, 07:34:43 pm »
https://zhuanlan.zhihu.com/p/266633373
这个可能回答您的问题

*

sisiy

  • *****
  • 242
    • 查看个人资料
Re: CUDA涉及的相关调度问题
« 回复 #2 于: 九月 23, 2021, 04:34:57 pm »
 
问题1:看MPS的手册和NV官方的CUDA手册,
问题2:看MPS手册和NV的官方手册(特别是driver api手册) 。
问题3:看NV官方手册。
问题4:看历代GTC和其他的分析文章。
问题5:看NV的CUDA手册,和profiler手册。
问题6:看NV的CUDA手册和PTX手册,
问题7: 看历代具体卡上的profiler的各种指标,和相应文档,

 


建议你买本CUDA编程的书籍:https://item.jd.com/13024122.html?cu=true&utm_source=c.duomai.com&utm_medium=tuiguang&utm_campaign=t_16282_176304306&utm_term=3c7011d14b494bb8963c7f72b643336c

这本是目前我们推荐CUDA学习用书,作者是比较靠谱的
« 最后编辑时间: 九月 23, 2021, 04:38:11 pm 作者 sisiy »