What happens when you run a CUDA kernel?25 days agohttps://fergusfinn.com/blog/what-happens-when-you-run-a-gpu-kernel/CUDA程序由nvcc编译为主机代码和设备代码,其中设备代码从PTX转换为SASS。主机代码使用存根打包内核参数,并通过CUDA运行时和驱动触发GPU,涉及ioctl调用和门铃寄存器。GPU通过工作分配器将块分配给SM来执行内核,使用编译器编码的控制位调度线程束以管理依赖和停顿。内存访问被合并,利用缓存和DRAM,对于算术强度低的内核,性能通常受内存带宽限制。完成信号通过信号量传递,允许异步执行并将数据传回主机进行输出。
Reverse-engineering Nvidia's CUDA-checkpoint for faster cold starts15 days agohttps://blog.doubleword.ai/what-happens-when-you-checkpoint-a-cuda-process英伟达的cuda-checkpoint工具允许冻结CUDA进程,并将GPU状态序列化到主机内存中,之后可精确恢复至原有状态。检查点涉及将GPU状态传输到主机端的匿名缓冲区,在恢复前可直接操作此缓冲区(例如修改GPU计数器)。检查点操作由目标进程内的服务线程执行,通过管道通信,并使用普通的驱动程序ioctl而非专用的检查点系统调用。检查点与恢复的速度受暂存缓冲区的分配和释放限制,检查点复制速度约为3 GiB/s,恢复速度约为8 GiB/s,远低于PCIe带宽上限。可通过使用透明大页(THP)降低缓冲区清零开销,或拦截mmap调用重用预清零缓冲区来提升性能,最高可实现4倍加速。
AMD calls CUDA a 'non-event'4 hours agohttps://www.pcgamer.com/hardware/amd-calls-cuda-a-non-event-says-companies-are-p...英伟达在AI硬件领域的主导地位很大程度上归功于其CUDA软件平台,但AMD声称CUDA对许多公司已变得无关紧要。AMD高管表示,客户现在在更高的抽象层次上编程,完全绕开了CUDA,而AI智能体正在帮助优化平台,无需依赖CUDA。如果CUDA的护城河被侵蚀,像AMD的ROCm这样更便宜的替代品可能会吸引AI公司远离英伟达硬件,威胁英伟达的市场领先地位。然而,怀疑依然存在,因为英伟达成熟的生态系统和经过验证的基础设施可能仍受青睐,尤其是在高风险的AI数据中心领域。