• C
    New custom operator extension mechanism (#30690) · f649442d
    Chen Weihang 提交于
    * initial commit: simple demo
    
    * polish copyright format
    
    * add grap op simple demo
    
    * adapt uncertain number of argument
    
    * change trait marco name
    
    * add place & dtype support for add kernel
    
    * add dispath and infershape func
    
    * poish code & add notes
    
    * add dynamic_loader dep for paddle_framework
    
    * add new custom op test dir
    
    * polish impl details
    
    * add unittest for new custom op
    
    * fix failed unittest
    
    * Costum op (#1)
    
    * fix compile error
    
    * wrap framework tensor with LoDTensor
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * add CustomTensor default constructor
    
    * add size() for CustomTensor
    
    * make size const for CustomTensor
    
    * refactor place related api to circle the concept
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * make place const
    
    * make Tensor copy
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * remove additional head of framework
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * add gpu test
    
    * merge latest cwh code in
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * Remove ShareData from user && Change CustomTensor to Tensor && Support more data type (#2)
    
    * fix compile error
    
    * wrap framework tensor with LoDTensor
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * add CustomTensor default constructor
    
    * add size() for CustomTensor
    
    * make size const for CustomTensor
    
    * refactor place related api to circle the concept
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * make place const
    
    * make Tensor copy
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * remove additional head of framework
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * add gpu test
    
    * merge latest cwh code in
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * hid share data from and to
    
    * rename CustomTensor to Tensor
    
    * refactor register design & add test
    
    * change op_funtion to op_meta_info
    
    * split op meta info into .h and .cc
    
    * move get methods into friend class
    
    * move OpMetaInfoHelper into framework space
    
    * move CustomTensorUtils into framework space
    
    * change pybind api name
    
    * move PD C API into op meta info
    
    * add register custom op api
    
    * remove inference cmake change
    
    * refactor copy to api && change Reshape to lowercase && support more dtype && add more test (#3)
    
    * fix compile error
    
    * wrap framework tensor with LoDTensor
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * add CustomTensor default constructor
    
    * add size() for CustomTensor
    
    * make size const for CustomTensor
    
    * refactor place related api to circle the concept
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * make place const
    
    * make Tensor copy
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * remove additional head of framework
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * add gpu test
    
    * merge latest cwh code in
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * hid share data from and to
    
    * rename CustomTensor to Tensor
    
    * support multi dtype
    
    * remove lod, make reshape lowercase, add copy test and refactor copy api
    
    * remove lod, make reshape lowercase, add copy test and refactor copy api
    
    * remove lod, make reshape lowercase, add copy test and refactor copy api
    
    * remove lod, make reshape lowercase, add copy test and refactor copy api
    
    * fix copy to error
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * polish detail & error message
    
    * polish test details
    
    * Add cast api && Change copy related api to copy_to && add more test (#4)
    
    * fix compile error
    
    * wrap framework tensor with LoDTensor
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * add CustomTensor default constructor
    
    * add size() for CustomTensor
    
    * make size const for CustomTensor
    
    * refactor place related api to circle the concept
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * fix compile error
    
    * make place const
    
    * make Tensor copy
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * debug CustomTensor core
    
    * remove additional head of framework
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * use back to shared ptr for custom tensor
    
    * add gpu test
    
    * merge latest cwh code in
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * adjust ut code of custom op
    
    * hid share data from and to
    
    * rename CustomTensor to Tensor
    
    * support multi dtype
    
    * remove lod, make reshape lowercase, add copy test and refactor copy api
    
    * remove lod, make reshape lowercase, add copy test and refactor copy api
    
    * remove lod, make reshape lowercase, add copy test and refactor copy api
    
    * remove lod, make reshape lowercase, add copy test and refactor copy api
    
    * fix copy to error
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add more test
    
    * add type cast
    
    * add cast and make copy to api
    
    * add cast and make copy to api
    
    * add cast and make copy to api
    
    * add cast and make copy to api
    
    * merge cwh code
    
    * merge cwh code
    
    * merge cwh code
    
    * merge cwh code
    
    * merge cwh code
    
    * add more error log
    
    * add more error log
    
    * polish code
    
    * used for test
    
    * remove test comment
    
    * remove test comment
    
    * fix uint8 type error
    
    * fix lost uint8 type error
    
    * add test for coverage
    
    * polish details by reviewer comments
    
    * add prefix for DISABLE_COPY_AND_ASSIGN
    Co-authored-by: NJiabin Yang <360788950@qq.com>
    f649442d
custom_operator.cc 19.9 KB