gpt4 book ai didi

cuda - 在 NVIDIA GPU 中,warp 如何跨内核进行分区?

转载 作者:行者123 更新时间:2023-12-02 00:35:13 25 4
gpt4 key购买 nike

有很多关于 CUDA 线程和 block 如何映射到 GPU 硬件的帖子,但我找不到这个问题的明确答案。跨核心划分扭曲的规则是什么(如果有)?

我知道包含一定数量核心的多处理器每个都会接收一个或多个线程 block 来处理。这些 block 被划分为warp(每个32个线程),然后部署到不同的核心,但是warp映射到核心的规则是什么?每个核心总是有一个扭曲,还是其他原因?一个核心可以处理多个扭曲吗?扭曲的分数?

最佳答案

CUDA 核心是整数/ float 学管道,因此术语“核心”所暗示的分区是具有欺骗性的。每个 SM 有 1-4 个 warp 调度器。每个warp调度器都有固定数量的调度单元。每个调度单元可以调度到特定的管道,包括CUDA核心(int/fp)、 double 单元、加载存储单元、分支单元、特殊功能单元和纹理单元。管道可以具有不同的宽度,这可以由管道吞吐量来确定。 warp 中的所有线程都发送到同一管道。该指令可以在多个周期内发出。

GPU 管道相当深。特定管道的给定阶段只能有一个扭曲;然而,管道中可能有多个扭曲处于事件状态。例如,warp 1 可能处于 ALU.execute 阶段,warp 2 可能处于 ALU.write_back 阶段。

关于cuda - 在 NVIDIA GPU 中,warp 如何跨内核进行分区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24247318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com