1. 03 6月, 2020 1 次提交
  2. 08 5月, 2020 1 次提交
    • H
      Add Assert Op (#24280) · 8a1a2af8
      Huihuang Zheng 提交于
      1. To make ProgramTranslator to support `assert` grammar, this PR adds `assert` python API and C++ code. 
      
      2. Fix a bug: graph_pattern_detector.h #include <gtest/gtest_prod.h> but didn't declared dependency at CMakeLists, which can cause single build failure.
      
      3. Refactoring `Formatter` in print_op to make it reusable and reuse the formatter to print in assert op.
      8a1a2af8
  3. 28 4月, 2020 1 次提交
  4. 24 4月, 2020 2 次提交
  5. 22 4月, 2020 1 次提交
  6. 13 4月, 2020 1 次提交
  7. 09 4月, 2020 1 次提交
    • M
      Remove: NGraph engine from PDPD repository (#23545) · 3baaee9a
      mozga-intel 提交于
      * Remove the NGraph engine from PDPD repository
      1. Each operator was removed from the operator's directory
      2. Each test was removed from the unittest directory
      3. The parallel executor support was removed from the PDPD
      4. The CMake file was removed from the PDPD
      5. The NG flags were removed from the repository
      test=develop
      
      * Remove ngraph from:
      1. Cmake file
      2. Python file
      test=develop
      3baaee9a
  8. 01 4月, 2020 1 次提交
  9. 27 3月, 2020 1 次提交
  10. 20 3月, 2020 1 次提交
  11. 11 3月, 2020 2 次提交
  12. 14 2月, 2020 1 次提交
  13. 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
  14. 04 2月, 2020 1 次提交
  15. 10 1月, 2020 1 次提交
    • Z
      Add bn and relu fuse pass (#22048) · 46189b16
      Zhen Wang 提交于
      * add bn and relu fuse pass
      
      * add op attr assert and dtype assert
      
      * fix some inputs&&outputs bugs for the fused op and pattern.
      
      * add the unittest for fuse_bn_act_pass. test=develop
      
      * use normative enforce statements. test=develop
      
      * add the cpu test. test=develop
      
      * add the support of batch_size=1 for the bn with relu op. test=develop
      
      * add the error type for paddle throws. test=develop
      
      * add fused_batch_norm_act and fused_batch_norm_act_grad to op_has_unsed_vars_white_list. test=develop
      46189b16
  16. 07 1月, 2020 1 次提交
  17. 24 11月, 2019 1 次提交
  18. 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
  19. 24 10月, 2019 1 次提交
  20. 13 10月, 2019 1 次提交
    • Z
      Add Multihead matmul fuse pass (#20167) · b8333ede
      zhaoyuchen2018 提交于
      * Add multihead fuse pass for ernie opt
      
      * Refine softmax
      
      test=develop
      
      * Refine cuda kernel
      
      * Refine cuda version
      
      * Refine cmake
      
      test=develop
      
      * refine header file
      
      * refine test case and pass
      * refine comments
      b8333ede
  21. 12 10月, 2019 1 次提交
  22. 27 9月, 2019 1 次提交
  23. 19 9月, 2019 1 次提交
    • Y
      Add a pass to fuse fc+elementwise_add+layernorm (#19776) · 3cd985a6
      Yiqun Liu 提交于
      * Add fc_elementwise_layernorm_fuse pass and unittest.
      
      * Add fused_fc_elementwise_layernorm op and its GPU kernel.
      test=develop
      
      * Apply fc_elementwise_layernorm_fuse_pass to GPU inference.
      
      * Add the setting of attrs in the definition of binary_op.
      test=develop
      
      * Add comment.
      
      * Implement the unittest.
      test=develop
      
      * Change the unittest name of layer_norm.
      test=develop
      3cd985a6
  24. 16 9月, 2019 1 次提交
    • Y
      Enhance fc_fuse_pass to enable fusing relu to fc_op (#19733) · c67c8758
      Yiqun Liu 提交于
      * Refine the codes related to fc op.
      
      * Add GPU implementation for fc functor.
      
      * Apply fc_fuse_pass in GPU inference.
      test=develop
      
      * Change the cmake for fc op.
      
      * Change PADDLE_ENFORCE to PADDLE_ENFORCE_EQ.
      
      * Add an attribute to set the activation type in fc_op.
      
      * Enhance the unittest of fc_op.
      test=develop
      
      * Remove the declaration of FCOpGrad back to the header file.
      test=develop
      
      * Set default value for newly added arguments in test_fc_op.
      test=develop
      
      * Enhance fc_fuse_pass to enable fusing relu.
      
      * Allow print the shapes of var_desc in graph.
      test=develop
      
      * Enhance fc_fuse_pass_tester.
      
      * Remove the use of PADDLE_ENFORCE.
      test=develop
      
      * Correct the number of ops after fusing.
      test=develop
      
      * Fix a typo.
      test=develop
      
      * Set activation_type to null when there is no relu in fc.
      test=develop
      
      * Refine fc_fuse_pass's codes.
      
      * Enable the set of shape for tensor.
      
      * Refine repeated_fc_relu_pass and add unittest.
      test=develop
      c67c8758
  25. 06 9月, 2019 1 次提交
  26. 03 9月, 2019 1 次提交
    • Y
      A a pass to enable the use of cudnn (#19346) · c5548178
      Yiqun Liu 提交于
      * Add a interface to enable cudnn for inference.
      
      * Add cudnn_placement_pass.
      test=develop
      
      * Set the default value of cudnn_enabled_op_types to null.
      test=develop
      
      * Write the common basic class, placement_pass_base, to refine the codes.
      test=develop
      
      * Call EnableCUDNN in unittest.
      test=develop
      
      * Refine cudnn_placement_pass tester.
      
      * Enable the testing of cudnn_placement_pass in inference's unittest.
      test=develop
      
      * Add the check of op kernels.
      test=develop
      c5548178
  27. 30 8月, 2019 1 次提交
    • Y
      Add a pass to replace dropout_op with scale_op when is_test is true (#19297) · fcec365d
      Yiqun Liu 提交于
      * Add simplify_with_basic_ops_pass to replace dropout_op with scale_op when is_test is true.
      test=develop
      
      * Delete dropout_op directly when upscale_in_train is true.
      test=develop
      
      * Improve the debug string, adding the print of op_desc information.
      
      * Fix the case when dropout's input x is reused as the next op's output.
      
      * Add the pass to inference.
      test=develop
      
      * Change the log level.
      test=develop
      
      * Add unittest for inplace case.
      
      * Add comment to explain the pass.
      
      * Apply the pass for CPU inference.
      test=develop
      
      * Fix the typo.
      test=develop
      
      * Add the check of AttrType.
      test=develop
      fcec365d
  28. 19 8月, 2019 1 次提交
  29. 15 8月, 2019 1 次提交
  30. 02 8月, 2019 1 次提交
  31. 23 7月, 2019 1 次提交
  32. 11 6月, 2019 1 次提交
    • Update the Anakin interfaces for content-dnn and MLU (#17890) · bce259e5
      石晓伟 提交于
      * update anakin-engine interfaces for content-dnn
      
      test=develop
      
      * support only-gpu mode of Anakin
      
      modify eltwise parse
      
      test=develop
      
      * modification for thread-safe
      
      test=develop
      
      * Integrated template instance
      
      test=develop
      
      * increase template parameters
      
      test=develop
      
      * support MLU predictor
      
      test=develop
      
      * update anakin cmake files
      
      test=develop
      
      * update TargetWrapper::set_device
      
      * update the initialization of anakin subgraph
      
      test=develop
      
      * use the default constructor of base class
      
      test=develop
      bce259e5
  33. 29 5月, 2019 1 次提交
  34. 25 5月, 2019 1 次提交
    • Z
      TRT: Support set dynamic range in int8 mode. (#17524) · 61221ebc
      Zhaolong Xing 提交于
      * fluid int8 train and trt int8 predict align.
      trt int8 predict init
      op converter
      
      * 2. align fluid int8 train and trt int8 inference.
      enhance quant dequant fuse pass
      enhance op converter, trt engine, trt engine op, trt subgraph pass.
      
      * 3. add delete_quant_dequant_pass for trt
      
      test=develop
      
      * 4. add the missing file
      test=develop
      
      * 5. i modify the c++ interface, but forget to modify the pybind code
      fix the IS_TRT_VERSION_GE bug, and fix elementwise op converter
      test=develop
      61221ebc
  35. 24 5月, 2019 2 次提交
    • M
      [MKL-DNN] Add Fully Connected Op for inference only(#15226) · 0c39b97b
      Michał Gallus 提交于
      * fuse mul and elementwise add to fc
      
      * Reimplement the FC forward operator
      
      * Fix FC MKLDNN integration by transposing weights
      
      * Add FC MKLDNN Pass
      
      test=develop
      
      * FC MKLDNN Pass: change memcpy to std::copy
      
      * Fix MKLDNN FC handling of mismatch input and weights dims
      
      * Lower tolerance for MKL-DNN in resnet50 test
      
      test=develop
      
      * Adjust FC to support MKLDNN Op placement
      
      test=develop
      
      * Adjust Placement Op to set use_mkldnn attribute for graph
      
      test=develop
      
      * MKLDNN FC: fix weights format so that gemm version is called
      
      test=develop
      
      * FC MKLDNN: Remove tolerance decrease from tester_helper
      
      * FC MKL-DNN: Refactor the code, change input reorder to weight reorder
      
      * MKL-DNN FC: Introduce operator caching
      
      test=develop
      
      * FC MKL-DNN: Fix the tensor type in ExpectedKernelType
      
      test=develop
      
      * FC MKL-DNN: fix style changes
      
      test=develop
      
      * FC MKL-DNN: fallback to native on non-supported dim sizes
      
      test=develop
      
      * FC MKLDNN: fix CMake paths
      
      test=develop
      
      * FC MKLDNN: Refine placement pass graph mkldnn attribute
      
      test=develop
      
      * Fix Transpiler error for fuse_conv_eltwise
      
      test=develop
      
      * Fix missing STL includes in files
      
      test=develop
      
      * FC MKL-DNN: Enable new output size computation
      
      Also, refine pass to comply with newest interface.
      test=develop
      
      * FC MKL-DNN: enable only when fc_mkldnn_pass is enabled
      
      * FC MKL-DNN: Allow Weights to use oi or io format
      
      * FC MKL-DNN: Adjust UT to work with correct dims
      
      test=develop
      
      * Enable MKL DEBUG for resnet50 analyzer
      
      test=develop
      
      * FC MKL-DNN: Improve Hashing function
      
      test=develop
      
      * FC MKL-DNN: Fix shape for fc weights in transpiler
      
      * FC MKL-DNN: Update input pointer in re-used fc primitive
      
      * Add log for not handling fc fuse for unsupported dims
      
      test=develop
      
      * FC MKL-DNN: Move transpose from pass to Op Kernel
      
      test=develop
      
      * FC MKL-DNN: Disable transpose in unit test
      
      test=develop
      
      * FC MKL-DNN: Remove fc_mkldnn_pass from default list
      
      * Correct Flag for fake data analyzer tests
      
      test=develop
      
      * FC MKL-DNN: Add comment about fc mkldnn pass disablement
      
      test=develop
      
      * FC MKL-DNN: Disable fc in int8 tests
      
      test=develop
      0c39b97b
    • S
      Conv concat relu quantization (#17466) · 5b2a3c4b
      Sylwester Fraczek 提交于
      * add conv_concat_relu fuse
      
      test=develop
      
      * add test code
      
      test=develop
      
      * added missing include with unordered_map
      
      test=develop
      
      * review fixes for wojtuss
      
      test=develop
      
      * remove 'should (not) be fused' comment statements
      
      one of them was invalid anyway
      
      test=develop
      5b2a3c4b
  36. 22 5月, 2019 1 次提交
    • G
      Enable the convolution/relu6(bounded_relu) fusion for FP32 on Intel platform. (#17130) · 2281ebf0
      guomingz 提交于
      * Relu6 is the bottleneck op for Mobilenet-v2. As the mkldnn supports the conv/relu6 fusion, we implement it fusion via cpass way. Due to the int8 enabling for this fusion will be supported in MKLDNN v0.20, so this PR is focused on the fp32 optimization.
      
      Below table shows the benchmark(FPS) which measured on skx-8180(28 cores)
      Batch size | with fusion | without fusion
      -- | -- | --
      1 | 214.7 | 53.4
      50 | 1219.727 | 137.280
      
      test=develop
      
      * Fix the format issue
      
      test=develop
      
      * Add the missing nolint comments.
      
      test=develop
      
      * Fix the typos.
      
      test=develop
      
      * Register the conv_brelu_mkldnn_fuse_pass for the MKLDNN engine.
      
      test=develop
      
      * Adjust the indentation.
      
      test=develop
      
      * Add the test_conv_brelu_mkldnn_fuse_pass case.
      
      test=develop
      
      * Slightly update the code per Baidu comments.
      Let the parameter definition embedded into the code.
      That's will make the code easy to understand.
      
      test=develop
      2281ebf0
  37. 20 5月, 2019 1 次提交