【问题标题】:How Grid Management Unit works in CUDA?网格管理单元如何在 CUDA 中工作?
【发布时间】:2015-04-15 22:30:13
【问题描述】:

我正在尝试对设备 C.C 3.5 及更高版本上的 Hyper-Q 属性进行一些实验。我发现了一些与此属性中涉及的硬件相关的信息。涉及的单元之一是网格管理单元。根据该文档http://www.nvidia.com/content/PDF/kepler/NVIDIA-kepler-GK110-Architecture-Whitepaper.pdf,该单元能够调度和暂停电网。但我的问题是,网格管理部门制定的选择执行网格的政策是什么?

谢谢。

【问题讨论】:

    标签: cuda


    【解决方案1】:

    网格是与内核启动相关的所有线程块。一般会选择一个网格来执行

    1. 按接收顺序(即按内核启动顺序)
    2. 当执行所需的设备资源可用时,
    3. 遵守流语义

    今天暂停网格可能会在有限的情况下发生:

    1. debugging - 启用单 GPU 调试
    2. CUDA Dynamic Parallelism

    据我所知,CDP中电网暂停的细节尚未公布,但在这种情况下,电网管理部门的目标是

    1. 暂停内核以释放资源供子内核执行(见上文)
    2. 这样通过执行(和清除)子内核启动,父内核就可以再次开始向前推进。

    最后的必要性是因为与其他通常相互独立的并发内核启动不同,在父内核和子内核之间有一个implicit or explicit synchronization requirement

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-23
      相关资源
      最近更新 更多