我最近通读了 CUDA 内核生成的 PTX 代码。我意识到许多寄存器仅用于存储中间值,然后就不再使用,并且 NVCC 通常似乎不太关心寄存器的重用,而是选择在几乎任何新数据点都使用新寄存器被建造。
这就提出了一个问题,是否值得手动检查 PTX 代码并尝试最大限度地减少寄存器的使用,或者 PTX VM 在运行时是否会处理这些事情?
optimization cuda instruction-set ptx
cuda ×1
instruction-set ×1
optimization ×1
ptx ×1