乐于分享
好东西不私藏

PTX9.1文档第二章稍显模糊

PTX9.1文档第二章稍显模糊

这篇不是文档第二章的逐字解析,只先列几个已经开始变得模糊的地方:
  • 2.1 节依然是个谦卑的外设形象,说那些重复且大量的计算可以 offload 上来,可能不好直接说自己是单线程更弱访存延迟更大的吞吐机器。(功耗限制和物理规律摆在那,大家都是各种 tradeoff,很难“既要又要”)
  • 2.2 节说”Cooperative thread arrays (CTAs) implement CUDA thread blocks”,其实也很难让人分清 CTA, block 这些词哪些偏硬件概念,哪些偏软件概念,啥时候可以互相替用,啥时候不行。
  • 紧接着又说”clusters implement CUDA thread block clusters”,但因为是个虚拟机不好谈 GPC,这个 cluster 的出现其实就容易让人冒出问号。
  • 2.2.1 的末尾也跟 CUDA 文档以及最初 UIUC 的 CUDA 课程材料一样,声明 warp size 是个可变值,CUDA 里保留了 warpSize 关键字,PTX 用了 WARP_SZ immediate constant 来方便查和用这个值,虽然都还是 32,但是自己在 C/C++ 代码里 define 了 WARP_SZ 会在 PTX 层变成啥暂时也未可知。
  • cluster 其实让本来更短第二章增加了不少文字,但并未提及 distributed shared memory,估计难以让人在第二章就知道这是个啥和为啥又多分了一层。。。
  • 2.3 的 memory hierarchy 像个烟雾弹,让人觉得存储子系统很简单,其实恰恰相反。。。
  • 整个第二章没有特别突出线程有”身份标识”(tid etc.)和允许”交头接耳”(sync, shared memory etc.) 这些在编程模型上有别于传统 SIMD 的地方。
总体而言,这个第二章建议战略性放弃精读,新版的 CUDA Programming Guide 应该更适合让人对 programming model 有更具体地认识 https://docs.nvidia.com/cuda/cuda-programming-guide/01-introduction/programming-model.html。
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » PTX9.1文档第二章稍显模糊

评论 抢沙发

8 + 6 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮