1. 02 3月, 2022 1 次提交
    • H
      Move sgd to phi (#40045) · f3d54e2e
      hong 提交于
      * move sgd to phi; test=develop
      
      * update
      
      * add sgd kernel; test=develop
      f3d54e2e
  2. 20 2月, 2022 1 次提交
  3. 19 2月, 2022 1 次提交
    • A
      [Pten]Unify paddle/pten::framework::ddim into pten::ddim (#39614) · 2fe04264
      Aurelius84 提交于
      * Unify paddle/pten::framework::ddim into pten::ddim
      
      * fix paddle namespace
      
      * compile sucessfully
      
      * fix npu src file
      
      * fix conflict
      
      * fix conflict
      
      * fix tensorrt compiler error
      
      * fix conflict
      
      * fix conflict
      
      * fix tesst file conflict
      
      * fix conflict
      
      * fix mlu file conflict
      
      * fix mlu file conflict
      
      * fix cinn header file conflict
      
      * fix conflict
      
      * fix conflict
      
      * fix conflict
      
      * fix conflict
      2fe04264
  4. 15 2月, 2022 1 次提交
    • A
      [PTen]Migrate proto::VarType outside of Pten (#39411) · 7e7e9404
      Aurelius84 提交于
      * #1 migrate dist-related type()-> dtype()
      
      * move datatype function from pten -> fluid/framework
      
      * change type() in imperative into convert(dtype())
      
      * modify xx_tensor->type into xx_tensor->dtype
      
      * change the set_type interface and the caller
      
      * modify xx_tensor.type into xx_tensor.dtype
      
      * fix mutable_data(place, dtype())
      
      * change caller of mutable_data in pten and distributed
      
      * change the caller of mutable_data in fluid/framework
      
      * change the caller of mutable_data in imperative directory
      
      * mutable_data: inference
      
      * update the call of mutable_data
      
      * transfer MakePenScalarArray MakePtenScalar ResetHolderWithType
      
      * pass the compile. the next step is remove VarType in Pten
      
      * fix all and remove VarType from pten. success in linux. Next task is other platform
      
      * fix conflict with develop
      
      * fix compiled error
      
      * Fix reset conversion
      
      * fix conflict
      
      * fix compiled problem
      
      * fix typo
      
      * Fix << in tensor_utils.cc
      
      * fix type->dtype
      
      * fix unittest
      
      * fix tensor init constructor
      
      * fix DataTypeSize for BFloat16
      
      * fix code style
      
      * fix npu compiled error
      
      * fix npu
      
      * compile npu sucessfully
      
      * fix conflict
      
      * fix conflict
      Co-authored-by: Nxiongkun <xiongkun03@baidu.com>
      7e7e9404
  5. 25 1月, 2022 1 次提交
    • W
      [Move selected_rows PR #3] Change the relationship of [include/Cmake]. (#39128) · 2bafd338
      Weilong Wu 提交于
      * Added selected_rows and rw_lock to pten
      
      * Renamed the unit test target to fix CI
      
      * Removed Class SelectedRows in Fluid, changed include/cmake relationship, use pten::SelectedRows in Fluid
      
      * Remove rw_lock.h,rw_lock_test.cc in fluid
      
      * Use pten::RWLock and pten::AutoRDLock, fix CI
      
      * Use pten::SelectedRows
      
      * Use pten::SelectedRows
      
      * Fix to pass NPU CI
      
      * Use pten::SelectedRows, to pass NPU CI
      
      * To fix NPU CI
      
      * To fix NPU CI again
      2bafd338
  6. 24 12月, 2021 1 次提交
  7. 29 11月, 2021 1 次提交
  8. 21 9月, 2021 1 次提交
    • A
      Reuse OneDNN handler for SGD and SUM for SelectedRows input tensors. (#35510) · 799f3861
      Adam Osewski 提交于
      * Create stateful OneDNNAXPYHandler object.
      
      This makes it possible to call it multiple times without recreating the
      oneDNN primitives every time.
      
      * Prepare SGDOpKernel to reuse its implementation from OneDNN kernel.
      
      * OneDNN SGD kernel.
      
      * Update call to use new OneDNNAXPYHandler object api.
      
      * Setup seed in proper place.
      
      * Enable OneDNN kernel only for single case.
      
      * For dense param and sparse grad.
      
      * Small refactor.
      
      * Enable oneDNN by op attr or by cmd line flag.
      
      * Use int64_t type for number of elements.
      
      * Support dense param and grad from OneDNN kernel.
      
      * Enable SGD OneDNN kernel when use MP BF16 optimizer.
      
      * Force non-copyable/movable OneDNNAXPYHandler.
      
      * Reuse OneDNNAXPYHandler for spare tensors in SUM op.
      
      * Fix SFINAE rules.
      
      * Remove recording event inside AXPY.
      
      * Get rid of internal primitive caching.
      
      * Stop use PP cache mechanims to store mem and primitive obj.
      * Handler obj store and reuse needed desc & prim
      
      * Do not derive from MKLDNNHandlerT
      799f3861
  9. 14 4月, 2021 1 次提交
    • A
      adds new CPU kernel for SGD op supporting BF16 data type (#32162) · 3ac6c189
      Adam Osewski 提交于
      * Initial draft for SGD BG16 kernel.
      
      * Unit tests for SGD with BF16 data type.
      
      * Add VLOG message to SGD BF16 op CPU kernel.
      
      * Enhance error messages and error types.
      
      * Refactor SGD op kernels to leverage some common code.
      
      * Make easier to add new kerne invoke code.
      
      * Fix SGD op kernel for sparse grad.
      
      * Unify quotes style.
      
      * Fix error for ROCM compilation.
      
      * Use specialized PADDLE_ENFORCE_xx functions.
      3ac6c189
  10. 27 9月, 2020 1 次提交
  11. 26 4月, 2020 1 次提交
    • L
      improve efficiency of runtime InferVarType (#22778) · 9a93f6aa
      liuwei1031 提交于
      * save InferVarType changes, test=develop
      
      * remove code comments, test=develop
      
      * tweak code, test=develop
      
      * fix compilation warning, update merge_ids_op split_ids_op to new interface, test=develop
      
      * modify fused_bn_activation_op, test=develop
      
      * fix error of fused_bn_activation_op, test=develop
      
      * fix PADDLE_ENFORCE and unittest coverage issue, test=develop
      
      * tweak PADDLE_ENFORCE messages, test=develop
      
      * improve unittest coverage, test=develop
      
      * add StaticGraphInferVarType class, test=develop
      
      * rebase develop branch, test=develop
      
      * fix unittest error, test=develop
      
      * remove comments, test=develop
      
      * improve unittest coverage, test=develop
      
      * imporve error message and imporve unittest coverage, test=develop
      
      * upgrade InferVarType API, test=develop
      
      * tweak pyfunc error message, test=develop
      
      * fix compilation conflict - save_combine_op, test=develop
      9a93f6aa
  12. 06 12月, 2019 1 次提交
    • H
      Add Much Complex Test and Fix Bugs for Control Flow cond API (#21532) · 1dcf6a72
      Huihuang Zheng 提交于
      Add tests to use dy/dx to make sure the gradient values calculated by the control flow backward is correct. Also fixed bugs detected by those tests.
      
      Fix bugs:
      
      1. Unlike sum_op, optimizer ops don't allow uninitialized input tensor. But in conditional_block_grad_op, since the conditional_block may not run, the output gradient tensor may be uninitialized, which will cause the optimizer op error. To fix it, we should let optimizer ops support uninitialized input like sum_op or assign the uninitialized gradient to 0 when the conditional_block_grad_op doesn't run. I found there are about 10+ optimizer ops. **To be simpler, I just assign output gradient of the conditional_block_grad_op to 0 in this PR**. But it can be further explored whether we can make optimizer ops like sum_op to support uninitialized input tensor because theoretically we can speed up without the assigning in conditional_block_grad_op.
      
      2. Infer parameter shapes during append_backward. I didn't know that all our parameters are in global block. When op_desc is inferring shapes at the sub-block, it may not know the shape of gradients of parameters whose shape information is at global block. I fixed it by inferring shapes of gradients from forward var.
      
      This PR also did some code clean up:
      1. Print the var name when sgd_op catches shape error so that it is easier to debug
      2. Fix a typo: dicta -> dict
      1dcf6a72
  13. 29 11月, 2019 1 次提交
  14. 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
  15. 28 10月, 2019 1 次提交
  16. 24 10月, 2019 1 次提交
  17. 04 9月, 2019 1 次提交
  18. 04 7月, 2019 1 次提交
  19. 19 3月, 2019 1 次提交
  20. 18 3月, 2019 1 次提交
  21. 15 3月, 2019 1 次提交
  22. 16 11月, 2018 1 次提交
    • W
      Refine operator cmake (#14413) · a2d9b344
      Wu Yi 提交于
      * wip simplify operator framework
      
      * wip
      
      * wip
      
      * done test=develop
      
      * clean test=develop
      
      * fix test=develop
      
      * fix deps test=develop
      
      * fix cpu build test=develop
      
      * fix tensorrt build test=develop
      
      * fix tests test=develop
      
      * fix test=develop
      
      * fix cpu build test=develop
      a2d9b344
  23. 22 10月, 2018 1 次提交
  24. 15 10月, 2018 1 次提交
    • C
      Add check for opt op (#13840) · 8e2fdc54
      chengduo 提交于
      * add check for opt op
      
      * fix opt op
      test=develop
      
      * fix test fail
      test=develop
      
      * fix optimization doc
      test=develop
      
      * test=develop
      8e2fdc54
  25. 11 6月, 2018 1 次提交
  26. 08 5月, 2018 1 次提交
    • Y
      Clean OpProtoAndCheckerMaker · 0e78cb69
      Yu Yang 提交于
      Do not use ctor
      
      * Reduce line of codes.
      * We can use virtual function for Maker now.
      * The implementation does not care what maker holds, it is easier to
      refactor later.
      0e78cb69
  27. 26 4月, 2018 1 次提交
  28. 12 4月, 2018 1 次提交
    • Q
      Dist transpiler support prefetch (#9714) · 4c55a602
      Qiao Longfei 提交于
      * init
      
      * add some check
      
      * add dist transpile logic
      
      * add insert op for block
      
      * init change get_pserver_program
      
      * optimize code
      
      * fix a bug
      
      * can run now
      
      * start to do table split
      
      * start to process table gradient
      
      * complete pserver part
      
      * can send_vars now
      
      * revert cpplint
      
      * fix a bug
      
      * optimize code
      
      * move dist test to models
      
      * revert the interface of distribute_transpiler.transpile
      
      * fix prefetch_block
      
      * optimize trainspiler code
      
      * add comment to sum_op
      
      * add warning log
      
      * fix comment
      
      * fix test_send_recv
      
      * fix test_send_recv
      
      * fix train with no distributed table
      
      * optimize GetDims
      4c55a602
  29. 04 4月, 2018 1 次提交
  30. 03 4月, 2018 1 次提交
  31. 09 3月, 2018 1 次提交
  32. 12 2月, 2018 1 次提交
  33. 10 2月, 2018 2 次提交
  34. 23 12月, 2017 1 次提交
  35. 20 12月, 2017 1 次提交
  36. 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
  37. 27 11月, 2017 1 次提交
  38. 04 11月, 2017 1 次提交
  39. 29 10月, 2017 1 次提交
    • Q
      support sparse output for lookup table grad op (#5145) · 008f40ce
      QI JUN 提交于
      * add sparse support for sum op
      
      * typo fix
      
      * fix gpu build error
      
      * fix unittest error
      
      * typo fix
      
      * infer var type and shape in op_test
      
      * follow comments
      
      * fix build error
      
      * bypass some unittests depend on NetOp
      
      * support sparse output for lookup table grad op
      
      * refine codes
      
      * fix gpu build error
      
      * fix lookup table grad gpu kernel
      
      * fix ci
      
      * fix ci
      
      * fix ci
      
      * fix bug in lookup_table_grad op
      
      * fix bug in test_word2vec
      
      * register double kernel for some operators
      
      * set is_sparse=True in test_word2vec
      
      * fix lookup table grad op CUDA kernel bug
      
      * disable test_modified_huber_loss_op temporarily
      
      * disable test_lstm_unit_op temporarily
      008f40ce