1. 17 4月, 2020 1 次提交
  2. 11 4月, 2020 1 次提交
    • M
      [DNNL][INT8][FP32] MatMul (#23395) · a63bcf9a
      Michał Gallus 提交于
      * Initial FP32 DNNL MatMul Implementation
      
      * Implement int8 DNNL MatMul
      
      * Unify in-kernel-naming, clean UTs
      
      * MatmuL: Introduce op caching
      
      * Final adjustments
      
      test=develop
      
      * Remove dy_graph disablement
      
      test=develop
      
      * Change dnnl header name to new one
      
      test=develop
      
      * Contrain multi head check to prevent fails
      
      test=develop
      
      * Resolve dnnl header problems on MAC CI
      
      * Variable namings to kernel and skip_grad_ci added
      
      test=develop
      
      * Prevent MAC CI from failing
      
      * Prevent windows build from failing
      
      test=develop
      
      * Modify UTs to conform to the rules
      
      * Modify MatMul aux functions namings
      
      test=develop
      a63bcf9a
  3. 04 4月, 2020 1 次提交
    • C
      Delete Ref & VectorRef and add GetDataSafely (#22997) · 16315d3d
      Chen Weihang 提交于
      * delete invalid check inferface Ref & VectorRef, test=develop
      
      * fix vector ref delete error, test=develop
      
      * try the new check inferface, test=develop
      
      * change all related code with new check macro, test=develop
      
      * remove static assert, test=develop
      
      * polish detail, test=develop
      
      * skip coverage problem, test=develop
      
      * add new check macro, test=develop
      16315d3d
  4. 11 3月, 2020 1 次提交
  5. 09 3月, 2020 1 次提交
  6. 25 12月, 2019 1 次提交
  7. 31 10月, 2019 1 次提交
    • H
      GradMaker for dygraph (#19706) · 8c4573a3
      hong 提交于
      * refactor dygraph,test=develop
      
      * fix failed unittest,test=develop
      
      * polish code,test=develop
      
      * check windows ci error,test=develop
      try to fix windows ci error by np.allclose,test=develop
      
      * polish vlog and profiler, test=develop
      
      * try to fix preceding ops order,test=develop
      
      * test transformer in windows ci, test=develop
      
      * use python c-api to speed up tracer.trace,test=develop
      
      * test=develop, fix docker with paddle nccl problem
      
      * test=develop, add ut for debug string and gradient_accumulator
      
      * test=develop, add tests for layer/gradient_accumulator/prepared_op
      
      * test=develop, fix complie error for test_prepared_op
      
      * test=develop, add more ut for dygraph
      
      * test=develop, create API.spec for dygraph api change
      
      * optimize grad maker; test=develop
      
      * optimize grad maker
      
      * test
      
      * grad make optim; test=develop
      
      * fix unittest bugs; test=develop
      
      * add dygraph grad op maker and split_op
      
      * grad op maker refactor; test=develop
      
      * add dygraph grad maker; test=develop
      
      * fix op deformable_conv_v1_op bug; test=develop
      
      * fix deformable_conv prroi pool bugs;
      
      * fix new op grad op maker bug; test=develop
      
      * fix split by ref bug; test=develop
      
      * fix dygraph auto prune bug; test=develop
      
      * fix test_trace bug; test=develop
      
      * fix fused emb seq pool bug; test=develop
      
      * remove useless code in op_desc file; test=develop
      
      * remove useless code, StrVarBaseNode; test=develop
      
      * fix review issues; test=develop
      
      * fix rank_loss grad maker; test=develop
      
      * remove flag in VarBase; test=develop
      
      * fix distributed_notify_op compile bug ; test=develop
      
      * fix reshape op double grad; test=develop
      
      * fix expand as op; test=develop
      
      * add impertive type_defs.h for demo_train; test=develop
      
      * fix inference lib cmake; test=develop
      
      * fix inference lib; test=develop
      
      * fix infernce_lib; test=develop
      
      * fix inference cmake; test=develop
      
      * fix inference lib; test=develop
      
      * fix inference lib; test=develop
      
      * remove condition dygraph grad maker, modify local name; test=develop
      
      * fix split grad maker bug; test=develop
      
      * fix pyramid_op bug; test=develop
      
      * change travis time out limit; test=develop
      
      * restore travis; test=develop
      
      * change timeout limit; test=develop
      8c4573a3
  8. 23 10月, 2019 1 次提交
  9. 15 10月, 2019 1 次提交
  10. 25 9月, 2019 1 次提交
    • B
      add support of matmul with multiple head even different width and height (#19708) · c670058a
      Bob Zhu 提交于
      * add support of matmul with multiple head even different width and height
      
      Original matmul with multiple head supports only the mat_a.width == mat_b.height,
      in that case, mat_b will be horizontally split. In this patch, we extend the
      support when mat_a.width != mat_b.height but mat_a.width/head_number == mat_b.height,
      in this case, mab_b will be vertically split.
      
      One example is A is [3, 8], B is [2, 16], head_number is 4. In this
      case, A will be split as [3, 2], B will be (vertically) split as
      [2, 4]. The final result will be 4 matrix of 4 matrix of [3,4], i.e. [3, 16]
      
      test=develop
      
      * add support of matmul with multiple head even different width and height
      
      Original matmul with multiple head supports only the mat_a.width == mat_b.height,
      in that case, mat_b will be horizontally split. In this patch, we extend the
      support when mat_a.width != mat_b.height but mat_a.width/head_number == mat_b.height,
      in this case, mab_b will be vertically split.
      
      One example is A is [3, 8], B is [2, 16], head_number is 4. In this
      case, A will be split as [3, 2], B will be (vertically) split as
      [2, 4]. The final result will be 4 matrix of 4 matrix of [3,4], i.e. [3, 16]
      
      test=develop
      
      * refactor the code of matmul with multiple head even different width and height
      
      test=develop
      c670058a
  11. 24 7月, 2019 1 次提交
    • B
      Extend Matmul to support matrix multiplication with multiple heads (#18570) · 220eef60
      Bob Zhu 提交于
      * extend matmul op to support multiple head multiplication
      
      With the support of multiple head, the multiplication of two big matrixes is
      split into multiplication of several (head_number) small matrixes. e.g. if
      Mat A is [3, 24] and Mat B is [24, 4], when multiple A and B with head_number
      as 4, Mat A will be split as 4 matrix of [3, 6] and Mat B will be 4 matrix of
      [6, 4]. The result of final matrix will be 4 matrix of [3, 4], i.e. [3, 16].
      220eef60
  12. 21 3月, 2019 1 次提交
  13. 18 9月, 2018 1 次提交
  14. 17 9月, 2018 1 次提交
  15. 10 5月, 2018 1 次提交
  16. 08 5月, 2018 2 次提交
  17. 07 5月, 2018 1 次提交
  18. 19 4月, 2018 1 次提交
  19. 17 4月, 2018 1 次提交
  20. 12 4月, 2018 1 次提交
  21. 12 2月, 2018 1 次提交
  22. 10 2月, 2018 2 次提交
  23. 21 1月, 2018 1 次提交
  24. 19 1月, 2018 1 次提交
  25. 18 1月, 2018 3 次提交
  26. 20 12月, 2017 1 次提交
  27. 12 12月, 2017 1 次提交
    • Q
      Refine device context (#6433) · 61ec0b95
      QI JUN 提交于
      There are mainly following fixes:
      
      - take `DeviceContext` as the template parameter of math functors and OpKernel instead of `Place`
      - remove `eigen_device` interface in base class  `DeviceContext`
      - remove `GetEigenDevice` interface in `ExecutionContext` and base class `DeviceContext`
      - remove unused `platform::EigenDeviceConverter`
      - rename `REGISTER_OP_GPU_KERNEL` to `REGISTER_OP_CUDA_KERNEL`
      - rename `USE_GPU_ONLY_OP` to `USE_CUDA_ONLY_OP`
      61ec0b95
  28. 05 11月, 2017 1 次提交
  29. 18 10月, 2017 1 次提交
    • M
      MatMul operator (#4856) · 16489827
      Markus Kliegl 提交于
      * initial matmul operator
      
      Similar to np.matmul, but also has transpose_X and transpose_Y flags,
      and only supports tensors from rank 1 to 3 inclusive.
      
      For GPU, uses cublas?gemmStridedBatched. For CPU, uses
      cblas_?gemm_batch if available via MKL; otherwise a simple serial
      implementation that loops over the batch dimension is employed for now.
      16489827