标签: #gpu
关于 GPU、LLM、MLOps、Kubernetes 以及心态的文章 · 18 篇
三行配置文件让 4 张 GPU 死了一周 — containerd drop-in 合并的真相
节点不再广告 GPU。配置文件里 nvidia 运行时明明写得好好的,containerd config dump 里却没有。真凶是一周前加进去的三行 registry 配置,原因在于 containerd 的 imports 合并不是按字段合并,而是按插件整块替换。我把两次误诊的过程,以及最后给出答案的那个实验,原样记在这里。
2026-08-26 · 16 分钟阅读 #kubernetes#containerd#gpu#nvidia#troubleshootingGPU 编译器与框架全景图 — 接收计算图、产出核函数,同一个问题,每一层给出不同的答案
本文把 NVCC 与 PTX、LLVM、MLIR、Triton、torch.compile、XLA、IREE、TVM 全部放到同一张地图上。它们名字不同、所属组织也不同,但解决的是同一个问题:接收计算图,产出可执行的核函数。文章梳理了每一层切走了这个问题的哪一部分、层为什么会变得这么多,以及工程师在什么情况下需要下探到哪一层。内容基于 2026 年 8 月 2 日核实的版本与官方文档写成,未能核实之处也如实标出。
2026-08-02 · 32 分钟阅读 #gpu#compiler#mlir#triton#pytorch在本地跑 LLM 到底需要多少 VRAM — 别查表,用公式算
「8B 模型需要几 GB」这个问题的正确答案不是一张表,而是两个公式。权重是参数量乘以 bpw 除以 8;KV 缓存是 2 乘以层数乘以 KV 头数乘以 headdim 乘以字节数乘以 token 数。本文把这两个公式直接对照 llama.cpp 的源代码与官方表格来验证 — 从 ggml 块结构体推导出的 Q80 的 8.5 bpw,与 llama.cpp 发布的 8.5008 吻合到小数点后第三位;用同样的方式反推出的参数量为 8.
2026-07-17 · 34 分钟阅读 #llm#quantization#kv-cache#local-llm#gpuRay 2.56 的标签局部性调度 — 放置组开始看见 NVLink 机架,而不是节点
2026 年 6 月 29 日发布的 Ray 2.56.0,给放置组加上了一层 alpha 阶段的域级调度层。此前 PACK、STRICTPACK 这些放置策略全都只按节点粒度工作,于是在 GB200、GB300 NVL72 这类 NVLink 域横跨多个节点的机架上,根本没有办法表达「把这个放置组整个塞进同一个机架里」。新的标签局部性调度,把 ray.io/gpu-domain 标签值相同的一组节点视作一个域,并把整个放置组 STRI
2026-07-17 · 17 分钟阅读 #ray#gpu#scheduling#distributed-systemsTriton Gluon — 把编译器藏起来的布局,重新用手写出来的语言
Gluon 是搭建在 Triton 同一套编译器栈之上的底层 GPU 语言,它把 Triton 一直藏起来的布局、共享内存、warp 特化,原样交还给写内核的人。它存在的理由很明确 — 当 Triton 编译器生成的代码不够好时,过去你根本没有办法插手。本文会追踪 Gluon 到底暴露了什么、BlockedLayout 具体意味着什么,以及上游教程在 GB200 上记录的测量值(同一个 memcpy,仅凭一个布局,就能在 0.774 T
2026-07-16 · 28 分钟阅读 #gpu#triton#kernel#compiler#performanceRust 1.97 砍掉了 Volta 之前的 GPU — nvptx64 基线上调的内幕
Rust 1.97(2026 年 7 月 9 日)把 nvptx64-nvidia-cuda 目标的最低要求提升到了 PTX ISA 7.0(需要 CUDA 11 及以上驱动)和 SM 7.0(Volta 及以上)。Maxwell、Pascal 两代 GPU 以及 CUDA 10 及更早的驱动,如今都不再是支持目标。本文梳理了实际改变的数字、编译器团队引用的三个具体缺陷(调试符号、原子操作顺序、target-feature 机制)、谁会
2026-07-16 · 18 分钟阅读 #rust#cuda#gpu#compiler#nvidiaRTX 5090 单卡亲手跑几个小模型 — microGPT·OCR·音乐生成
用一张 RTX 5090(Blackwell,32GB),通过 SSH 连上去直接跑了三个小模型。从零开始用 28 秒训练出一个 char-level GPT(10.75M 参数,117 万 tokens/s),把专用 OCR(TrOCR)和小型 VLM(Qwen2-VL-2B)放到同一张图上用 CER 一决高下,再用 MusicGen 在 1.9 秒(实时的 4.2 倍)里生成一段 8 秒的音乐。连同过程中遇到的那些诚实的陷阱 — 没
2026-07-11 · 10 分钟阅读 #pytorch#gpu#llm#ocr#hands-onKubeVirt GPU 直通 VM 为何 112 天无法被调度 — 一次真实集群的尸检
一个用 Rust 写的 Operator 下达了"4 个 GPU 节点全部 NotReady"的诊断后,我在真实的 8 节点集群(GPU Operator v25.3.0、KubeVirt v1.7.0)里把这场死亡的病因追查到底。gpu-fedora 与 rhel9-gpu-vm 卡在 ErrorUnschedulable 长达 112 天,真正的原因不是花哨的 GPU 配置,而是 kubelet 的一行错误——"running wi
2026-07-11 · 7 分钟阅读 #kubevirt#gpu#kubernetes#nvidia#devops扩散 LLM 会写 CUDA 内核 — DICE,以及并行生成为何可能有效
DICE 是 2026 年 2 月的一篇预印本,它主张扩散(diffusion)大语言模型在 CUDA 内核生成上超越了同规模的自回归(autoregressive)模型,创下了新的最高性能(SOTA)。核心思路是:与其把 token 从左到右逐个写出,不如并行生成整个序列,并可以在任意位置非顺序地改写 — 这一性质似乎很适合全局结构至关重要的代码任务。作者用一个名为 CuKe 的 SFT 数据集和两阶段强化学习(BiC-RL)训练了
2026-07-11 · 10 分钟阅读 #ai#llm#diffusion#cuda#gpu用 Rust 编写 Kubernetes GPU Operator — 用 kube-rs 诊断真实集群
面对一个 8 节点的实际运行家庭实验室集群(k8s v1.32.5),我用 kube-rs 亲手用 Rust 写了一个 GPU Operator 并跑了起来。我定义了 GpuInventory 自定义资源,并把两个控制器(节点扫描→记录 CR 状态、节点监视→更新 ConfigMap)打包进一个二进制,从集群外部运行。然后是 Operator 真正吐出的结果 — 4 个 GPU 节点中 Ready 为 0 个,也就是整支 GPU 舰队都
2026-07-11 · 8 分钟阅读 #rust#kubernetes#operator#gpu#kube-rsGPU Operator × KubeVirt 完全整理 — 组件、配置、版本,从部分 MIG 到手动 MIG
把 Kubernetes GPU 基础设施的两大支柱整理在一页里。涵盖 GPU Operator 的 operand 构成、ClusterPolicy 配置与版本体系,同时讲解只对节点上部分 GPU 应用 MIG 的自定义配置,以及用 nvidia-smi 手动创建、删除 MIG 的方法。接着介绍在 Kubernetes 上运行虚拟机的 KubeVirt 的四大组件(virt-operator、controller、handler、la
2026-07-09 · 12 分钟阅读 #kubernetes#gpu#kubevirt#mig#nvidia多 GPU、多节点训练平台全面梳理 — 从框架生态地图到 Slurm、Kubeflow 实战指南
把用多张 GPU、多台节点训练模型的整体地形,梳理在一页之内。AI 库与框架生态地图(PyTorch、JAX、HuggingFace、DeepSpeed、Ray)、何时该选哪种并行化策略(DDP、FSDP、ZeRO、TP、PP)、torchrun 从单节点到多节点的扩展、HPC 标准 Slurm 的实战指南(sbatch 脚本与多节点 torchrun 的联动)、Kubernetes 阵营 Kubeflow 的实战指南(Training
2026-07-09 · 12 分钟阅读 #ai#ml#distributed-training#slurm#kubeflowNVIDIA GPU Operator 完全指南 — 从安装部署到 MIG 分区配置
在 Kubernetes 里手动搭建 GPU 节点的时代已经结束。本文梳理了 NVIDIA GPU Operator 如何用 Operator 模式把驱动、设备插件、监控这一整套栈全部管起来的原理,以及 Helm 安装与验证方法;还有把一张 A100/H100 切分成多个硬件隔离 GPU 来用的 MIG——它的概念、single/mixed 两种策略、基于节点标签的配置、自定义 Profile、以及运维注意事项,配合实际命令从头到尾讲清
2026-07-07 · 12 分钟阅读 #kubernetes#gpu#nvidia#mig#devops操作系统的现代理解 — io_uring、cgroups/namespaces、eBPF、NUMA、GPU UVM、EEVDF、Zero-Copy 完全指南(2025)
epoll 的接班人 iouring,造就了 Docker 的 cgroups + namespaces,把代码安全注入内核的 eBPF,NUMA 带来的隐藏成本,GPU 驱动与 UVM,2024 年进入 Linux 的 EEVDF 调度器,Zero-Copy + RDMA,以及 WSL2。把应用下面 OS 所做的一切,用现代视角一次梳理清楚。
2026-04-15 · 16 分钟阅读 #operating-systems#linux#io-uring#cgroups#namespacesAI 开发环境完全指南:从 GPU 服务器搭建到 Jupyter、VS Code、Docker
面向 AI 研究与开发的完整环境搭建指南。从 CUDA 驱动安装、虚拟环境管理、JupyterLab 高级用法、VS Code AI 扩展、Docker GPU 容器,到远程开发环境,逐步完成全套配置。
2026-03-17 · 25 分钟阅读 #development-environment#jupyter#vscode#docker#gpu计算机体系结构完全指南:从 ISA 到 GPU 并行架构
涵盖计算机体系结构方方面面的完全指南:从 ISA、数据通路、流水线、缓存、虚拟内存、RISC-V 到 GPU 并行架构,配有示例代码。
2026-03-17 · 32 分钟阅读 #computer-architecture#cpu#gpu#pipeline#cacheNVIDIA Triton Inference Server 生产指南:GPU 模型服务优化策略
基于 NVIDIA Triton Inference Server 的 GPU 模型服务优化指南。涵盖 Dynamic Batching、Model Ensemble、TensorRT 集成、多模型服务、Kubernetes 部署、性能画像分析与生产环境故障排查。
2026-03-08 · 38 分钟阅读 #ai-platform#triton#inference-server#gpu#model-servingFlashAttention:利用 GPU 内存层级的注意力优化分析
梳理 FlashAttention 论文,详细分析利用 GPU HBM/SRAM 内存层级的 IO-aware 注意力优化原理。
2026-03-01 · 24 分钟阅读 #ai-papers#flash-attention#gpu#optimization#transformer