Awesome
how-to-learn-deep-learning-framework
我也维护了一个cuda学习仓库 https://github.com/BBuf/how-to-learn-deep-learning-framework 以及一个如何学习深度学习编译器(TVM/MLIR/LLVM)的学习仓库 https://github.com/BBuf/tvm_mlir_learn , 有需要的小伙伴可以点一点star
PyTorch
- 万字综述,核心开发者全面解读PyTorch内部机制
- 一文读懂 PyTorch 显存管理机制
- 一文搞懂 PyTorch 内部机制
- PyTorch的hook及其在Grad-CAM中的应用
- ML System 领域分享第一季
- ML System 领域分享第二季
- PyTorch中的contiguous
- 一文理解 PyTorch 中的 SyncBatchNorm
- 一文读懂 Pytorch 中的 Tensor View 机制
- 一文学会 Pytorch 中的 einsum
- PyTorch 源码解读之 torch.autograd:梯度计算详解
- PyTorch 源码解读之 BN & SyncBN:BN 与 多卡同步 BN 详解
- PyTorch 源码解读之 torch.utils.data:解析数据处理全流程
- PyTorch 源码解读之 nn.Module:核心网络模块接口详解
- PyTorch 源码解读之 DP & DDP:模型并行和分布式训练解析
- PyTorch 源码解读之 torch.optim:优化算法接口详解
- PyTorch 源码解读之 torch.cuda.amp: 自动混合精度详解
- PyTorch 源码解读之 cpp_extension:揭秘 C++/CUDA 算子实现和调用全流程
- TorchScript 解读(一):初识 TorchScript
- TorchScript 解读(二):Torch jit tracer 实现解析
- TorchScript 解读(三):jit 中的 subgraph rewriter
- TorchScript 解读(四):Torch jit 中的别名分析
- [可能99%人犯的PyTorch错误] set_seed 会破坏随机性,官方 worker_init_fn 无法解决
- TorchDynamo 初探:Python ByteCode 的动态修改
- PyTorch 2.0 Dynamo 字节码详解!自顶向下,由浅入深
- PyTorch显存分配原理——以BERT为例
- PyTorch在CPU上的一些Performance BKM
- PyTorch CPU性能优化(一):Memory Format 和 Channels Last 的性能优化
- PyTorch CPU性能优化(二):并行化优化
- PyTorch CPU性能优化(三):向量化
- PyTorch CPU性能优化(四):BFloat16
- GNN 在CPU上的性能优化
- PyTorch 工程实践(一):使用Valgrind解决内存double free的问题
- PyTorch显存机制分析
- pytorch 提速指南(持续更新)
- PyTorch 2.0 编译基础设施解读——计算图捕获(Graph Capture)
- pytorch算子的cuda实现——expand,where,softmax
- csrc autograd的一些基础类解析
- PyTorch Dynamo 初探2:torch fx 调研和实践
- 一文搞懂 AOTAutograd 原理
- 谁动了我的显存?——深度学习训练过程显存占用分析及优化
- pytorch2.0目前值得更新吗?
- Python字节码反编译器与PyTorch联动,PyTorch 2.0从此不难理解
- 一文打通PyTorch与JAX
- PyTorch CUDA backend
- 一文读懂PyTorch反向传播计算图及AOTAutograd
- 如何评价pytorch 2.0?
- PyTorch 2.0 之 Dynamo: eager 模式的救星,加速背后的真相
- PyTorch显存可视化与Snapshot数据分析
OneFlow
- 成城 OneFlow —— 让每一位算法工程师都有能力训练 GPT
- 大缺弦 Oneflow 基于重计算的动态图显存优化实践
- 许啸宇 访问者模式(Visitor Pattern)及其实现
- 黄卓彬 在 Oneflow 中开发 Gather Primitive
- 黄卓彬 在 Oneflow 中开发算子的基本流程
- 李响 OneFlow 的 Global Tensor 学习笔记和实习总结
- 李响 OneFlow如何做静态图的算子对齐任务
- 李响 OneFlow 的大模型分片保存和加载
- 周泽楷 OneFlow: 初始化环境
- 周泽楷 OneFlow: Python 端构图
- 周泽楷 OneFlow: 从 Op 到 Job
- 周泽楷 OneFlow: 启动 Session
- 周泽楷 OneFlow: 从 Job 到 Plan
- 周泽楷 OneFlow: 启动 Runtime
- 周泽楷 OneFlow: 计算数据的来源
- 成城 OneFlow是如何做到世界最快深度学习框架的
- 成城 仅此一文让您掌握OneFlow框架的系统设计(上篇)
- 成城 仅此一文让您掌握OneFlow框架的系统设计(中篇)
- 成城 仅此一文让您掌握OneFlow框架的系统设计(下篇)
- 郭冉 如何实现一个高效的Softmax CUDA kernel?——OneFlow 性能优化分享
- 赵露阳 一个Job在OneFlow中的执行过程—上篇
- 赵露阳 一个Job在OneFlow中的执行过程—中篇
- 赵露阳 一个Job在OneFlow中的执行过程—下篇
- 赵露阳 亚线性内存优化—activation checkpointing在oneflow中的实现
- 梁德澎 Oneflow 框架添加算子实践 ---- expand 和 repeat
- 郑泽康 在OneFlow实现Unfold Fold算子
- 郑泽康 在OneFlow实现数据类型自动提升
- 赵露阳 OneFlow中的dataloader原理及实现(对齐pytorch)
- OneFlow中的错误处理:Maybe
- 郑泽康 如何实现比PyTorch快6倍的Permute/Transpose算子?
- 柳俊丞 如何设置CUDA Kernel中的grid_size和block_size?
- 郭冉 CUDA优化之LayerNorm性能优化实践
- 高效、易用、可拓展我全都要:OneFlow CUDA Elementwise 模板库的设计优化思路
- BBuf 深度学习框架如何优雅的做算子对齐任务?
- BBuf 一个Tensor在深度学习框架中的执行过程简单梳理
- 月踏 从Python到C++调用过程分析|OneFlow学习笔记
- 月踏 Global View的概念和实现|OneFlow学习笔记
- 月踏 OneFlow学习笔记:从Functor到OpExprInterpreter
- 月踏 OneFlow学习笔记:从OpExprInterpreter到OpKernel
- 月踏 Autograd解析|OneFlow学习笔记
- 郑泽康 CUDA优化之PReLU性能调优
- 赵露阳【oneflow】算子在深度学习框架中的执行及interpreter
- 许啸宇 一种分布式深度学习编程新范式:Global Tensor
- 郑建华 OneFlow源码解析(1):算子签名的自动推断
- 郑建华 OneFlow源码解析:Op、Kernel与解释器
- 郑建华 OneFlow源码解析:算子指令在虚拟机中的执行
- 一块GPU训练TB级推荐模型不是梦,OneEmbedding性能一骑绝尘
- 郑建华 OneFlow源码解析:Tensor类型体系与Local Tensor
- 郑建华 OneFlow源码解析:Global Tensor
- 郑建华 OneFlow源码解析:自动微分机制
- 刘耀辉 适配PyTorch FX,OneFlow让量化感知训练更简单
- 郑建华 OneFlow源码解析:Eager模式下的设备管理与并发执行
- 郑建华 OneFlow源码解析:Eager模式下Tensor的存储管理
- OneFlow —— OneEmbedding PersistentTable 源码阅读
- OneFlow —— OneEmbedding FullCache源码阅读
- OneFlow —— OneEmbedding LruCache实现解析