导读
开始读源码之前,先把两件事讲清楚:
- 怎么读这一卷:为什么是这三个版本;0.22 把后端从
Tensor的类型参数挪到Device的值里(#4717),旧写法报什么错;算子、求导、训练三条主线每一步落在哪个函数、哪一页讲;默认 feature 不含任何后端,却会顺带打开fusion和autotune;feature 最终在burn-dispatch的构建脚本里变成backend_enabled、cube_backend、executing_backend三个 cfg;阅读路线。 - 源码地图:burn 工作区 38 个 crate 和 cubecl、cubek 按层分组(用户 API、分派、后端接口、装饰器、实现),每层的入口文件和行数;
burn-dispatch是依赖图的腰;只开flex和开metal各拉进多少个包。
flowchart TB read[怎么读这一卷] --> ver[锁定版本] read --> redesign["0.22 的大改"] read --> lines[三条主线] read --> cfg["feature 与 cfg"] map[源码地图] --> layers[按层分组] map --> entry[各层入口] map --> deps["依赖树大小"]
💬 关联讨论
发起讨论加载中...