gpt4 book ai didi

cuda - L2 事务如何映射到 GPU 中的 DRAM?

转载 作者:行者123 更新时间:2023-12-01 11:16:23 26 4
gpt4 key购买 nike

在 GPU 中,到 L2 缓存的事务大小可以是 32B、64B 或 128B(读和写)。此类交易的总数可以使用 gst_transactions 和 gld_transactions 等 nvprof 指标来衡量。但是,我找不到任何详细说明这些事务如何映射到 DRAM 访问的 Material ,即通常具有不同总线宽度的 DRAM 如何处理这些事务?例如,TitanXp GPU 具有 384 位全局内存总线,而 P100 具有 3072 位内存总线。那么32B、64B或128B指令是如何映射到这些内存总线上的。我如何测量 DRAM Controller 生成的事务数?

PS:dram_read_transactions 指标似乎没有这样做。我这么说是因为我在 TitanXp 和 P100(甚至在顺序访问期间)上得到了相同的 dram_read_transactions 值,尽管两者的总线宽度差异很大。

最佳答案

尽管 GPU DRAM 在不同的 GPU 类型中可能具有不同的(硬件)总线宽度,但总线总是由一组分区组成,每个分区的有效宽度为 32 字节。从分析器的角度来看,DRAM 事务实际上由这些 32 字节事务之一组成,而不是全“总线宽度”的事务。

因此,到 L2 的(单个)32 字节事务,如果在 L2 中未命中,将转换为单个 32 字节 DRAM 事务。更高粒度的事务,例如 64 字节或 128 字节,将转换为所需数量的 32 字节 DRAM 事务。这可以使用任何 CUDA 分析器发现。

这些相关问题herehere可能也很有趣。

请注意,上面使用的 32 字节的“有效宽度”并不一定意味着事务需要 32 字节 * 8 位/字节 = 256 位宽的接口(interface)。 DRAM 总线可以是“双泵”或“四泵”,这意味着事务可能由接口(interface)的每条“线”传输的多个位组成。因此,您会发现 GPU 只有 128 位宽(甚至 64 位宽)的 GPU DRAM 接口(interface),但这些总线上的“事务”仍将包含 32 字节,这将需要传输多个位(可能在多个 DRAM 总线时钟周期中)每条接口(interface)的“线路”。

关于cuda - L2 事务如何映射到 GPU 中的 DRAM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50485529/

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