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 的地方。
夜雨聆风
