Commit Graph

244 Commits

Author SHA1 Message Date
YdrMaster 0833a2f779 feat: 导出加减乘除幂到 onnx
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-15 15:09:12 +08:00
YdrMaster f2591edbb4 feat: 导出 OpType,为节点命名
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-15 15:09:12 +08:00
YdrMaster fe81fccf76 feat: 导出 OperatorObj
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-15 15:09:12 +08:00
YdrMaster 45a3cdfa30 feat: GraphObj 增加一个拓扑排序方法及其测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-15 15:09:12 +08:00
YdrMaster f20e791cf5 style: 修改 graph.h/graph.cc
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-15 15:09:12 +08:00
Haojie Wang 0f52d04882
Merge branch 'master' into dev-onnx 2023-03-15 14:52:03 +08:00
YdrMaster 978269162a fix: 移除 c++ 中的中文注释,python TODO 改 FIXME
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-03-15 14:48:39 +08:00
deathwings602 40d1b1c91b
Add ConvTransposedNHWC (#67)
* Add: IT_ASSERT_TODO

* [WIP] Add: ConvTranspose2d mutation test

* add ConvTransposedNHWC

* fix test_cuda_transposed_2d

---------

Co-authored-by: Liyan Zheng <liyan-zheng@outlook.com>
Co-authored-by: huangshuhong <huangsh19@mails.tsinghua.edu.cn>
2023-03-01 14:15:02 +08:00
YdrMaster 6871fff02b feat: 导出分配内存和运行推理的接口
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-23 11:08:00 +08:00
YdrMaster d7e52054e6 fix: 修正 GlobalAveragePool 和 Reshape 导入
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-23 08:59:06 +08:00
YdrMaster 4c7fdf44c5 feat: 前端支持 Conv 及单元测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-22 15:05:44 +08:00
YdrMaster ce04177585 style: use __path__ to import
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-21 09:17:34 +08:00
YdrMaster 6a4de807e6 style: remove non-ascii comments from cpp
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-16 14:57:51 +08:00
YdrMaster c9fee3f667 feat: 前端支持 GlobalAveragePool 及单元测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-16 10:33:24 +08:00
YdrMaster 391b9d16c0 cleanup
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-15 14:08:30 +08:00
YdrMaster afa90ec9c9 feat: 前端支持 gemm 及单元测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-15 13:20:34 +08:00
YdrMaster 315763a83a feat: 前端支持 pad 及单元测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-15 11:41:06 +08:00
YdrMaster 7893ae0cca opt: 优化 PadObj 和 SplitObj 构造器实现
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-15 11:28:49 +08:00
YdrMaster bb0e7540cc fix: revert ci yml
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-15 07:45:21 +08:00
YdrMaster 8fae67b4b4 feat: 前端支持 slice 及单元测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-14 17:35:18 +08:00
YdrMaster f9d0076a86 opt: 优化 SliceObj 构造器实现
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-14 16:44:08 +08:00
YdrMaster 341cf1f943 feat: 前端支持 pool 及单元测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-14 16:26:47 +08:00
YdrMaster 62ceb78ae3 feat: 前端支持 reduceMean 及单元测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-14 15:35:01 +08:00
YdrMaster fb9d84dbb7 opt: 优化 ReduceMeanObj 构造器实现
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-14 15:14:28 +08:00
YdrMaster d11fb0ad5f feat: 前端支持 gather 及单元测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-14 14:16:01 +08:00
YdrMaster 45aa0237da feat: 前端支持 concat 及单元测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-14 13:42:35 +08:00
YdrMaster a7e58bd8d0 feat: 补充 DataType 类型
- 增加了 6 个代数类型,与 onnx 的序号对应
- 现在可以导入 reshape 了

Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-14 11:27:57 +08:00
YdrMaster d9e2953425 fix: 改正 reshap 导入
- 从 initializer 拿到 reshape 的 shape 值
- 但 reshape 仍然无法导入,因为无法分辨 shape 其实不是一个后端张量

Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-14 10:14:55 +08:00
YdrMaster 7626efbfa8 feat: 前端支持 reshape
- 无法测试,因为后端不支持 shape 的 INT64 类型

opt: ReshapeObj 构造改为全部传值并在内部 move
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-14 09:51:11 +08:00
YdrMaster ee0a562006 test: batchNorm 单元测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-14 08:54:58 +08:00
whjthu 26be533faa Add documentation for operators. 2023-02-13 22:51:15 +08:00
YdrMaster cca4d2a491 feat: 前端支持 batchNorm(无单元测试)
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-13 17:15:35 +08:00
YdrMaster e194dd943b feat: 前端支持 flatten 及单元测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-13 13:50:07 +08:00
YdrMaster e4ec9c4230 feat: 前端支持 identity 及单元测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-13 12:26:11 +08:00
YdrMaster 7f0c8ebae3 feat: 前端支持 relu sigmoid tanh softmax abs 及单元测试
Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-13 11:54:54 +08:00
YdrMaster 6e5beceadd feat: 增加 add sub mul div pow 前端
- 添加每个算子的单元测试
- 添加线性回归模型导入测试

Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-13 11:25:54 +08:00
YdrMaster 296fcc5aa0 feat: 创建 pyinfinitensor 前端
- python 前端项目结构及打包和安装脚本
- 后端编译出 so 改名为 backend,增加 GraphHandler 修改图结构
- ci 支持测试这些功能

Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-13 09:19:05 +08:00
zhengly123 c7ec9ee6e7
Add search engine (#64)
* Add: tensor fuid

* [Intermediate state] Add: Graph ctor for OpVec

* Add: clone for operators

* tmp: search_engine

* search: init search Engine.

* Add: dummy mutator for the test of search engine

* search: add print graph.

* search: add partition.

* search: update comments.

* Fix: remain FUID in Tensor::clone

* Chore: rename GUidBaseType to UidBaseType

* Fix: connect NMutator to SearchEngine

* Chore: output

* Fix test_memboundOp: nmutator uses input runtime

* Chore: clang-format

* Chore: clang-format

* Fix: comments in the review

---------

Co-authored-by: Liyan Zheng <liyan-zheng@outlook.com>
Co-authored-by: mazx <dyxdy@live.com>
2023-02-12 18:27:52 +08:00
YdrMaster 14c9c82dab
test: enhance ci (#62)
* test: enhance ci

Signed-off-by: YdrMaster <ydrml@hotmail.com>

* typo: README.md

Signed-off-by: YdrMaster <ydrml@hotmail.com>

* fix: typo in workflow files

Signed-off-by: YdrMaster <ydrml@hotmail.com>

* test: ci 安装 protobuf

Signed-off-by: YdrMaster <ydrml@hotmail.com>

* test: cache protobuf

Signed-off-by: YdrMaster <ydrml@hotmail.com>

* docs: update README.md

Signed-off-by: YdrMaster <ydrml@hotmail.com>

* test: ci 调试完成,恢复只在代码更新时执行

Signed-off-by: YdrMaster <ydrml@hotmail.com>

* test: ci 执行 cpu 上测试

Signed-off-by: YdrMaster <ydrml@hotmail.com>

* fix: action paths

Signed-off-by: YdrMaster <ydrml@hotmail.com>

* build: 4 个 submodule 规范到发布版本号

> <https://github.com/ArthurSonzogni/nlohmann_json_cmake_fetchcontent>
> 这个项目无法使用最新版因为每个次级版本号 api 都有变化,目前使用的是最接近原来版本的 v3.10.5

Signed-off-by: YdrMaster <ydrml@hotmail.com>

* typo: README.md

Signed-off-by: YdrMaster <ydrml@hotmail.com>

* test: 扩大测试执行范围方便后续扩充检查范围

Signed-off-by: YdrMaster <ydrml@hotmail.com>

* docs: update README.md

Signed-off-by: YdrMaster <ydrml@hotmail.com>

---------

Signed-off-by: YdrMaster <ydrml@hotmail.com>
2023-02-12 00:01:36 +08:00
wendy12022 d780f687fc
ADD: reconfig ResizeObj, support "tf_crop_and_resize " and cubic coeff kernel. (#59)
add cubic coef

add tf_crop_and_resize
2022-12-24 04:02:21 +08:00
wendy12022 c5966f8d81
Add: resize operator and cuda kernel,support nearest/linear coef. (#51)
ADD: resize operator and cuda kernel,support nearest/linear coef.

fix some

fix tests

add more tests for linear mode.

add linear coef mode.

add scales

add tests

fix tests.

add notLarger notSmaller

fix

add test

ADD:resize operator and cuda kernel
2022-11-14 09:30:22 +08:00
zhengly123 63d8aff985
Fix: cuCtxCreate before other initialization (#49)
Fix: create cuCtx at the very beginning

Co-authored-by: Liyan Zheng <liyan-zheng@outlook.com>
2022-10-19 15:41:48 +08:00
Zixuan Ma 00b2f18c17
Fix: unsigned compare in test (#50)
fix: unsigned compare in test.

Test project /home/mazx/git/InfiniTensor/build
      Start  1: test_graph
 1/18 Test  #1: test_graph .......................   Passed    0.03 sec
      Start  2: test_hash
 2/18 Test  #2: test_hash ........................   Passed    0.01 sec
      Start  3: test_tensor_save
 3/18 Test  #3: test_tensor_save .................   Passed    0.02 sec
      Start  4: test_verify
 4/18 Test  #4: test_verify ......................   Passed    0.01 sec
      Start  5: test_batch_norm
 5/18 Test  #5: test_batch_norm ..................   Passed    0.01 sec
      Start  6: test_concat
 6/18 Test  #6: test_concat ......................   Passed    0.01 sec
      Start  7: test_conv
 7/18 Test  #7: test_conv ........................   Passed    0.24 sec
      Start  8: test_conv_transposed_2d
 8/18 Test  #8: test_conv_transposed_2d ..........   Passed    0.01 sec
      Start  9: test_element_wise
 9/18 Test  #9: test_element_wise ................   Passed    0.01 sec
      Start 10: test_extend
10/18 Test #10: test_extend ......................   Passed    0.01 sec
      Start 11: test_gather
11/18 Test #11: test_gather ......................   Passed    0.01 sec
      Start 12: test_matmul
12/18 Test #12: test_matmul ......................   Passed    0.01 sec
      Start 13: test_pad
13/18 Test #13: test_pad .........................   Passed    0.01 sec
      Start 14: test_pooling
14/18 Test #14: test_pooling .....................   Passed    0.01 sec
      Start 15: test_reduce_mean
15/18 Test #15: test_reduce_mean .................   Passed    0.01 sec
      Start 16: test_reshape
16/18 Test #16: test_reshape .....................   Passed    0.01 sec
      Start 17: test_slice
17/18 Test #17: test_slice .......................   Passed    0.01 sec
      Start 18: test_split
18/18 Test #18: test_split .......................   Passed    0.02 sec

100% tests passed, 0 tests failed out of 18
2022-10-19 15:03:03 +08:00
zhengly123 4e0040c8a0
Add: connection among tensors and operators (#45)
* Add: refs_to_wrefs and wrefs_to_refs

* Add: op and tensor connection

* Add: inception-v3 block test

* Refactor: addOperatorAndConnect

Co-authored-by: Liyan Zheng <liyan-zheng@outlook.com>
2022-10-18 22:02:51 +08:00
wendy12022 d1c913010f
ADD:reduce_mean operator and cuda kernel. (#47)
add new line at file ending.
2022-10-15 16:53:58 +08:00
wendy12022 a4d6426589
ADD: batch norm operator and cuda kernel. (#44)
fix numInputs of batchNorm, add new line in file ending.

ADD: batch norm operator and cuda kernel.

add training

remove comments.

fix compile error.

add batch norm operator and cuda kernel.
2022-10-15 16:29:28 +08:00
zhengly123 1152adc94a
Add: python API for timing ConvTranspose (#46)
* Add: python interfaced for timing operators

* Fix: CUDA Runtime run

Co-authored-by: Liyan Zheng <liyan-zheng@outlook.com>
2022-10-07 16:03:11 +08:00
Hardy b0c2a08252
Support bang c kernel wanghailu 0927 (#43)
* fix a little bug which found by new verison CMake

* add code for support BangC language kernel , just like Cuda kernel, not
library

* add bangc kernel

* support BangC kernel

* add code for support BangC kernel

* support bangc kernel

* fix some code from reviewer

* fix code of template fumction

* add code for support bangc kernel

* fix bangc format

Co-authored-by: wanghailu <wanghailu@qiyuanlab.com>
Co-authored-by: Haojie Wang <haojie0429@gmail.com>
2022-09-30 11:01:52 +08:00
wendy12022 26cee55e81
ADD:extend operator and cuda kernel. (#40)
Co-authored-by: Haojie Wang <haojie0429@gmail.com>
2022-09-29 14:52:50 +08:00
wendy12022 fe14c91f54
ADD: Gather operator and cuda kernel. (#41)
fix a memory leak.

add tests.

ADD gather cuda kernel.

ADD gather operator

Co-authored-by: Haojie Wang <haojie0429@gmail.com>
2022-09-29 14:44:20 +08:00