逆向破解NVIDIA的cuda-checkpoint加速冷启动
Reverse-engineering Nvidia's CUDA-checkpoint for faster cold starts

NVIDIA闭源驱动里藏着一个鲜为人知的功能,能冻结运行中的CUDA进程,将其GPU状态序列化到主机内存,稍后又能完美恢复。我们之前利用这个名为cuda-checkpoint的工具,让SGLang服务器的启动速度提升了70倍。但一直有个痛点:检查点传输速度远未跑满PCIe带宽。这次我们不再绕道而行,而是深入逆向工程,利用工具链剖析其内部机制。我们发现,整个检查点工作其实是由目标进程内部一个名为cuda00001400006的服务线程在闭源驱动中完成的,而检查点数据就静静地躺在进程的匿名内存里。通过直接修改这块内存,我们甚至能在恢复前篡改GPU状态,彻底揭开了这个黑盒的神秘面纱。
在两次命令之间,该进程不占用任何GPU内存,没有CUDA上下文,在nvidia-smi中也完全消失,但只存在于设备上的计数器却依然幸存。