Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NNFusion v0.3 (JAN~FEB) Release Plan #194

Open
27 of 50 tasks
AlisaChen98 opened this issue Dec 29, 2020 · 3 comments
Open
27 of 50 tasks

NNFusion v0.3 (JAN~FEB) Release Plan #194

AlisaChen98 opened this issue Dec 29, 2020 · 3 comments
Assignees

Comments

@AlisaChen98
Copy link
Contributor

AlisaChen98 commented Dec 29, 2020

This is the draft plan for the upcoming iteration in Jan ~ Feb, it's a 6 week's iteration.

Release Plan for V0.3


Annotation Legend:

Mark Description
🏃‍♂️ work in progress
👪 work under review
blocked task

Feature

Mechanism

Refactor/Improvement

  • P0 - Bert Related Optimization | 14~18days|@xiayuqing0622 | Testing @yuanjie
    • LayerNorm fusion | 2~3 days
    • Embedding layer fusion| 2~3 days
    • Skip layer norm fusion| 2~3 days
    • Attention fusion| 2~3 days
    • Gelu fusion| 2~3 days
    • Matmul add fusion| 2~3 days

Bug Fix

  • model debug
  • check grad number & Unsortedsegmentsum op: @yuanjie

Deferred

  • offline inference | @wenxcs

    • bert hugging face | 5 days
      • autotunning for new hardware
      • support apex
    • nnstream: streaming offline inference interface| 10 days
    • 🏃‍♂️ general sub-graph substitution | @Niupple
    • matching and substituting algorithms | 4 days
    • python rule editing interface | 2 days
  • support HLSL end-to-end python interface | @mzmssg
  • support low-precision & mixed-precision | @Niupple

    • train model with pure half precision | 3 days
    • fp32 master copy of weights | 3 days
    • manual/auto loss scaling factor | 3 days
  • Control-flow support |@xysmlx

    • control-flow op define: loop, if|@xysmlx
    • onnx frontend for control-flow ops|@xysmlx
    • codegen graph pass whose input is a graph and output is a function|@xysmlx
    • codegen for control-flow ops |@xysmlx
    • refactor codegen & other graph passes |@xysmlx @xiayuqing0622
  • sub-graph substitution | @wenxcs @Niupple sub-graph substitution  #127

  • Test strategy | @wenxcs

  • support pip install |10 days | @mzmssg

    • refine python code structure
    • pip install python sources
    • pip install nnfusion cli

Stretch Goals

  • docker image support low version of cuda driver | @wenxcs
  • Control-flow support |@xysmlx
    • python integration
  • new profiler: support different profiling information, e.g., time, kernel time provided by nvprof | @xysmlx
    • Base profiler | 5 days
    • Update existing profilers | 1 day
    • CUDA profiler: kernel time, num of __syncthreads(), num of active thread blocks, shared memory, grid/block size | 2 days
    • Kernel profiling pass | 1-2 days
  • Profiling cache DB | @xysmlx
    • DB schema and interfaces
    • Integrate with profiler
  • BlockFusion | @xysmlx
  • Generate identifier to identify unique op configs | @xysmlx
@nnfbot
Copy link

nnfbot commented Dec 29, 2020

Thanks for the report @AlisaChen98! I will look into it ASAP! (I'm a bot).

@AlisaChen98
Copy link
Contributor Author

Our main target of this release:

  1. Custom op support
  2. Offline inference(Take Bert as a typical example)
  3. Other fix and enhancements

@wenxcs
Copy link
Member

wenxcs commented May 25, 2021

NNFusion v0.3版本发布

特性更新

  • 支持在真实数据集上端到端的BERT模型训练(ONNX格式)
  • 增加一系列针对Transformer模型的算子融合优化
  • 提供扩展自定义算子的C++和JSON接口
  • 支持新的HLSL代码生成

其他更新

  • 更新相关文件
  • 修复bug

@xiayuqing0622 xiayuqing0622 unpinned this issue Jun 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants