1. 08 1月, 2018 1 次提交
    • Q
      cpu gpu transform function (#7191) · 0f353ab4
      Qiao Longfei 提交于
      * add rename guard
      
      * add device_data_transform
      
      * add device_data_transform_test
      
      * modify GetExpectedKernelType
      
      * update operator.run
      
      * support test test_label_semantic_roles
      
      * optimize code
      
      * optimize code
      
      * rename GetActualKernelType to GetExpectedKernelType
      
      * fix chunk_eval_op and device_data_transform_test
      
      * add is_same_place to place
      
      * optimize code, refine rename_guard
      
      * refine rename guard, add GetKernelTypeForVar
      
      * optimize code
      
      * add some log
      
      * rename guard
      
      * use sub scope to create var
      
      * fix compile
      
      * add IsInitialized for Tensor
      
      * add VarIsTensor
      
      * fix op_registry_test
      
      * test
      
      * tmp disable priority
      
      * restore switch_kernel.md
      
      * code clean
      0f353ab4
  2. 05 1月, 2018 1 次提交
    • D
      Feature/use cudnn (#7141) · 5593858d
      dzhwinter 提交于
      * "add c++ side kernel selection"
      
      * "add multiple kernel op test"
      
      * "kernel selection only support cudnn"
      
      * "better formatter"
      
      * "small fix with UseCPU"
      
      * "depends on change interface Get(Place, Library)"
      
      * "fix CI"
      
      * "fix python cudnn test"
      
      * "leave the register cudnn op to another PR"
      
      * "fix CI"
      
      * "use all kernel by default"
      
      * "fix CI"
      5593858d
  3. 27 12月, 2017 1 次提交
    • D
      "refine kernel registrar" (#6998) · 35c1683e
      dzhwinter 提交于
      * "refine kernel registrar"
      
      * "refine registrar with multikey"
      
      * "fix register"
      
      * "refine multikernel register"
      
      * "fix CI"
      
      * "fix CI"
      
      * "fix registry"
      
      * "swtich GPU to CUDA"
      
      * "add register macro test case"
      
      * "fix CI"
      35c1683e
  4. 24 12月, 2017 1 次提交
    • D
      Feature/operator run place (#6783) · 735eba29
      dzhwinter 提交于
      * "change operator interface"
      
      * "move devicepool to device_context"
      
      * "fix operator test"
      
      * "fix op_registry Run interface"
      
      * "net op passed. Need to fix nccl multi-Context"
      
      * "add nccl group function"
      
      * "add nccl group function"
      
      * "fix gpu count exceed 32 error"
      
      * "fix recurrent op, nccl op"
      
      * "change the other operators interface with Place"
      
      * "fix typo"
      
      * "fix pybind"
      
      * "fix device in python side"
      
      * "fix pybind failed"
      
      * "add init for test"
      
      * "fix CI"
      735eba29
  5. 20 12月, 2017 1 次提交
  6. 01 11月, 2017 1 次提交
    • Y
      Feature/executor use program bind (#5196) · 1363ddb6
      Yu Yang 提交于
      * Init commit
      
      * Make executor use ProgramDescBind
      
      * Change Attribute from BlockDesc to BlockDescBind
      
      * Since we will get the program desc in RNN, just BlockDesc is not
        enough.
      1363ddb6
  7. 19 10月, 2017 1 次提交
  8. 05 10月, 2017 1 次提交
  9. 01 10月, 2017 1 次提交
  10. 28 9月, 2017 1 次提交
    • Y
      Remove OperatorBase::InferShape · 61962094
      Yu Yang 提交于
      InferShape in Operator should be performed in OperatorBase::Run.
      
      * cond_op, recurrent_op and mnist might be changed in following PR
      61962094
  11. 27 9月, 2017 1 次提交
    • Q
      Refactoring InferShape (#3946) · 9a9d50a6
      Qiao Longfei 提交于
      * init Infershape
      
      * add static InferShape interface
      
      * refactor add-op infershape
      
      * add AttrReader
      
      * add all maker's infershape
      
      * add all InferShape
      
      * add python infer api
      
      * add VarDesc interface
      
      * add python VarDesc and OpDesc interface
      
      * update python code
      
      * use infershape function to do shape inference
      
      * clean code
      
      * do not use pointer
      
      * refine code of op_proto_maker
      
      * add get_dims to VarDesc
      
      * refine the code
      
      * remove the dependency from operator to op registry
      
      * remove OpProtoAndCheckerMaker from operator
      
      * restore complete_add_op
      
      * add shape_infer_impl.h
      
      * code optimization
      
      * remove const return value
      
      * add fake BlockDesc class
      
      * optimize code
      
      * remove infer function in op_info
      
      * move InferShapeContextImpl to operator.h
      
      * optimize the interface of InferShapeContextBase
      
      * add temperary interface of new infershape
      
      * change add_op, clip_op, conv2d_op and activation_op
      
      * change all operators InferShape
      
      * fix SetDim
      
      * update cos_sim_op
      
      * update crop_op
      
      * update lookup_table_op
      
      * allocate tensor when call GetDim in InferShapeContext
      
      * update modified_huber_loss_op
      
      * update rowwise_add_op
      
      * update mean_op
      
      * update sequence_avg_pool_op
      
      * typo
      
      * remove old InferShape interface
      
      * can compile
      
      * fix or unit test
      
      * clean code
      
      * clean code
      
      * remove const before InferShapeContext
      
      * change InferenceContextBase to pointer
      
      * rename RunTime to Runtime, code clean
      9a9d50a6
  12. 07 9月, 2017 1 次提交
  13. 06 9月, 2017 2 次提交
  14. 16 8月, 2017 1 次提交
  15. 14 8月, 2017 3 次提交
  16. 12 8月, 2017 5 次提交
  17. 09 8月, 2017 2 次提交
  18. 08 8月, 2017 1 次提交
    • Y
      Make Compile Pass · dba618c0
      Yu Yang 提交于
      * Although backward_test/rnn_test is not pass, just comment them.
      dba618c0
  19. 01 8月, 2017 1 次提交
  20. 26 7月, 2017 1 次提交
  21. 25 7月, 2017 1 次提交
  22. 24 7月, 2017 1 次提交
    • Y
      Remove ScopePtr and OperatorPtr · c2543f5b
      Yu Yang 提交于
      * ScopePtr means pointer of scope, but it can be shared or uniqued.
      Change it to std::shared_ptr<Scope> to make code better to read.
      c2543f5b
  23. 17 7月, 2017 1 次提交
  24. 15 7月, 2017 1 次提交
  25. 14 7月, 2017 2 次提交
    • Q
      Optimize ptr (#2851) · 58f3de95
      Qiao Longfei 提交于
      * use OperatorPtr = std::shared_ptr<OperatorBase>;
      * use ScopePtr = std::share_ptr<Scope>;
      58f3de95
    • Y
      Let OpProto support multiple and temporary (#2860) · 2462d0c5
      Yu Yang 提交于
      * Let OpProto support multiple and temporary
      
      * Each input/output of Paddle's Op could be a list. Add multiple mark to
        OpProto. Also add a `input_format`/`output_format` attribute if that
        Op has multiple input or output. The format of that attribute please
        reference the comments in `op_proto.proto`
      * Add temporary mark, because some output of an Op is not used by user
        but used by other op for faster computation. Explicitly mark which
        output is temporary could let future memory/computation optimization.
      * Add generated field to AttrProto.
      
      * Add `AddInputs`/`AddOutputs` function
      
      * It is more readable to invoke `AddInputs` not
        `AddInput(multiple=true)`.
      2462d0c5
  26. 13 7月, 2017 2 次提交
    • Y
      Follow comments · 79b70c2d
      Yu Yang 提交于
      * Convert `op` --> `operators`
      * Remove AddType in OpProtoMaker, because type is part of registry.
      * Rename CPU_OR_GPU --> DEVICE_TYPE in registry macro.
      79b70c2d
    • Y
      Add a sample op, `add_op` · a0aaafe9
      Yu Yang 提交于
      * Refine register methods, make Op can get rid of whole-archieve
      * `USE_OP` before a op is used.
      * Add unittest for add_op.
      a0aaafe9
  27. 12 7月, 2017 3 次提交
    • Q
      test OpKernel (#2820) · be441f7d
      Qiao Longfei 提交于
      Add unit test for OpKernel
      be441f7d
    • Y
      Add OperatorWithKernel class · 0ff81920
      Yu Yang 提交于
      * User can register OpKernel to its Ops. The OpKernelMap saved in
        OperatorWithKernel. Each Op which inherits OperatorWithKernel will
        use `OpKernel::Compute` instead of Run.
      0ff81920
    • Q
      add operator base (#2725) · a2e5f652
      Qiao Longfei 提交于
      Add OperatorBase.
      
      issue: https://github.com/PaddlePaddle/Paddle/issues/2790
      
      Paddle design the Operator with Kernel. OperatorBase has no type and device information when create, One operator can have multiple kernels, Operator will choose a kernel to run according to context. The kernel should be bind to Operator before or during Operator running.
      a2e5f652
  28. 11 7月, 2017 1 次提交
    • Y
      Move static variable defined in .cc (#2782) · 267f9a2c
      Yu Yang 提交于
      * Move static variable defined in .cc
      
      We cannot define static variable in .h, because it will be multi-defined
      errors.
      
      Also fix some cpp syntax, like:
      
      * Prefer to use algorithm not manually for-loop, to make code more
        readable.
      * Remove unused `()`.
      * Enforce take a bool. It is no need `xxx==true`.
      * Use range-based for-loop iterator from op_desc.attrs
      
      * Fix a protential static variable init order error
      267f9a2c