You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CUDA全局内存事务最大尺寸存疑:NCU分析结果与文档不符

问题解答

核心原因:架构迭代+概念混淆

你遇到的差异来自两个关键点:

  1. 新GPU架构支持更大的全局内存事务

你看到的“设备可通过对齐的32字节、64字节或128字节事务访问全局内存”是针对Kepler、Maxwell等老一代架构的描述。从Turing架构开始,NVIDIA GPU就支持最大512字节的全局内存事务,Ampere及后续架构已全面支持这一特性。你的测试环境应该是新架构GPU,因此能生成512字节的内存请求。

  1. NCU中的Req是合并后的warp级请求
    你的代码中,每个线程访问1个float4(16字节)。一个warp包含32个线程,当这些线程的内存访问满足对齐且连续的条件时,硬件会自动将它们的独立请求合并为一个warp级请求,总大小为 32 × 16 = 512 字节,刚好对应16个32字节的内存扇区(16 × 32 = 512),这就是NCU显示Sectors / Req = 16的原因。

澄清你的两个假设

  • 假设1错误:不是每个request对应4个事务,而是单个warp级请求本身就是新架构下的大尺寸事务(512字节),对应老架构4个128字节事务的总大小。
  • 假设2部分正确:老文档的描述确实不适用于新架构,新架构下使用连续对齐的float4访问时,合并后的warp级请求可以达到512字节。

内容的提问来源于stack exchange,提问作者Lifu Huang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 05:52:32