Xiaoyu Xu
Xiaoyu Xu
T5 + DP 4 - AddTaskIntoPlan 总时间从 1021ms 减少到 (51ms+ 337ms),减少了 62% - InferMemBlockId4MemReusedRegst 中的 GenRegstAllocFreeTimeLineAndRegstMutualExclusions 从 113 milliseconds 降低到 41 milliseconds【这部分增加了并行,降低了一半】 - 内存共享算法部分,已经是分设备并行计算的
- [x] Remove singleton of MultiClientContext - [x] C NN Graph 作为 JobBuildAndInferCtx 的成员 - [x] Merge LazyJobBuildAndInferCtx into JobBuildAndInferCtx 之前是 - Job Scope 下有一个 JobBuildAndInferCtx - C NN Graph...
- Time count to get graph compile time. - TimeCounter util 打印的日志样式: ``` Graph name: GraphBase_0 LogOptimizedJob time elapsed: 0 milliseconds Graph name: GraphBase_0 NewTaskGraph time elapsed: 20 milliseconds Graph...
PR:https://github.com/Oneflow-Inc/oneflow/pull/7557 这个issue的方案已经确定,辛苦用这个分支试验一下(我这里已经验证通过)。 验证点: 1、zero的可以执行,就是issue的内容; @CPFLAME 2、libai的混合并行,性能正常(这个改动涉及一个基础的sbp推理限制,想验证这个改动对性能没有负面影响); @L1aoXingyu 验证通过,就合并这个PR;
- [x] 并行启动线程组 - [x] 每个线程读大 plan(并行读,安全),写各自的小 plan(写线程局部变量,安全) - [x] 小 plan 只包括特定 rank 需要的信息 - [x] 并行发送
- 拆分 exec graph 的创建、register 的 blob desc 的推导 - 对于 user op,使用 logical blob desc + sbp 来推导 physical blob desc - 并行推导 user op 的 register blob desc,该部分开销占大头...
wkv 和 缩减 graph 编译时间的合并分支。
## Summary ``` RuntimeError: Check failed: (nd_sbp.has_value()) == (this->has_nd_sbp_symbol_id()) (0 vs 1) File "/home/xuxiaoyu/dev/oneflow/oneflow/core/functional/impl/global_cast.cpp", line 526, in operator() MetaInfoConsistencyCheck(parallel_desc, sbp_parallels, grad_sbp_parallels, 1, check_meta) File "/home/xuxiaoyu/dev/oneflow/oneflow/core/framework/consistency_check.cpp", line 253, in MetaInfoConsistencyCheck MetaInfoConsistencyCheck(placement,...