YdrMaster
9cfe223953
refactor: 重命名 optimization,以后可以分离为 submodule
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
34f7d7e9ed
feat: 图变换相关类分到单独文件中,并模板化。
...
划分子图时提供一个模板化的子图类型。
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
59a46f3ff9
feat: Rating 评分对分归一化
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
72788e8e0a
feat: 实现子图合并
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
bd61cf4533
docs: 补充文档
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
f0f8915433
docs: 补充文档
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
bb5bfb0be8
docs
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
a56e86dfa9
feat: 提供子图划分、突变生成和评分的类型
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
5129d312d2
feat: 重写
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
45f7e891f1
feat: 增加 io_id 以支持子图划分
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
b4b5157bd4
feat: 增加更多示例
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
63cc93aadc
feat: 将数据和张量分离,单独保存
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
ddaf6685b3
fix: compile
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
385586d57b
docs: 补充文档
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
320468b627
try: 提出另一种图表示
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
8f38a41fb6
fix: compile
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
a6a0141234
feat: 整理每个子图的突变和评价算法
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
36b0c5855c
feat: 添加 PassManager 的运行
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
0ad0150b87
feat: 添加 Pass 的构造
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
334e0cccbc
feat: 添加互换图排序依据的实现
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
YdrMaster
cc6c18b00f
feat: 调整优化接口
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-08-04 16:05:22 +08:00
whjthu
d9da06eb67
init optimization-pass
2023-08-04 16:05:22 +08:00
zhangyunze
9b10a74788
支持fp16 dtype ( #96 )
...
* add conv_half kernel
* Conv Kernel FP16
* dcj:
replace "DataType::Float32" with "op->getDType()" to support more DataType
* feat: support Float16 dtype
* fix: set default clang-format to 14 version
* fix: 按照review意见修改
* fix: add data convert to convfp16 kernel test
* test: add conv_fp16 kernel test
---------
Co-authored-by: zhangyue207 <zhangyue@qiyuanlab.com>
Co-authored-by: kilinchange <kilinchange@163.com>
2023-08-02 16:38:16 +08:00
Derui Yang
1dc65e2788
build: 实现格式化 git added c/c++ 源码的脚本 ( #98 )
...
* build: 实现格式化 git added c/c++ 源码的脚本
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 扩充 c 风格文件类型
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: format py files
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 支持从任意 commit 开始格式化所有修改的文件
Signed-off-by: YdrMaster <ydrml@hotmail.com>
---------
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-07-21 12:29:50 +08:00
YdrMaster
f7de8113e0
fix: 修正 README.md ( #93 )
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-07-11 10:03:38 +08:00
YdrMaster
7023454e32
Update docs ( #92 )
...
* docs: 规范化文档
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* Update README.md
---------
Signed-off-by: YdrMaster <ydrml@hotmail.com>
Co-authored-by: zhengly123 <zhengly123@outlook.com>
2023-07-10 02:31:45 +08:00
Hardy
ab74b6a321
Update doc 0627 ( #89 )
...
* update doc of mlu
* delete README_CN.md. because the file has been split into INSTALL_GUIDE_CN.md and USER_GUIDE_CN.md at 2023.06.23
* remove the build Dependencies of test-cpp, avoid twice build
* fix code
---------
Co-authored-by: wanghailu <wanghailu@qiyuanlab.com>
2023-07-06 16:57:10 +08:00
constroy
579cdbbb81
fix ReduceMean and element_wise ( #90 )
...
* feat: 导出 getPerfTime 到 python
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix parsing of ReduceMean
* ReduceMean axes defaults to None
* fix ElementWiseCudnn with shape broadcasting
* fix format
---------
Signed-off-by: YdrMaster <ydrml@hotmail.com>
Co-authored-by: YdrMaster <ydrml@hotmail.com>
2023-06-29 07:15:07 +08:00
Hardy
19d7dc871d
update doc ( #83 )
...
* update doc
* update doc
* update doc
* update doc
* add code
* add code
* update doc
* update doc
* add env.sh and update install guide
* fix
* fix bug
* fix
* add code
* code format
* Update exception.cc
---------
Co-authored-by: wanghailu <wanghailu@qiyuanlab.com>
Co-authored-by: wanghailu <wanghailu0717@163.com>
2023-06-23 14:22:52 +08:00
YdrMaster
26f0d13c26
Dev for 202303ddl ( #66 )
...
* add activation operatiopn relu, tanh, sigmoid on mlu
* commit for format
* add activation backward operation
* add test for activation_backward
* add test
* add convbpfilter
* fix
* add transpsoe code and test
* add trigon function operation on mlu: sin,cos,tan,asin,sinh,asinh
* add copy operation on mlu
* add ceil operation and floor operation
* add operation clip
* add operation cnnl div, test and test for divdemo bangc kernel
* add divnonan operation and test
* add erf operation
* add exp operation
* add operation fill
* add log operation
* add log1p operation
* add l2loss operation
* add maximum and minimum operation
* add mseloss operation
* add negTensor operation
* add power operation
* add reciprocal operation
* add sqrt and rsqrt operation
* add transform operation
* add addn operation
* add muln operation
* cherrry pick some operation
* add floordiv operation and floordivtrunc operation
* add floormod operation
* add cumsum operation
* add det operation
* add pad operation
* format
* add concat operation
* format
* add split operation
* fix concat and split operation
* add round operation
* add pooling operation
* add square operation
* add squaredDifference operation
* code format fix
* add flip operation
* code format fix
* add hardtanh operation
* add logic operation
* add addcdiv and addcmul operation
* add arange operation
* add bitcompute operation
* add net test
* fmt
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* style: rename
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix: 用 NativeCpuRuntime 替换 CpuRuntime
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix code
* fix code
* fix code by review suggestion
* remove operation which is not the onnx operation
* fix format
* clang format
* refactor: tensor 的 print 加一层模板的 dataToString
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix: onnx 导出
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 增加计算图优化接口
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* add clip operation
* feat: 支持导入 clip
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* test: 导入导出测试加入 ci
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix batch norm
* feat: 增加 Shape 算子
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 支持导入 unsqueeze
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix: 修正 clip 接口
feat: 支持导入 transpose
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* add broadcast operation
* fix elementwise-broadcast
* fix elementwise broadcast
* add broadcast for gpu elementsie
* feat: pad 支持 axes 负数
feat: 不支持的 padding 导出为独立的 pad 算子
feat: 支持导入 onnxsim 过的 inception
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix: 修正池化的测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 导出 pads,支持 inception 导入导出,已加入 ci
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 支持 densenet 导入导出,并加入 ci
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 导入 squeeze
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix softmax
* feat: 导出 clip 和 transpose
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 支持 Conv 的 bias
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix: bias of conv
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix: bias of conv
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 导入 split
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 导出 split
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix: conv
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix: conv group
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix: matmul 的 bias 没有放在输入里,修正
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix exmaple
* fix: 改正 reduce_mean 导出
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* refactor: 修改 slice 实现与 onnx 一致
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* style: 不导出两个 runtime 函数
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* doc: 中文使用指南
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* doc: 补全指南
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix: 修复导入数据的问题
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fmt
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 添加 Dropout 基本结构,但不支持两个输出是不同的类型
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 重新导出优化接口
feat: dropout 导入
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* build: BANG 选项加入 Makefile
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fxi code, change of test/kernels/bang/test* is use NativeCpuRuntime.
chaneg of include/bang/bang_runtime is for the cntoolkit upgrade.
* feat: 导出 bang runtime
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* add USE_BANG=1
* fix matmul
* fix reshape
* fix
* fix activation
* fix transpose
* format
* format
* update Makefile
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 支持导入导出 ConvTranspose
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* add prelu on mlu
* fix: ConvTranspose
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* feat: 支持导入导出 PRelu
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* add convtrans on mlu
* fmt
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* docs: 更新 README_CN.md
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix code by review suggestions
* style
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix: Softmax 的 axis 可以用默认值?感觉是 onnx 不标准
Signed-off-by: YdrMaster <ydrml@hotmail.com>
* fix cuda & intelcpu bugs after merging
---------
Signed-off-by: YdrMaster <ydrml@hotmail.com>
Co-authored-by: wanghailu <wanghailu0717@163.com>
Co-authored-by: wanghailu <wanghailu@qiyuanlab.com>
Co-authored-by: whjthu <haojie0429@gmail.com>
2023-04-18 15:10:33 +08:00
zhengly123
a1974aabcd
NNET supports TVM backend and kernels ( #78 )
...
* Add: mutator InfoGAN minimum test
* Add: cache and padding (bugs!!)
* Add: expression reader as a cmake target
* Fix: [Intermediate] NMutator::expressionToGraph
To be fix: matmul with implicit broadcast
* Add: matmul broadcast
* Fix: GraphObj ctor should use cloneTensor
* Fix: cuBLAS failure when codegen is enabled
* Add: Exception for checkCuError
* Fix: graph OpList ctor
* Add: expr simplication for TVM
* Add: TVM headers and CMake include paths
* Add: CMake config
* Add: PackedFunc (broken)
* Fix: remove cuCtxCreate which makes TVM fails
* Fix: membound_tvm
* Fix: test_memboundOp
* Add: PRelu Expr and AsTVMVisitor
* Add: Random generator
* Add: support TVM packed function
* Fix: specify runtime
* Add: CMake support of TVM
* Add: detailed output of Matmul
* Add: comments for Matmul
* Chore: format and comments
* Chore: GraphObj::selfCheck without assert control
* Fix: CMAKE_CXX_FLAGS in CMakeLists
* fix merge bug
* update api for mkl batchnorm test
* fix lotus env
* fig header bug
---------
Co-authored-by: Liyan Zheng <liyan-zheng@outlook.com>
Co-authored-by: huangshuhong <huangsh19@mails.tsinghua.edu.cn>
Co-authored-by: whjthu <haojie0429@gmail.com>
2023-04-18 00:26:36 +08:00
wendy12022
43d4798323
ADD: sub graph replacement. ( #56 )
...
reconfig: connections among op and tensor now is managered by GraphObj .
add some comments
merge from master
merge from master
ADD: sub graph replacement
reconfig inputs of op resize, due to the check of operator inputs.
ResizeObj::clone
clang format
fix some and add test for multi-output.
replacement support multi-inputs and multi-outputs.
add clone for all operators
add replaceSubGraph addSubGraph
remove extra code
add more test
remove extra print
Co-authored-by: Haojie Wang <haojie0429@gmail.com>
2023-04-17 13:09:07 +08:00
wendy12022
c8b2c8ed32
Cpu backend2 ( #77 )
...
fix review
change Device::MKL to Device::INTELCPU
fix mkl linkage
fix errors according to merge from master
now can call mkl backend
fix softmax/flatten with axis from onnx.
modify README.md
fix memory refree
add env_lotus_intelcpu.sh
fix compile
merge from branch cpu_backend
fix something add gather
fix something
FIX: directory rename from "mkl" to "intelcpu"
ADD: use oneMKL dpcpp interface to implement matmul kernel.
ADD: add dpcpp as compiler for mkl, and fix warnings for clang compiling.
add dpcpp kernel for pow.
ADD: mkl kernel for pad.
ADD: slice mkl kernel.
ADD: reshape/flatten/identity mkl kernel.
ADD: split mkl kernel.
fix compile error
FIX: fix flattenObj with axis.
ADD reduce_mean mkl kernel.
Add concat mkl kernel.
bathNorm for mkl kernel.
sigmoid mkl kernel.
ADD:add mkl kernel for pooling
add more tests for softmax
Now softmax cuda kernel supports any axises.
mkl kernel for softmax
softmax
add axis to softmax operator
add mkl kernel for abs tanh
ADD: relu kernel for mkl
fix binary mkl primitives.
add mkl kernel for binary operators
fix compiler error
move stream to runtime
clang format
add MemoryFormat for tensorObj.
use post_ops for fused conv/deconv
Distinguish mkl op_timer from cuda op timer.
add act optype to conv and deconv
add operator timer
add mkl kernel for convTransposed
minor fix for group conv
do not use cblas_sgemm_batch
CpuRuntimeObj->NativeCpuRuntimeObj
add matmul op for mkl
2023-04-17 12:15:23 +08:00
Hardy
fe1afe38fa
fix code of bang conv ( #76 )
...
* fix code of bang conv
* test: 向 master push 时也执行 ci
Signed-off-by: YdrMaster <ydrml@hotmail.com>
---------
Signed-off-by: YdrMaster <ydrml@hotmail.com>
Co-authored-by: wanghailu <wanghailu@qiyuanlab.com>
Co-authored-by: YdrMaster <ydrml@hotmail.com>
2023-03-29 15:47:32 +08:00
Hardy
823e66a9ff
Support perf bang 1115 ( #57 )
...
* support matmul
* add matmul
* add matmul
* add code for cnnl matmul operation and test
* add conv
* add code for conv test on mlu
* add code for test cnnl conv on mlu
* add code for perf conv and matmul on mlu
* clang format
* fix convolution operation
* fxi cmaklist
* code format
* fix code
* code format
---------
Co-authored-by: wanghailu <wanghailu@qiyuanlab.com>
Co-authored-by: wanghailu <wanghailu0717@163.com>
2023-03-29 13:52:56 +08:00
wendy12022
86ec4036ce
ADD: add mkl runtime for intel cpu , and add mkl kernel for matmul/conv/convtransposed. ( #61 )
...
* move memory format transformation to TensorObj
clang format
add MemoryFormat for tensorObj.
use post_ops for fused conv/deconv
Distinguish mkl op_timer from cuda op timer.
add act optype to conv and deconv
add operator timer
add mkl kernel for convTransposed
minor fix for group conv
do not use cblas_sgemm_batch
CpuRuntimeObj->NativeCpuRuntimeObj
add matmul op for mkl
* fix: fix bugs when rebasing from master
fix: fix bugs when rebasing from master
* fix: update api after rebasing
* fix: fix format; fix onnx import
* fix: fix clang-format
* [fix] fix conv_transpose test
* [fix] use stronger test case for transposed conv
* [fix] remove tensor memory format; fix mkl transpose conv
* [fix] add FIXME tag for op_timer python api
---------
Co-authored-by: whjthu <haojie0429@gmail.com>
2023-03-27 21:28:49 +08:00
Haojie Wang
65a3abf5dc
feat: inference ( #71 )
...
导出推理接口,支持通过 python 调用框架推理
2023-03-25 12:09:22 +08:00
whjthu
d9886e9de3
fix: remove inline keyword in class; rename getter and setter for inputOf and outputOf
2023-03-25 12:04:24 +08:00
YdrMaster
aff2b538ce
fix: 删除单独的拷贝函数
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-22 10:13:06 +08:00
wanghailu
64a5de51f3
fix
2023-03-22 10:08:31 +08:00
YdrMaster
5aeacedab3
fix: 从模板导出每个类型的 python 接口
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-22 09:46:40 +08:00
YdrMaster
73e895b8ce
feat: 导出拷出张量值方法
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-21 14:40:13 +08:00
YdrMaster
9db97eb212
refactor: 整合操作张量数据的方法
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-21 14:00:04 +08:00
YdrMaster
e1c976568d
fix: 增加推理接口
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-15 17:23:32 +08:00
YdrMaster
c18845a2fd
feat: 增加推理接口
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-15 17:23:32 +08:00
YdrMaster
6e1af09dd0
fix: remove print
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-15 17:23:32 +08:00
YdrMaster
e294e46436
feat: 导出 pool 到 onnx
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-15 17:23:32 +08:00
YdrMaster
8a871c3773
feat: 导出 conv 到 onnx
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-15 17:23:32 +08:00
YdrMaster
afed749b74
feat: 支持导出权重
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-15 17:23:32 +08:00
YdrMaster
40fb8390b1
feat: 导入时保存权重
...
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-15 17:23:32 +08:00