跳转至

文档索引

快速开始

文档 内容
快速开始 编译安装 DTorch,并验证扩散模型(SD3 / FLUX)的分布式推理
构建指南 构建与开发环境配置
测试指南 Python 单元测试、C++ 单元测试 (gtest)、应用测试(Flux/SD3)

用户指南

文档 内容
User Guide 上手 DTorch:先理解 DTensor 核心概念,再学习用 Python API 编写分布式程序
Distributed Tensor Overview DTensor 的 DeviceMesh 与 Placements 概念入门
Python API 使用指南 Tensor 创建、算子调用、DTensor 原生支持、Placements 推导、Redistribute、单卡模拟分布式、异步取值
Module 并行 Linear 的 tp_dim / tp_shard_type、ColumnParallelLinear / RowParallelLinear 子类、DP/TP/CP/PP 在 Module 层的使用方式
Llama 并行示例 以 Llama 模型为例,展示 DP + TP + PP + CP 的完整实现(层到 stage 划分、RoPE 与 CP、并行策略测试)
扩散模型推理应用 目录结构、DTorch API 适配修改、ExecuteConfig、分布式、Cache、量化、算子融合

架构与设计

文档 内容
项目概述 分层架构与目录结构总览
关键概念 三大核心设计理念详解(Single-Client Single-Controller Multi-Worker、DTensor、Eager Graph Architecture)
设计决策 关键设计决策:为何选择 DTensor + Single-Controller、调度开销的解决、LibTorch 后端等
Single-Controller 架构 Single-Client Single-Controller Multi-Worker 架构详解,与 Multi-Controller 对比
Distributed Tensor DTensor 的 DeviceMesh 与 Placements 机制,含完整代码示例

Eager Graph 架构

文档 内容
架构总览 四层架构(计算图表示 → Kernel 运行时 → GraphExecutor → 集合通讯组件)
Layer 1 · 计算图表示 Operand / Operator / LogicalGraph
Layer 2 · Kernel 运行时 Blob / Kernel / KernelStream / OperatorAssignInfo
Layer 3 · GraphExecutor 单机多线程(GraphConstructor → EagerGraphExecutor → PerDeviceThreadNodeRunner → NaiveRunner)
Layer 3 · 集群模式 单机多进程(RemoteRunnerPublisher, RemoteRunnerInProcess, PerDeviceProcessNodeRunner, SubProcess)
Layer 4 · 集合通讯组件 ThreadGroup / TensorStore(Memory/File/Network 三种后端)
异步获取 Tensor 值 GetTensorOp 与 Promise/Future 机制:to_torch_async() / TensorFuture
Python Kernel 在 C++ Kernel 中调用 Python 代码(GIL 管理、CUDA Stream 保护、类型转换)
序列化 Operator 序列化与反序列化:Boost.Serialization 体系、OperatorSerializationPack、跨进程传输
进程心跳 gRPC 双向心跳、MainProcessHeartBeat / WorkerProcessHeartBeat、进程故障检测与优雅关闭
ZMQ 通信机制 PUB-SUB + PUSH-PULL 双通道、消息协议与顺序保证
Stream Race Condition CUDA Stream 同步机制与跨 Stream 的竞态问题

Operator 算子体系

文档 内容
算子体系总览 Operator 算子体系总览
Operator 基类与派生类 基类结构与派生类体系(standard / fused_compile / system)
模板方法模式 算法骨架与所有可重写虚函数详解
PlacementSignature 分布式 Placements 映射规则(Builder API、典型实现模式、匹配流程)
算子映射表 Python↔C++ API↔C++ 核心算子三层映射表
新增算子开发指南 注释→核心算子→Kernel→API→测试五步流程
OperatorCost 算子代价估算 FLOPs / 带宽估算,roofline 分析的基础数据

调试与优化

文档 内容
输出不一致排查 从粗到细定位 DTorch 与 PyTorch 模型输出不一致的根因
精度对齐 DTorch 与 PyTorch 输出不一致的已知场景与规避方法
性能优化 CUDA Kernel Launch 等性能问题的分析与优化