1. 07 2月, 2020 1 次提交
    • Y
      Enable the detection of subgraph composed of grad ops (#21223) · dcfb6038
      Yiqun Liu 提交于
      * Add the first implememtation of fusion_group op #19621 (#3)
      
      * Add the dynamic load of nvrtc, and support runtime compiling of CUDA kernel using nvrtc.
      test=develop
      
      * Call CUDA driver api to launch the kernel compiled by nvrtc.
      test=develop
      
      * Disable for mac and windows.
      test=develop
      
      * Refine the codes to support manually specified num_threads and workload_per_thread.
      test=develop
      
      * Refine the CUDA kernel to support large dims.
      test=develop
      
      * Add DeviceCodePool to manage all device codes.
      
      * Add the first implementation fusion_group op.
      
      * Add unit-test for fusion_group op.
      
      * Add the check of result.
      
      * Add the check of nvrtc in unit-test.
      test=develop
      
      * Add comment to explain the inputs, outputs and features of fusion_group op.
      test=develop
      
      * Disable fusion_group op for mac and windows.
      test=develop
      
      * Make the compiling of device code return status instead of hanging up.
      test=develop
      
      * Add the check of whether there is CUDA driver library, and do not core dump when failing to call the CUDA driver API.
      
      * Unify fusion_group_op's input and output names.
      test=develop
      
      * Add the check of CUDA driver library in unittest.
      test=develop
      
      * Enable generating code for a given subgraph. #21126 (#4)
      
      * Enable generating code for a given subgraph.
      
      * Support sorting the subgraph.
      
      * Remove the rearange of expressions because we use the sorted subgraph directly.
      
      * Enable generating code for a subgraph which is composed of grad ops.
      
      * Use expression information to check the accuracy in unittest.
      
      * Separate load and store from computation expressions.
      test=develop
      
      * Improve the loading statements in generated codes.
      test=develop
      
      * Remove unused arguments from formal list.
      test=develop
      
      * Enable the detection of subgraph of grad ops.
      
      * Generate code for detected subgraph in fusion_group_pass.
      
      * Add an option in BuildStrategy to enable fusion_group_pass and add unittest.
      test=develop
      
      * Fix a bug when checking whether the shape of all inputs are the same.
      
      * Add debug information.
      
      * Remove subgraph_detector from inference/analysis to the common framework/ir directory. (#5)
      
      test=develop
      
      * Call subgraph_detector in fusion_group pass.
      test=develop
      
      * Disable fusion_group when WITH_GPU is OFF.
      test=develop
      
      * Refine all PADDLE_ENFORCE message.
      test=develop
      
      * Fix the case that some inputs are not defined in grad ops, and set op_role for fused op.
      test=develop
      
      * Follow review comments.
      test=develop
      dcfb6038
  2. 09 1月, 2020 1 次提交
  3. 20 11月, 2019 1 次提交
    • Y
      Enable generating code for a given subgraph. (#21126) · 6b1e1f0d
      Yiqun Liu 提交于
      * Enable generating code for a given subgraph.
      
      * Support sorting the subgraph.
      
      * Remove the rearange of expressions because we use the sorted subgraph directly.
      
      * Enable generating code for a subgraph which is composed of grad ops.
      
      * Use expression information to check the accuracy in unittest.
      
      * Separate load and store from computation expressions.
      test=develop
      
      * Improve the loading statements in generated codes.
      test=develop
      
      * Remove unused arguments from formal list.
      test=develop
      6b1e1f0d
  4. 11 11月, 2019 1 次提交
    • Y
      Support generating code for grad_op (#21066) · 9091f8cd
      Yiqun Liu 提交于
      * Add the definition of operation in fusion_group.
      
      * Use operations in OperationMap to detect fusion_group of elementwise pattern.
      
      * Add namespace fusion_group in code_generator.
      
      * Use operations recorded in OperationMap to generate code.
      
      * Remove implementation codes to .cc file.
      
      * Refine Operation and CodeGenerator to make it easier to generate code for grad_op.
      Refine the unittest for better reuse.
      
      * Avoid recording the template's keyword in a array.
      
      * Support the generating of code for grad_op and add unittest.
      test=develop
      
      * Remove replaced_element_in_order and use use number instead.
      test=develop
      9091f8cd
  5. 29 10月, 2019 1 次提交
    • Y
      Implement a pass detect fusion group of elementwise op (#19884) · b5f3be83
      Yiqun Liu 提交于
      * Add fusion_group_pass and elementwise pattern.
      
      * Rewrite the detector of elementwise group.
      test=develop
      
      * Add a comment in codegen.
      
      * Add more unittest cases.
      test=develop
      
      * Move code_generator related code to fusion_group directory.
      
      * Correct the including path.
      
      * Add the definition of SubGraph and finish the insert of fusion_group op in pass.
      
      * Insert graph_vis_pass in tester to visualize the graph for debug.
      b5f3be83
  6. 27 9月, 2019 1 次提交
  7. 06 9月, 2019 1 次提交