1. 31 8月, 2021 1 次提交
    • Z
      New whl release strategy with pruned nv_fatbin (#35239) · 2f3b393d
      Zhanlue Yang 提交于
      [Background]
      Expansion in code size can be irreversible in the long run, leading to huge release packages which
      not only hampers user experience but also exceeds a hard limit of pypi.
      
      In such, NV_FATBIN section takes up 86% of the compiled dylib size, owing to the vast number of GPU
      arches supported.
      
      This PR aims to prune this NV_FATBIN.
      
      [Solution]
      In the new release strategy, two types of whl packages will be involved:
      
      Cubin PIP package:
      PIP package maintains a smaller window for GPU arches support, containing
      sm_60, sm_70, sm_75, sm_80 cubins, covering Pascal - Ampere arches
      
      JIT release package:
      This is a backup for Cubin PIP package, containing compute_35, compute_50, compute_60,
      compute_70, compute_75, compute_80, with best performance and GPU arches coverage.
      
      However, it takes around 10 min to install due to the JIT compilation.
      
      [How to use]
      The new release strategy is disabled by default.
      To compile for Cubin PIP package, add this to cmake: -DCUBIN_RELEASE_PIP
      To compile for JIT release package, add this to cmake: -DJIT_RELEASE_WHL
      2f3b393d
  2. 24 8月, 2021 1 次提交
    • Y
      Add auto completion module for auto parallel (#34813) · 93d862b0
      Yulong Ao 提交于
      * add auto_parallel dir
      
      * mv to paddle.distributed
      
      * add shard_xx api
      
      * add distributed attrs for var
      
      * add ut, test=develop
      
      * add dist
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update, test=develop
      
      * update, test=develop
      
      * update, test=develop
      
      * update, test=develop
      
      * update, test=develop
      
      * update, test=develop
      
      * update, test=develop
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update, test=develop
      
      * update, test=develop
      
      * update
      
      * update
      
      * delete unused proto
      
      * resotre op_desc
      
      * restore type_defs
      
      * update var_desc
      
      * remove dimss_mapping for proto_pybind
      
      * update interface.py
      
      * update framework.py
      
      * update
      
      * update
      
      * add auto_parallel dir
      
      * mv to paddle.distributed
      
      * add shard_xx api
      
      * add distributed attrs for var
      
      * add ut, test=develop
      
      * [WIP] Add the auto completion feature and related codes
      
      * [WIP] Improve the auto completion and related codes
      
      * [WIP] Make the auto completion to support data-parallel
      
      * [WIP] Make the completion support mp and dp+mp
      
      * [WIP] Refactor auto completion unit test for MLP
      
      * [WIP] Refactor the implementation of DistributedOperatorImpl
      
      * [WIP] Improve dims_mapping update rule and fix a bug
      
      * [WIP] Support auto completion for one transformer decoder layer
      
      * [WIP] Add a minor change
      
      * [WIP] Fix a bug within the uint test
      
      * Shard XShape tensor, add embedding completion and refactor code
      
      * Add the distributed_operators dir to setup.py.in
      
      * Improve the completion process and add the unittest for gpt
      
      * fix process_mesh ut
      
      * fix process_mesh ut
      
      * update
      
      * update, test=develop
      
      * Add support for automatically completing distributed attrs of special ops
      
      * update
      
      * update
      
      * update
      
      * fix doc sample codes, test=develop
      
      * improve coverage, test=develop
      
      * add static_mode check, test=develop
      
      * Model the cluster for cost model and physical mapping
      
      * update, test=develop
      
      * add set_placement, test=develop
      
      * Add the check to make sure the candidate tensors' size is great than zero
      
      * update doc, test=develop
      
      * update doc, test=develop
      
      * update doc, test=develop
      
      * update doc, test=develop
      
      * update, test=develop
      
      * Auto mark dist attrs annotated by user
      
      * update ndarray to nested list, test=develop
      
      * update, test=develop
      
      * Add auto-completion module for auto-parallel (based on PR#33804)
      
      * Remove unnecessary files
      
      * Remove unrelated files for the auto completion pr
      
      * Update the unit test to improve the coverage
      
      * Modify codes based on reviews
      
      * Minor changes for CI
      
      * Improve some codes based on new comments
      
      * Fix bugs caused by shallow copy in attributes.py
      * Imporve amend_distributed_attr_for_program in context.py
      * Other changes for weihang's comments
      Co-authored-by: Nsandyhouse <lilong12@baidu.com>
      93d862b0
  3. 11 8月, 2021 1 次提交
  4. 10 8月, 2021 1 次提交
    • C
      copy boost/any.hpp to utils and replace boost::any with self defined any (#34613) · 12892929
      chentianyu03 提交于
      * add any.hpp to utils and replace boost::any with self defined paddle::any
      
      * add copy any.hpp to custom op depends
      
      * modify any.hpp include path
      
      * remove boost from setup.py.in
      
      * add copy any.hpp to custom op depends
      
      * move any.hpp to paddle/utils/ dirs
      
      * move any.h to extension/include direction
      
      * copy utils to right directions
      12892929
  5. 05 8月, 2021 1 次提交
  6. 04 8月, 2021 1 次提交
  7. 19 7月, 2021 1 次提交
    • C
      Add Cuda event and stream API (#32460) · 9c7f6af5
      chentianyu03 提交于
      * add cuda event and stream api
      
      * add cuda event and stream api
      
      * add get_current_stream api
      
      * add get_current_stream api
      
      * init streams
      
      * modify get_current_stream
      
      * modify get_cuttent_stream
      
      * add synchronize func
      
      * add current_stream doc and test file
      
      * move get_current_stream into CUDA macro
      
      * move CudaEvent into CUDA macro
      
      * move _get_current_stream and _device_synchronize into cuda macro
      
      * modify the macro of cuda stream and event
      
      * add test case for synchronize
      
      * add paddle.devices.cuda module
      
      * event and stream support hip
      
      * add doc for stream and event class
      
      * move cuda stream and event into single pybind
      
      * add cuda_streams_py.cc to cmakelist
      
      * add _device_synchronize and _get_current_stream to core module
      
      * add test case for cudastream and cudaevent
      
      * move __all__ in streams.py
      
      * fix test fail
      
      * add cuda to devices __all__
      
      * fix current_stream doc writing error
      
      * move devices to device direction, and merge device.py into __init__.py
      
      * add required:gpu to sample codes
      
      * remove cuda direction from device/__init__.py
      9c7f6af5
  8. 12 7月, 2021 1 次提交
  9. 15 6月, 2021 1 次提交
  10. 09 6月, 2021 1 次提交
  11. 01 6月, 2021 2 次提交
  12. 27 5月, 2021 1 次提交
  13. 25 5月, 2021 1 次提交
  14. 07 5月, 2021 1 次提交
  15. 30 4月, 2021 1 次提交
  16. 25 4月, 2021 2 次提交
  17. 23 4月, 2021 1 次提交
  18. 22 4月, 2021 2 次提交
  19. 21 4月, 2021 1 次提交
  20. 19 4月, 2021 1 次提交
  21. 17 4月, 2021 1 次提交
  22. 09 4月, 2021 1 次提交
  23. 07 4月, 2021 1 次提交
    • Z
      【NPU】Merge ascend GE&distributed code by 0208 from ascendrc (#31957) · 8c7c53b3
      zhang wenhui 提交于
      * Ascend rc (#30483)
      
      * Fix compilcation on CANN20.1 and older (#30494)
      
      Fix compilcation on CANN20.1 and older
      
      * Add distribution supported (#30578)
      
      Add distribution supported
      
      * Build praser for Hcom* operators (#30627)
      
      Build praser for Hcom* operators
      
      * Pass device_ids info from launch to trainer. (#30632)
      
      Pass device_ids info from launch to trainer
      
      * Add Hccl program group (#30642)
      
      Add Hccl program group
      
      * Add startup bash files of test_ascend_group. (#30645)
      
      Add startup bash files of test_ascend_group
      
      * cleanup (#30646)
      
      cleanup test_ascend_group.py
      
      * [Feature] Build parser to support distributed training (#30658)
      
      [Feature] Build parser to support distributed training
      
      * fix compilation on ascend-20.1 (#30722)
      
      fix compilation on ascend-20.1
      
      * Dev/fix ascend string (#30749)
      
      Dev/fix ascend string
      
      * code style (#30781)
      
      code style
      
      * Merge ascend_optimizer and ascend_parser. (#30776)
      
      Merge ascend_optimizer and ascend_parser.
      
      * Ascendrc add converted op : [range/equal/range/uniform_random/expand/squeeze], fix cast op bug  (#30797)
      
      Ascendrc add converted op : [range/equal/range/uniform_random/expand/squeeze], fix cast op bug
      
      * Add paddle ascend distribution training supported (#30796)
      
      Add paddle ascend distribution training supported
      
      * pass cxx_flags to gloo cmake (#30857)
      
      * Destroy session first. (#30954)
      
      Destroy session first.
      
      * merge
      
      * fix, test=develop
      
      * fix, test=develop
      
      * fix style, test=develop
      
      * fix, test=develop
      
      * fix
      
      * fix log fatal, test=develop
      
      * fix enforce style, test=develop
      
      * fix, test=develop
      
      * fix, test=develop
      
      * fix rccl, test=develop
      
      * fix test, test=develop
      
      * fix, test=develop
      
      * fix, test=develop
      
      * fix, test=develop
      
      * fix node_num, test=develop
      
      * fix ids str, test=develop
      
      * fix ids str, test=develop
      
      * fix ids str, test=develop
      
      * fix, test=develop
      
      * fix, test=develop
      
      * fix, test=develop
      
      * fix, test=develop
      
      * fix, test=develop
      
      * fix, test=develop
      
      * fix, test=develop
      
      * fix, test=develop
      
      * fix style code, test=develop
      
      * fix style code, test=develop
      
      * fix style code, test=develop
      
      * fix style code, test=develop
      Co-authored-by: Nhutuxian <hutuxian2011@sina.cn>
      Co-authored-by: Ngongweibao <weibao.gong@gmail.com>
      Co-authored-by: NVoid Main <voidmain1313113@gmail.com>
      Co-authored-by: NLeo Chen <chenqiuliang@baidu.com>
      Co-authored-by: Ndingsiyu <18369187719@163.com>
      Co-authored-by: NOleNet <olenet@126.com>
      8c7c53b3
  24. 01 4月, 2021 1 次提交
    • C
      add custom init grad for backward function (#31540) · 83b953f5
      chentianyu03 提交于
      * add custom init grad for backward function
      
      * add custom init grad for backward function
      
      * handle when the grad_tensor is none
      
      * handle when the grad_tensor is none
      
      * fix the args type error on windows platform
      
      * modify the args order and doc
      
      * format code
      
      * add grad_tensor to xpu
      
      * modify the grad_tensor type check
      
      * add paddle.backward api to support multi tensors gradient compute
      
      * add paddle.backward api to support multi tensors gradient compute
      
      * add paddle.atuograd module and backward api
      
      * change tensor.backward func args
      
      * modify tensor backward api
      
      * remove create_graph intputs args
      
      * add doc and examplex code for backward api
      
      * when have the same tensor, throw error
      
      * modify test Init func args
      
      * modify the execute.Init func args in test files
      
      * add paddle.autograd package in setup.py.in
      
      * modify error msg, remove _run_backward method in class Tensor
      
      * add test cases for backward api
      83b953f5
  25. 31 3月, 2021 1 次提交
  26. 30 3月, 2021 1 次提交
  27. 23 3月, 2021 1 次提交
  28. 22 3月, 2021 1 次提交
  29. 19 3月, 2021 1 次提交
  30. 18 3月, 2021 1 次提交
  31. 24 2月, 2021 2 次提交
  32. 22 2月, 2021 1 次提交
  33. 10 2月, 2021 1 次提交
    • 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
  34. 03 2月, 2021 1 次提交
    • A
      [CustomOp] Support install as Package and Add load interface (#30798) · e49d0746
      Aurelius84 提交于
      * support setup.py to compile custom op
      
      * move file into paddle.utils.cpp_extension
      
      * support python setup.py install
      
      * refine code style
      
      * Enrich code and add unittest
      
      * Polish code and api doc
      
      * fix cpp_extension not include in package
      
      * fix relative import
      
      * fix os.makedirs exist_ok param compatibility PY2
      
      * add compile flags in test_jit_load
      e49d0746
  35. 28 1月, 2021 1 次提交
  36. 21 1月, 2021 1 次提交