1. 26 10月, 2021 1 次提交
    • L
      [cherry-pick-2.2] Fused attention op forward (#35905) (#36708) · d2be870a
      Li Min 提交于
      功能:本PR的目标是提高attention模块的计算性能。
      为了减少框架层对op的调度开销,本PR通过在C++层手动实现attention模块,对外提供attention 大op;
      为了减少防存开销,本PR采取了两种优化方法:
      (1)在q,k,v计算时通过共享输入X,将该处的gemm,transpose和bias add从三次调用减少为一次;
      (2)使用kernel融合优化技术,在不同cuda kernel之间通过寄存器传输数据;
      d2be870a
  2. 25 10月, 2021 1 次提交
    • L
      Add fused_dropout wrapper to ease use. (#36185) (#36640) · 05d7e2fd
      Li Min 提交于
      In fused_attention op and fused_ffn op, the fused bias_add+dropout+residual+layernorm kernel or bias_add+dropout+residual kernel is used. To ease the use of this kernel, we provide a wrapper in this PR.
      1.To reuse the increment computing code, we exact the corresponding code to "GetSeedDataAndIncrement" routine in dropout_impl_util.h.
      2.The fused_dropout_helper.h provides the fused dropout kernel wrapper.
      
      Note: the test of this warper will be provided in the following fused_attention_op and fused_ffn PRs.
      05d7e2fd