1. 23 6月, 2022 1 次提交
    • S
      [external reviewing] Params to int8 pass (#42625) · b8b2d6a9
      Sylwester Fraczek 提交于
      * sylwek
      
      prototype params to int8 pass
      
      * trying to make warmup work
      
      * wip
      
      * wip
      
      * change test to cpp test
      
      * review fixes, refactoring
      
      * more refactoring
      
      * add erasevars
      
      * change test to fixture
      
      * rename pass
      
      and reorder erasevars and graphsaferemovenodes
      
      * fix
      
      * more refactoring and fixed bug
      
      * formatting
      
      * remove scale count
      
      * enfroce message too short
      
      * remove erasevars
      
      erasevars couldbe cauuse of memory issues
      
      some other fixes
      
      * add count of successfull fuses to name of new nodes
      
      * FindVar -> GetVar and use ConvResidual pattern
      
      * use tensor->clear() instead of new variable
      
      * Update paddle/fluid/framework/ir/mkldnn/params_quantization_mkldnn_pass_tester.cc
      Co-authored-by: NTomasz Socha <tomasz.socha@intel.com>
      
      * Update paddle/fluid/framework/ir/mkldnn/params_quantization_mkldnn_pass_tester.cc
      Co-authored-by: NTomasz Socha <tomasz.socha@intel.com>
      
      * Update paddle/fluid/inference/tests/api/analyzer_lexical_analysis_gru_tester.cc
      Co-authored-by: NTomasz Socha <tomasz.socha@intel.com>
      
      * add log (review fix)c
      
      * review fix (2 functions to one)
      
      * code review: Conv->QuantizeConv
      
      * revert
      
      * fix formatting
      
      * remove unused functions
      
      * add paddle enforce
      Co-authored-by: NTomasz Socha <tomasz.socha@intel.com>
      b8b2d6a9
  2. 20 6月, 2022 1 次提交
  3. 13 6月, 2022 1 次提交
  4. 09 6月, 2022 1 次提交
  5. 04 6月, 2022 1 次提交
  6. 02 6月, 2022 1 次提交
  7. 19 5月, 2022 1 次提交
  8. 17 5月, 2022 1 次提交
  9. 13 5月, 2022 1 次提交
  10. 12 5月, 2022 1 次提交
  11. 11 5月, 2022 1 次提交
    • Z
      Move weights and biases scale computing into pass (#42241) · c0652972
      Zuza Gawrysiak 提交于
      * Add int8 scales gathering pass for convolution
      
      * Fix typo
      
      * Add unittest
      
      * Add corrected unit test
      
      * Change test name
      
      * Remove enabling mkldnn in test
      
      * Speed up test
      
      * Change max examples
      
      * Add functional test
      
      * Change test name
      
      * Add new test case
      
      * Rename pass
      c0652972
  12. 10 5月, 2022 1 次提交
    • P
      Rea-dd conv_affine_channel fuse pass as oneDNN only pass (#41998) · 3540d33b
      piotrekobi 提交于
      * Readd conv_affine_channel fuse pass as mkldnn pass
      
      * Fix formatting
      
      * Add new test to parallel_UT_rule.py
      
      * Fix Coverage and Windows CI issues
      
      * Revert "Fix Coverage and Windows CI issues"
      
      This reverts commit f33459846385c9fd51c07f9f44e7ff283a652637.
      
      * Fix CI errors
      
      * Remove unnecessary conv_eltwise_add_affine_channel fuse pass
      
      * Remove test from parallel_UT_rule.py
      3540d33b
  13. 06 5月, 2022 1 次提交
  14. 27 4月, 2022 1 次提交
  15. 14 4月, 2022 3 次提交
    • S
      FC+elementwise_add (residual connection) (#41776) · 92d8d0bc
      Sławomir Siwek 提交于
      * Change tensor name to match activation
      
      * declare fc_eltwise_add pass
      
      * merge conv_eltwise refactor PR
      
      * first compilable draft
      
      * unittest feedback tools
      
      * Fuse pass tester
      
      * Move IsReachable() to shared file
      
      * 100% coverage of fuse_pass_tester.cc
      
      * register pass
      
      * Add bias node
      
      * Improve unit tests / remove bias node from pattern
      
      * improve fc_eltwiseadd_unittest
      
      * cancel eltwise_add fuse if act is already fused
      
      * Add elementwise_input scale
      
      * Residual MVP
      
      * Add new FC attrs
      
      * Add more test cases
      
      * Add missing op attrs
      
      * Adapt code to new Elementwise pattern
      
      * reuse existing fcpattern
      
      * improve code style
      
      * remove unused arguments
      
      * fix typo
      
      * remove whitespace
      
      * remove int8 related code
      
      * Remove attributes from base ops
      
      * style
      
      * style check
      
      * Remove input from base op
      
      * Set attribute during fuse
      
      * ut timeout
      
      * download and test model
      
      * DRY
      
      * apply feedback from review
      
      * Style check
      
      * fix typo
      
      * cosmetic changes
      
      * explicitly set residual as output
      
      * VIT-OCR accuracy check
      
      * trigger CI
      
      * remove whitespaces
      
      * fix missing data file
      92d8d0bc
    • B
      add mkldnn int8 pass [step3] (#41599) · 8e2d4d30
      baoachun 提交于
      * add mkldnn int8 pass [step3]
      
      * Add test for compute_propagate_scales_mkldnn_pass
      
      * update pass
      
      * update api comment and python api
      Co-authored-by: Nwozna <joanna.wozna@intel.com>
      8e2d4d30
    • J
      Added shuffle_channel BF16/FP32 FWD oneDNN kernel (#39756) · c7623d72
      jakpiase 提交于
      * added shuffle_channel bf16/fp32 fwd kernel
      
      * added missing files
      
      * CI fix
      
      * changed from pten to phi
      
      * tmp save
      
      * added reviewers suggestions
      
      * fix for test
      c7623d72
  16. 10 4月, 2022 2 次提交
  17. 06 4月, 2022 1 次提交
  18. 02 4月, 2022 1 次提交
  19. 17 3月, 2022 1 次提交
  20. 14 3月, 2022 1 次提交
    • T
      Add an elementwise + activation fusion pass. (#36541) · 3f219160
      Tomasz Socha 提交于
      * Add elementwise add and activation fuse pass
      
      * Fix copy ellision
      
      * More flexible pattern detector
      
      * More flexible fusion pass
      
      * Update lists for pass
      
      * Add support for Pow operator
      
      * Add support for more activation types
      
      * Style
      
      * Rename fusion pass
      
      * First version of tests
      
      * Dirty version of pass
      
      * Polished version
      
      * Update pbtxt
      
      * Style
      
      * Update names
      
      * Style
      
      * Use PADDLE_ENFORCE_EQ
      
      * Save error message to variable
      
      * WO for error checks
      
      * CR
      
      * Static style check
      
      * Add missing 'activation_scale' attribute
      
      * Add relu6 and sigmoid activations
      
      * Style
      
      * Fix fuse list formating
      
      * Sync filenames for fuse pass files
      
      * Fix cmake after move
      
      * Fix registration
      
      * Fix pass name in tests
      
      * Add missing activations to checker
      
      * WIPS
      
      * Working mul op
      
      * Working sub
      
      * Working Add
      
      * Remove pten includes
      
      * Remove some forward declarations
      
      * Remove Includes
      
      * Fixes
      
      * Remove default kernels
      
      * Add check if post_ops attributes are avaliable
      
      * Style
      
      * Code adjustment
      
      * Register default kernels
      
      * We have year 2022 not 2021...
      Co-authored-by: Njakpiase <jakpia21@gmail.com>
      Co-authored-by: NSylwester Fraczek <sylwester.fraczek@intel.com>
      
      * Fast review fixes
      Co-authored-by: Njakpiase <jakpia21@gmail.com>
      Co-authored-by: NSylwester Fraczek <sylwester.fraczek@intel.com>
      
      * Review Fix
      
      * Rename one_dnn -> onednn
      
      * Style after review
      
      * Fast and dirty fix for quantization
      
      * Update tests
      
      * Style
      
      * Fix mkldnn_quantizer config
      
      * Add Joanna's suggestion.
      
      * Check if operator is explicitly disables on OneDNN
      
      * Try to use unregistered attributes
      
      * Style
      
      * Test new framework
      
      * FXI
      
      * FXII
      
      * Update test
      
      * Style
      Co-authored-by: Njakpiase <jakpia21@gmail.com>
      Co-authored-by: NSylwester Fraczek <sylwester.fraczek@intel.com>
      3f219160
  21. 07 3月, 2022 1 次提交
    • M
      cuBlasLt Epilogue To Fuse Linear + ReLU|GeLU (#39437) · 2a3d9eca
      Ming-Xu Huang 提交于
      * Added cuBlasLtHandle_t to device context.
      
      * Added fused_gemm_epilogue op.
      
      1. Added fused_gemm_epilogue op to leverage cuBlastLt Epilogue.
      2. Support fusion Act(X*Y + bias), X'dims >=2 and Y'dims shoule be 2.
      2. Act currently only be supported ReLU. (Will add GeLU in the future).
      
      * Added UT to fused_gemm_epilogue op.
      
      * Added LinearAct Pattern
      
      1. Added LinearAct into graph_pattern_detector.* to define (2.)'s
      pattern.
      2. LinearAct is used to detect act(element_add(matmul_v2(x, w), bias)).
      3. act currently only support ReLU (Will support GeLU in the future).
      
      * Added FuseGemmEpiloguePass
      
      1, Added FuseGemmEpiloguePass to handle nn.Linear + Act{ReLU}
      fusion (GeLU will be supported in the future).
      2. Only support matmul_v2 from nn.Linear.
      
      * Added pybind to BuildStrageter.fuse_gemm_epilogue_.
      
      * Added UT for fuse_gemm_epilogue_pass.
      
      * GeLU support and EpilogueSingleton
      
      1. Added GeLU support to fused_gemm_epilogue op.
      2. Added EpilogueSingleton to cache auxiliary pointer.
      3. Added related UTs.
      
      * Rename cublaslt_epilogue_opto gemm_epilogue_op.*.
      
      * Added both train and infer pattern to LinearAct.
      
      1. Added support of fwd graph with grap_ops linking to LinearAct.
      2. Added related changes to fuse_gemm_epilogue_pass for above
      modification.
      
      * Changed CUDA requirement from 11.4 to 11.6 for fuse_gemm_epilogue_pass.
      
      * Added identity activation support to gemm_epilogue_op.
      
      * Added Linear Fusion (matmul_v2 + ele_add)
      
      1. Added matmul_v2 + ele_add pattern to LinearActPattern.
      2. Added matmul_v2 + ele_add support to fuse_gemm_epilogue_pass.
      
      * Rename gemm_epilogue_op.* to fused_gemm_epilogue_op.*
      
      * Add fused_gemm_epilogue_grad op.
      
      1. Added fused_gemm_epilogue_grad to support backward epilogue fusion.
      
      * Add UTs to fused_gemm_epilogue_grad_op.
      
      * Change attribute name in fused_gemm_epilogue_grad_op for clearing.
      
      * Allow DX and DBias be dispensable to fused_gemm_epilogue_grad op.
      
      * Added ElementwiseAdd+Matmul+Act graph pattern detection.
      
      * Fuse backward of Linear( Act(x))
      
      1. Added backward fusion pass to Linear( Act(x)).
      2. Added backward fusion pass to Linear(x).
      
      * Added UTs to backward fusion of Linear(Act(x)).
      
      * Complete document of arguments to fused_gemm_epilogue_op.
      
      * Made arguments of some functions pass by reference.
      
      * Modify code with review comments.
      
      1. Made arguments of some function pass by reference.
      2. Removed redundant code.
      3. Followed Google code style to change code.
      
      * Made 'const' code style be consistent
      
      * Fixed random seed of python UTs.
      
      * Set Compiling constrains to cuBlasLt
      
      1. Require CUDA 11.6+
      2. Remove fuse_gemm_epilogue related tests when CUDA < 11.6.
      
      * Code Reivew from Paddle
      
      1. Changed arguments name is_first_gemm to without_x_gradient for
      clearing.
      2. Applied PADDLE_THROW in fused_gemm_epilogue_op.
      
      * Remove EpilogueSingleton
      
      1. Applied ReserveSpace to replace Epilogue for passing auxiliary
      pointers between FWD and BWD.
      
      * Fix a logical error and enhance UTs.
      
      1. Added act op count checking in UTs.
      2. Fix issue to fuse backward or ReLU(Linear(X)).
      3. TODO: solve GELU fusion issues.
      
      * Fix Linear and GeLU fusion issues.
      
      1. Modified graph_detech_pattern to fit with both linear wiht gelu or
      relu.
      2. Modified data range in Uts to allow negative values.
      
      * Removed fused_gemm_epilogue_op.h.
      
      * Rename namespace pten to phi.
      
      * Rename name of arguments in fused_gemm_epilogue_op
      
      1. bias -> Bias.
      2. out -> Out.
      3. reserve_space -> ReserveSpace.
      
      * Change EpiloguePassActivationCache as local variable.
      
      1. Removed singleton in EpiloguePassActivationCache.
      2. Made EpiloguePassActivationCache as an argument to each pass
      functions.
      2a3d9eca
  22. 01 3月, 2022 1 次提交
  23. 22 2月, 2022 1 次提交
  24. 15 2月, 2022 1 次提交
    • W
      [Paddle-Inference] support preln_ernie: add... · 2bc91cc5
      Wangzheee 提交于
      [Paddle-Inference] support preln_ernie: add preln_embedding_eltwise_layernorm_fuse_pass, preln_skip_layernorm_fuse_pass (#39508)
      
      * support preln_ernie
      
      * support preln_ernie
      2bc91cc5
  25. 09 2月, 2022 1 次提交
  26. 26 1月, 2022 1 次提交
  27. 20 12月, 2021 1 次提交
    • H
      add matmul_scale_fuse_pass (#37962) · ce335c23
      heliqi 提交于
      * add matmul_scale matmul_v2_scale fuse pass
      
      * add scaletensor judge
      
      * modify var name
      
      * add timeout notest;test=coverag
      
      * fix error commit
      
      * fix use_mkldnn attr
      
      * fix use_mkldnn attr
      ce335c23
  28. 16 12月, 2021 1 次提交
    • Y
      Add tests for PaddleInference Pass (#37676) · 96597a85
      yeliang2258 提交于
      * add test for conv_elementwise_add2_act_fuse_pass and conv_elementwise_add_act_fuse_pass
      
      * Add conv_eltwiseadd_bn_fuse_pass test and fix test_conv_elementwise_addX_act_fuse_pass
      
      * add tests for conv_act_mkldnn_fuse_pass
      
      * add test for conv_bias_mkldnn_fuse_pass
      
      * update code
      
      * add conv_act_mkldnn_fuse_pass for relu, relu6, swish, leaky_relu
      
      * update test
      
      * update
      
      * update bug
      
      * update
      
      * update pattern_detector
      
      * fix test_conv_eltwiseadd_bn_fuse_pass
      
      * add diff display notest;test=windows_ci_inference
      
      * fix
      
      * remove test_conv_act_mkldnn_fuse_pass.py
      
      * ifix
      96597a85
  29. 14 12月, 2021 2 次提交
  30. 10 12月, 2021 1 次提交
  31. 06 12月, 2021 1 次提交
  32. 11 11月, 2021 2 次提交
  33. 21 10月, 2021 1 次提交
    • J
      Added matmul_v2+transpose+reshape fuse pass (#36481) · 856cb9c5
      jakpiase 提交于
      * added base changes for matmul_v2+trans+resh fuse pass
      
      * added full matmul_v2+transpose+reshape pass
      
      * removed a file added by mistake
      
      * added reviewers suggestions
      
      * Changed ops type in checking capatibility version
      
      * Deteled one statement
      856cb9c5
  34. 20 10月, 2021 1 次提交
    • H
      Add CINN Compile Option (#36292) · 6524fa8d
      Huihuang Zheng 提交于
      Add CINN compile option in CMake.
      
      Now you can use CINN in Paddle by `-DWITH_CINN=ON` when `cmake`
      
      To test it, you can run `make cinn_lib_test -j` and `ctest -R cinn_lib_test`. 
      
      Note:
      1. You should set
      ```
      export runtime_include_dir=${CINN_SOURCE_DIR}/cinn/runtime/cuda 
      ```
      When run test, the `${CINN_SOURCE_DIR}` should be set based on your CINN directory.
      
      2. CINN is under developing now, you may have to change `CINN_GIT_TAG` to the git commit you need.
      6524fa8d
  35. 15 10月, 2021 1 次提交
    • J
      Add BuildCinnPass (#36345) · b3f02c57
      jiangcheng 提交于
      * Add CinnSubgraphSearchPass
      
      * solve CI problem of subgraph order not same
      
      * fix some bug by review advices
      
      * ensure the independently of subgraph, that mean the subgraph should not have link to out-graph
      
      * rename cinn_subgraph_search_pass to build_cinn_pass and delete paddle_to_cinn_pass
      
      * add flag to control wheter append build cinn pass
      
      * remove AppendPass at ParallelExecutorPassBuilder
      
      * rename paddle_to_cinn_pass to build_cinn_pass in build_strategy and close test_run_from_cinn
      b3f02c57