- 06 12月, 2021 1 次提交
-
-
由 heliqi 提交于
* add test_unsqueeze2_eltwise_fuse_pass * fix name conflictn * rebuild CI
-
- 03 12月, 2021 1 次提交
-
-
由 ronnywang 提交于
* refine structure for cuda and rocm * update * update * update * update
-
- 02 12月, 2021 1 次提交
-
-
由 wenbin 提交于
* first commit * more uts * file name duplicated * timeout * Update CMakeLists.txt change TIMEOUT from 120 to 240 * Update CMakeLists.txt more time * Update CMakeLists.txt timeout * Update CMakeLists.txt 60s
-
- 01 12月, 2021 2 次提交
- 29 11月, 2021 1 次提交
-
-
由 Wilber 提交于
-
- 19 11月, 2021 1 次提交
-
-
由 wuhuanzhou 提交于
* GeneratePass support attr condition and mapping, test=develop * fix coverage, test=develop * Add fuse_resnet_unit pass, test=develop * fix CI errors, test=develop * fix CI errors, test=develop * fix unittest error when compiling without CUDA, test=develop * fix static ci error, test=develop * limit kernel size must equal 1, test=develop
-
- 15 11月, 2021 1 次提交
-
-
由 Zeng Jinle 提交于
* add split_program * make ut faster * increase ut timeout * make result deterministic * add fuse_all_reduce pass * add ut framework, update * fix ut framework * remove useless code * add coverage support * update * fix CI * fix some bugs and fix ci coverage * fix conflict
-
- 11 11月, 2021 2 次提交
-
-
由 Huihuang Zheng 提交于
Add test property RUN_TYPE=CINN to CINN unit tests. It will restrict Paddle-CINN CI to run these unit tests only.
-
由 jakpiase 提交于
* added softplus + activation fuse plass * minor change * implemented reviewer suggestion * minor fix * minor fix * added scale_out parameter * minor fix * fix for iScan CI * conditionally disabled logs * refactored pass builder
-
- 08 11月, 2021 1 次提交
-
-
由 Wilber 提交于
-
- 02 11月, 2021 1 次提交
-
-
由 jakpiase 提交于
* added conv + hard_sigmoid fuse pass * Removed IsOptional() statements * Reverted removing optional
-
- 28 10月, 2021 1 次提交
-
-
由 XGZhang 提交于
* support inference for quantized matmul_v2 * undate code style * code style
-
- 27 10月, 2021 2 次提交
-
-
由 wuhuanzhou 提交于
* GeneratePass support attr condition and mapping, test=develop * fix coverage, test=develop
-
由 Wilber 提交于
-
- 26 10月, 2021 1 次提交
-
-
由 Wangzheee 提交于
[Paddle-Inference]Add MatmulV2ToMatmul convert Pass, fix (matmul_v2, matmul, mul) convert pass, fix (matmul, mul) op_teller (#36652) * new_Matmul2ToMatmulToMul * new_Matmul2ToMatmulToMul * fix paddle_pass_builder * fix paddle_pass_builder * fix paddle_pass_builder * tem * tem * Add MatmulV2ToMatmul convert Pass; MatmulV2ToMul convert Pass * Add MatmulV2ToMatmul convert Pass; MatmulV2ToMul convert Pass * add matmul_broadcast_unitest * fix op_teller
-
- 23 10月, 2021 1 次提交
-
-
由 Huihuang Zheng 提交于
This PR added some changes to match the CINN change for compilation. It also tried to fix JiangCheng's Problem in PR: https://github.com/PaddlePaddle/Paddle/pull/36100 These changes include: 1. Set `CINN_GIT_TAG` to a newer tag 2. CINN now just `make cinnapi -j` 3. We have to add `-DPY_VERSION=${PY_VERSION} -DWITH_TESTING=ON` to CINN cmake args 4. For CINN's third party dependencies, we could just include headers without target_link_libraries 5. Moved `cinn.cmake` from `paddle/cmake` to `paddle/cmake/external` to match old style. External folder contains `lite`, which is the same level of `cinn` 6. CINN added `-DNAMESPACE=cinn_gflags` in `gflags.cmake` to have different gflag namespaces between CINN and Paddle. It solved re-define problem. 7. Change namespace of `::google::` in gflags to `::GFLAGS_NAMESPACE`
-
- 21 10月, 2021 1 次提交
-
-
由 jakpiase 提交于
* added base changes for matmul_v2+trans+resh fuse pass * added full matmul_v2+transpose+reshape pass * removed a file added by mistake * added reviewers suggestions * Changed ops type in checking capatibility version * Deteled one statement
-
- 20 10月, 2021 2 次提交
-
-
由 Wilber 提交于
-
由 Huihuang Zheng 提交于
Add CINN compile option in CMake. Now you can use CINN in Paddle by `-DWITH_CINN=ON` when `cmake` To test it, you can run `make cinn_lib_test -j` and `ctest -R cinn_lib_test`. Note: 1. You should set ``` export runtime_include_dir=${CINN_SOURCE_DIR}/cinn/runtime/cuda ``` When run test, the `${CINN_SOURCE_DIR}` should be set based on your CINN directory. 2. CINN is under developing now, you may have to change `CINN_GIT_TAG` to the git commit you need.
-
- 18 10月, 2021 1 次提交
-
-
由 xiaoxiaohehe001 提交于
* add_quant_axis * add_quant_axis * --amend * Update quant_conv2d_dequant_fuse_pass.cc
-
- 15 10月, 2021 2 次提交
-
-
由 Zhang Zheng 提交于
-
由 jiangcheng 提交于
* Add CinnSubgraphSearchPass * solve CI problem of subgraph order not same * fix some bug by review advices * ensure the independently of subgraph, that mean the subgraph should not have link to out-graph * rename cinn_subgraph_search_pass to build_cinn_pass and delete paddle_to_cinn_pass * add flag to control wheter append build cinn pass * remove AppendPass at ParallelExecutorPassBuilder * rename paddle_to_cinn_pass to build_cinn_pass in build_strategy and close test_run_from_cinn
-
- 14 10月, 2021 2 次提交
- 13 10月, 2021 2 次提交
-
-
由 wuhuanzhou 提交于
Check detail PR description at https://github.com/PaddlePaddle/Paddle/pull/36116
-
由 Wangzheee 提交于
* add_int_pass * add_int8_flag_pass * add_int8_flag_pass * fix CMakeLists.txt * fix test_trt_fc_fuse_quant_dequant_pass.py * fix python/paddle/fluid/tests/unittests/ir/inference/test_trt_fc_fuse_quant_dequant_pass.py * fix test_trt_fc_fuse_quant_dequant_pass.py
-
- 11 10月, 2021 3 次提交
-
-
由 jakpiase 提交于
-
由 wangxinxin08 提交于
* add mish trt plugin, compile & install success, run error. test=develop * modify code according to review * add TRT_NOEXCEPT for mish trt plugin * add unittest for mish trt plugin * remove unnecessary check of mish in op_teller.cc * fix some problem of trt8 * add check and modify unittest while converting mish to trt plugin Co-authored-by: Ndengkaipeng <dengkaipeng@baidu.com>
-
由 Huihuang Zheng 提交于
Add use_cinn flag and use it to control whether we run PaddlePaddle using CINN. Also add: Replace PaddlePaddle graph with a CINN graph in a pass PE Method to feed data and run the graph by CINN
-
- 09 10月, 2021 1 次提交
-
-
由 wuhuanzhou 提交于
支持C++开发注册GeneratePass,简化针对fusion等子图优化场景开发方式。
-
- 08 10月, 2021 1 次提交
-
-
由 Zeng Jinle 提交于
* support CUDA Graph on PE * add ut, fix CI compile * reduce memory consumption * fix CUDA 10 CI * improve coverage * improve python coverage
-
- 29 9月, 2021 1 次提交
-
-
由 baoachun 提交于
-
- 24 9月, 2021 1 次提交
-
-
由 baoachun 提交于
* add multihead_matmul trt converter test case * move attribute check to op_teller
-
- 22 9月, 2021 2 次提交
-
-
由 Tomasz Socha 提交于
* Fix copy elision warning * Remove redundand code
-
由 Wangzheee 提交于
-
- 18 9月, 2021 2 次提交
-
-
由 Huihuang Zheng 提交于
Add basic Cost Model, it uses executor to run program and profile it to get op time. This is an early basic version, we will add more functions in the future.
-
由 Wilber 提交于
-
- 17 9月, 2021 2 次提交
-
-
由 Zeng Jinle 提交于
-
由 wuhuanzhou 提交于
#### 背景 #35602 提供Python侧开发子图替换类Pass的方式: - 利用Paddle Python API或者辅助类型定义子图program用来匹配/替换图; - Python侧注册Pass时,将注册函数最终转换为protobuf定义的PassDesc数据形式,供C++侧进行解析完成Pass实例注册。 本PR即为根据PassDesc规则描述解析生成Pass实例。 #### 方案设计 ##### Pass规则验证 在以往的Pass开发中,会存在随着算子迭代引发的匹配失效或者错误匹配的问题,该问题可以通过扫描算子支持的参数设置及参数类型等来判断是否应该使用该Pass或者给出提示需要修改Pass代码。 当前Pass开发中提供了算子兼容性OpCompatSensiblePass用于解决上述问题。但同时还存在不足:由于以往Pass开发在运行时才能获取到pattern信息,所以需要在执行Pass时才可以判断。 使用PassDesc表示的Pass可以在执行Pass前验证上述问题,这个过程在VerifyDesc中完成。 ##### 根据匹配子图构造pattern GeneratePass对于图匹配和替换使用GraphPatternDecetor完成,构造匹配pattern实际上就是将对应对象成员PDPattern中添加PDNode和边关系。该过程在函数`InitGeneratePattern`中完成,该函数没有作为GeneratePass的成员方法,主要出于后续可能开发新的Decetor考虑,GeneratePass与Decetor的操作是没有关联的。 初始化pattern主要通过遍历匹配子图program的全部算子实现: 1. 添加当前算子对应PDNode及限制条件(算子类型、属性限制等); 2. 遍历当前算子对应输入并从pattern中尝试获取PDNode: - 在pattern中获取到PDNode且为输出节点:表示属于匹配子图的中间节点,将该PDNode设置为中间节点; - 在pattern中没有获取到PDNode:添加该输入PDNode并设置作为输入节点; - 设置输入到算子的边关系; 3. 遍历当前算子对应输出: - 在pattern中获取到PDNode且为输入节点:表示属于匹配子图的中间节点,将该PDNode设置为中间节点; - 在pattern中没有获取到PDNode:添加该输入PDNode并设置作为输出节点; - 设置算子到输出的边关系; ##### 根据替换子图操作graph 替换子图操作的过程在`GetGenerateRewrite`函数中完成,与`InitGeneratePattern`类似没有作为GeneratePass的成员方法。 生成替换子图操作过程如下: 1. 判断冗余替换子图; 2. 遍历替换子图program的全部算子添加替换子图Node: 1. 添加当前算子的Node及属性设置; 2. 遍历当前算子对应输入,添加中间variable节点; 3. 遍历当前算子对应输出,添加中间variable节点; 4. 添加输入/输出节点与算子节点的边关系; 3. 删除匹配图中属于中间节点的Node; ##### 优化子图验证 对于替换子图或者替换后的计算图是否可以正确运行等,可以在执行Pass时验证,从而防止在后续执行计算图时出现异常。 当前Pass执行直接修改计算图,验证失败时无法很好的完成还原操作,目前子图验证暂时默认成功,留到后续改进。
-