Update progress in SharingWork.md (#61)

* sharing work migrated to issue

* url

* updated shared work

Co-authored-by: Gheorghe-Teodor Bercea <gt.bercea@gmail.com>
This commit is contained in:
Alexandre Eichenberger 2020-04-06 18:13:28 -04:00 committed by GitHub
parent 8532a10614
commit 29e48add74
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 188 additions and 35 deletions

View File

@ -1,42 +1,195 @@
# ONNX to KRNL work
# Please keep up to date.
Please add row in first table when adding a new ONNX operator, and move to second table when work is completed
- As you start working on a new operation, move it from the lower table to the top table,
- write your name under 'person working on it,'
- once you have pushed the functionality in the master branch, mark it as complete.
ONNX operations for which some work is needed.
* M for multi-broadcast, U for unidir-broadcast
# ONNX to KRNL work.
Update as you push code to the master branch.
| ONNX Oper | Person working on it | ONNX 2 KRNL | Basic functionality | Extended functionality (e.g. broadcast) |
| ---------- | --------------------- | -------------- | --------------------- | ---------------------------------------- |
| Add | Tung (updated) | v | v | M |
| And | Tung | v | v | M |
| Cosh | Tung | v | v | |
| Div | Tung | v | v | M |
| Elu | Tung | v | v | |
| Exp | Tung | v | v | |
| FullGemm | | | | noU |
| Gemm | Tung | v | | U |
| HardSigmoid | Tung | v | v | |
| LeakyRelu | Tung | v | v | |
| MatMul | | | | noM |
| Max | Tung | v | v | M |
| Min | Tung | v | v | M |
| Mul | Tung | v | v | M |
| Or | Tung | v | v | M |
| Reciprocal | Imai | v | v | |
| Relu | Tung | v | v | |
| Selu | Tung | v | v | |
| Sigmoid | Tung | v | v | |
| Sign | Imai | v | v | |
| Sinh | Tung | v | v | |
| Softmax | Tung | v | v | |
| Sub | Tung | v | v | M |
| Sum | Tung | v | v | M |
| Tanh | Tung | v | v | |
| Xor | Tung | v | v | M |
| ONNX Operation | Person working on it | ONNX Def | Shape Inference | ONNX to KRNL | Optimized |Extended Functionality |
|----------------|-----------------|----|---|---|----|-------|
| Abs | | v | v | v | | |
| Add | | v | v | v | | M |
| And | | v | v | v | | M |
| AveragePool | Tung | v | v | v | | nP |
| BatchNorm | | v | v | v | | |
| Constant | | v | v | v | | |
| Conv | | v | v | v | | nP |
| Cos | | v | v | v | | |
| Cosh | | v | v | v | | |
| Div | | v | v | v | | M |
| Elu | | v | v | v | | |
| Exp | | v | v | v | | |
| Gemm | | v | v | v | | U |
| HardSigmoid | | v | v | v | | |
| Identity | | v | v | v | | |
| LeakyRelu | | v | v | v | | |
| Log | | v | v | v | | |
| MatMul | | v | v | v | | noM |
| Max | | v | v | v | | M V |
| MaxPool | | v | v | v | | M noIdx |
| Min | | v | v | v | | M V |
| Mul | | v | v | v | | noM |
| Or | | v | v | v | | M |
| Pad | | v | V | v | | const only |
| Reciprocal | | v | v | v | | |
| ReduceMax | | v | v | v | | |
| ReduceL1 | | v | v | v | | |
| ReduceL2 | | v | v | v | | |
| ReduceLogSum | | v | v | v | | |
| ReduceMin | | v | v | v | | |
| ReduceProd | | v | v | v | | |
| ReduceSum | | v | v | v | | |
| Relu | | v | v | v | | |
| Reshape | | v | v | v | | const only |
| Selu | | v | v | v | | |
| Sigmoid | | v | v | v | | |
| Sign | | v | v | v | | |
| Sinh | | v | v | v | | |
| Softmax | | v | v | v | | |
| Softplus | | v | v | v | | |
| Softsign | | v | v | v | | |
| Sqrt | | v | v | v | | |
| Sub | | v | v | v | | M |
| Sum | | v | v | v | | M V |
| Tanh | | v | v | v | | |
| Transpose | | v | v | v | | |
| Unsqueeze | | v | v | v | | |
| Xor | | v | v | v | | M |
### Extended functionality info (noXXX: additional work is needed).
ONNX operations for which the work is completed (full functionality) and tested
* M / noM: multi-broadcast imlemented / not implemented
* U / noU: unidir-broadcast implemented / not implemented
* P / noP: padding implemented / not implemented
* V / noV: variadic input implemented / non implemented
| ONNX Oper | Person working on it | Initial work | Basic functionality | Extended functionality (e.g. broadcast) |
| ---------- | ---------------------- | -------------- | --------------------- | ---------------------------------------- |
# Operation not supported yet.
Please pick new operations to work on, and make sure you utilize current code to minimize additional work needed to support new functionality.
Typical sequence of work.
1. Ensure the operation is properly parsed from ONNX and MLIR input.
2. Perform shape inference.
3. Lower to KRNL dialect.
And add literal tests at each step, and end to end tests once completed.
| ONNX Operation | Person working on it | ONNX Def | Shape Inference | ONNX to KRNL | Basic Functionality | Extended functionality |
|----------------|-----------------|----|---|---|----|-------|
| ACos | | | | | | |
| ACosh | | | | | | |
| ArgMax | | | | | | |
| ArgMin | | | | | | |
| ASin | | | | | | |
| ASinh | | | | | | |
| ATan | | | | | | |
| ATanh | | | | | | |
| BitShift | | | | | | M |
| Ceil | | | | | | |
| Celu | | | | | | |
| Clip | | | | | | |
| Compress | | | | | | |
| Concat | | | | | | V |
| ConcatFromSeq | | | | | | |
| ConstOfShape | | | | | | |
| ConvInt | | | | | | P |
| ConvTrans | | | | | | P |
| CumSum | | | | | | |
| DepthToSpace | | | | | | |
| DequantizeLin | | | | | | |
| Det | | | | | | |
| Dropout | | | | | | |
| DynQuantizeLin | | | | | | |
| Einsum | | | | | | V |
| Equal | | | | | | M |
| Erf | | | | | | |
| Expand | | | | | | |
| EyeLike | | | | | | |
| Flatten | | | | | | |
| Floor | | | | | | |
| GRU | | | | | | |
| GatherElements | | | | | | |
| GatherND | | | | | | |
| GlobalAvgPool | | | | | | |
| GlobalLpPool | | | | | | |
| GlobalMaxPool | | | | | | |
| Greater | | | | | | M |
| GreaterOrEq | | | | | | M |
| HardMax | | | | | | |
| If | | | | | | V |
| InstanceNorm | | | | | | |
| Inverse | | | | | | |
| IsInf | | | | | | |
| IsNaN | | | | | | |
| Less | | | | | | M |
| LessOrEq | | | | | | M |
| LSTM | | | | | | |
| LSTM | | | | | | |
| LSTM | | | | | | |
| LogSoftmax | | | | | | |
| Loop | | | | | | V |
| LpNorm | | | | | | |
| LpPool | | | | | | |
| MatMulInteger | | | | | | U |
| MaxRoiPool | | | | | | |
| MaxUnpool | | | | | | |
| Mean | | | | | | M V |
| MeanSquareDist | | | | | | M |
| MeanVarNorm | | | | | | |
| Mod | | | | | | M |
| Multinomial | | | | | | |
| Neg | | | | | | |
| NegLogLikeLoss | | | | | | |
| NonMaxSupress | | | | | | |
| NonZero | | | | | | |
| Not | | | | | | |
| OneHot | | | | | | |
| PRelu | | | | | | U |
| Power | | | | | | M |
| QLinearConv | | | | | | P |
| QLinearMatMul | | | | | | M |
| QuantizeLinear | | | | | | |
| RNN | | | | | | |
| RandomNormal | | | | | | |
| RandNormalLike | | | | | | |
| RandUniform | | | | | | |
| RandUniformLike| | | | | | |
| Range | | | | | | |
| ReduceLogSumExp| | | | | | |
| ReduceMean | | | | | | |
| ReduceSumSquare| | | | | | |
| Resize | | | | | | |
| ReverseSequence| | | | | | |
| RoiAlign | | | | | | |
| Round | | | | | | |
| Scan | | | | | | V |
| Scatter | | | | | | deprecated for Scatter Element |
| ScatterElem | | | | | | |
| ScatterND | | | | | | |
| SequenceAt | | | | | | |
| SeqConstruct | | | | | | V |
| SequenceErase | | | | | | |
| SequenceInsert | | | | | | |
| SequenceLength | | | | | | |
| Shape | | | | | | |
| Shrink | | | | | | |
| Slice | | | | | | |
| SoftMaxCross | | | | | | |
| SpaceToDepth | | | | | | |
| Split | | | | | | V |
| SplitToSequence| | | | | | |
| Squeeze | | | | | | |
| StringNorm | | | | | | |
| Tan | | | | | | |
| TfldfVect | | | | | | |
| ThresholdRelu | | | | | | |
| Tile | | | | | | |
| TopK | | | | | | |
| UnfoldToDepth | | | | | | |
| Unique | | | | | | |
| Upsample | | | | | | deprecated |
| Where | | | | | | M |