CodeMidas:从源代码构造 Coding Agent 的 RL 训练环境
CodeMidas 是小米 LLM Core 等团队提出的一套 Coding Agent 训练数据构造管线。它从开源仓库中找到已经实现的功能,生成需求说明,再移除对应实现,让 agent 在这个仓库里把功能补回来。原实现被保留下来,用于生成测试和验证环境。经过清理和筛选后,每个任务都能在容器中运行,并通过隐藏测试给出训练奖励。
这类任务通常可以从 issue、PR 或 commit 中提取:开发记录告诉我们要修什么,对应修改提供参考答案。CodeMidas 则直接从源代码提取功能,不要求仓库已经有相关 issue、测试或文字说明。这样一来,可用的任务来源就扩展到了仓库中已经存在、但未必有完整开发记录的功能。
论文最后构造了 5,545 个任务,来自 3,185 个开源仓库,覆盖 2...
从一行 print 看 torch.compile 的 Graph Break
前置阅读:torch.compile 里 Inductor 是怎么把编译结果包进 CUDA Graph。这篇往前看一步:Inductor 收到的图,是 Dynamo 怎么捕获出来的。
给一个函数加上 torch.compile 后,代码能正常跑完,很容易以为整个函数已经交给编译器了。可以先看这段代码:
import torch
def f(x):
y = x.sin()
print("intermediate shape:", y.shape)
return y.cos() + 1
compiled = torch.compile(f)
compiled(torch.randn(8, 16))
中间只插了一行打印。默认配置下,Dynamo 通常...
顺着 FlashAttention 看 SM120 的实现
前置阅读:FlashAttention · Blackwell TMEM 与 tcgen05 MMA 深度解析
这次看 flash_fwd_sm120.py,注意到它没有自己实现 mainloop,而是继承了 FlashAttentionForwardSm80,然后在构造函数里写了一句 self.arch = Arch.sm_80。[1]
目标卡明明是 SM120,这个变量为什么要写成 80?先去父类查它的使用位置。
torch.compile 里 Inductor 是怎么把编译结果包进 CUDA Graph
1. Inductor 后端注册与调用链
1.1 注册点
torch/_dynamo/backends/inductor.py — 只有 32 行,是字符串 "inductor" 的绑定入口:
from torch._dynamo import register_backend
@register_backend # 把 "inductor" 注册到 _COMPILER_FNS 字典
def inductor(*args, **kwargs):
from torch._inductor.compile_fx import compile_fx # 懒加载
return compile_fx(*args, **kwargs)
1.2 查找机制
torc...
Blackwell TMEM 与 tcgen05 MMA 深度解析
Blackwell 数据中心 GPU(B200、GB200,SM100/SM103)围绕第五代 Tensor Core 引入了一块专用片上存储——TMEM(Tensor Memory)。本文整理 TMEM 的设计动机、tcgen05.mma 指令族的工作方式,以及从 Ampere 到 Blackwell 的 MMA 架构演进。
SSH 提示 Connection closed by remote host
排查一个 SSH 问题,现象看起来像服务端有问题,实际上是本机代理软件的 TUN 模式把 SSH 流量接管了
现象
ssh -vvv -i ~/Downloads/ssh-key-2026-05-17.key ubuntu@<公网ip>
关键报错:
kex_exchange_identification: Connection closed by remote host
Connection closed by <公网ip> port 22
连接在 SSH 握手早期就被关掉了,还没走到公钥认证阶段。
排除常见原因
私钥和端口
chmod 600 ~/Downloads/ssh-key-2026-05-17.key
ssh-keygen -lf...
《财富捷径》读书笔记
核心投资理念
1. 拥抱指数基金,放弃主动选股
唯一推荐的股市产品:大盘指数基金(如标普 500、纳斯达克 100)
个股风险极高:美国 6000 家上市公司每年有 180 家被摘牌(3%),40 年超半数公司破产
主动基金不堪一击:超过 90% 的主动基金在 30 年内关门,只有不到 3% 能超过最简单的指数基金
指数基金自动实现优胜劣汰:成分股公司衰落会被自动替换,从无大盘指数基金破产的先例
2. 基金定投:有钱就买,需钱即卖
核心策略:固定时间频率买入基金,完全忽视当下价格
优势:无脑简单、降低风险(平均成本法)、强制储蓄积累财富
把基金账户等同于存款账户
只在需要用钱时才卖出,不做择时
3. 长线投资,拒绝频繁交易
散户...
NVL72 架构解析:72 GPU 全互连拓扑
NVL72 是 NVIDIA GB200 系列中一个 72 GPU 的单机级 NVLink 交换网络。它不是简单的 72 张卡互联,而是一个精心设计的 全互连 (full crossbar) + 单级交换 (single switch stage) 拓扑。
硬件构成
整个系统由两个主要部分组成:
计算节点层
18 个计算托盘 (compute tray),每个托盘包含 4 个 Blackwell GPU,总计:
18 × 4 = 72 个 GPU
交换层
9 个 NVLink 交换托盘 (switch tray),每个托盘包含 2 个 NVSwitch 芯片,总计:
9 × 2 = 18 个 NVSwitch 芯片
连接拓扑
每个 GPU 的出线...
共计 191 篇文章,24 页。