31|案例解析:eBPF 揭秘 GPU,大模型训练与推理的性能诊断
倪鹏飞

你好,我是倪朋飞。
上一讲,我们把 eBPF 实践中常见的问题做了一次集中答疑。今天,我们换个角度,聊一个非常热门的话题:如何使用 eBPF 技术监控和诊断 GPU 性能问题,特别是在大模型(Large Language Model,简称 LLM)训练与推理场景中。
不知道你在使用 GPU 时有没有遇到过这样的困境:
H100 显示 80% 利用率,但训练速度比预期慢 40%
All-Reduce 操作偶发性超时,找不到根因
推理服务 P99 延迟突然飙升,nvidia-smi 看不出问题
这些问题的共同点是:传统的 GPU 监控工具只能告诉你发生了什么,却无法解释为什么发生。而 eBPF,正是打开这个黑盒的钥匙。
GPU 为什么是黑盒?
在深入 eBPF 解决方案之前,我们先来理解一下,为什么 GPU 可观测性如此困难。
传统工具的局限
如下表格所示,目前业界主流的 GPU 监控工具主要有以下几种:

让我用一个类比来说明这个问题。nvidia-smi 就像汽车仪表盘上的油量表和速度表,它能告诉你“油快没了”或者“车速 80 公里”,但它无法告诉你“为什么油耗这么高”或者“为什么提速这么慢”。而 Nsight 系列工具虽然能深入分析,但就像把车开进 4S 店做全面检测一样,你需要停下来,而且检测本身会显著影响性能。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结

1. eBPF技术可以解决传统GPU监控工具无法解释性能问题原因的局限性,打开GPU性能问题的黑匣子。 2. eBPF技术的核心优势在于零代码修改、低开销、可在生产环境持续运行,通过多层追踪策略可以覆盖完整的GPU软件栈。 3. eBPF技术支持对从GPU Hardware到PyTorch应用层代码的每一层进行观测,具体的跟踪方法和每一层可观测到信息都有相应的eBPF技术支持。 4. NVIDIA 驱动层的追踪,通过使用 kprobe 直接hook驱动函数,可以解决CUDA API追踪无法定位问题根源的情况。 5. 基于eBPF的Host-Side Telemetry方案可以通过相关性分析找出导致NCCL延迟的根因,在分布式训练中提高尾延迟问题的诊断准确率。 6. eBPF程序可以直接运行在GPU上,实现对GPU内部发生情况的实时观测,解决了传统工具开销大的问题。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《eBPF 核心技术与实战》,新⼈⾸单¥59
《eBPF 核心技术与实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论

