2020-04-07 06:13:28 +08:00
|
|
|
# Please keep up to date.
|
|
|
|
|
|
|
|
- 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 to KRNL work.
|
|
|
|
|
|
|
|
Update as you push code to the master branch.
|
|
|
|
|
|
|
|
| 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 |
|
2020-04-20 22:25:46 +08:00
|
|
|
| AveragePool | | v | v | v | | P |
|
2020-04-07 06:13:28 +08:00
|
|
|
| BatchNorm | | v | v | v | | |
|
|
|
|
| Constant | | v | v | v | | |
|
|
|
|
| Conv | | v | v | v | | nP |
|
2020-04-14 20:45:00 +08:00
|
|
|
| Concat | | v | v | v | | V |
|
2020-04-07 06:13:28 +08:00
|
|
|
| Cos | | v | v | v | | |
|
|
|
|
| Cosh | | v | v | v | | |
|
|
|
|
| Div | | v | v | v | | M |
|
2020-08-07 13:08:00 +08:00
|
|
|
| Dropout | | v | v | | | |
|
2020-04-07 06:13:28 +08:00
|
|
|
| Elu | | v | v | v | | |
|
2020-08-07 13:08:00 +08:00
|
|
|
| Erf | | v | v | | | |
|
2020-04-07 06:13:28 +08:00
|
|
|
| Exp | | v | v | v | | |
|
2020-08-07 13:08:00 +08:00
|
|
|
| Expand | | v | v | | | |
|
2020-04-07 06:13:28 +08:00
|
|
|
| Gemm | | v | v | v | | U |
|
|
|
|
| HardSigmoid | | v | v | v | | |
|
|
|
|
| Identity | | v | v | v | | |
|
|
|
|
| LeakyRelu | | v | v | v | | |
|
|
|
|
| Log | | v | v | v | | |
|
2020-04-20 22:25:46 +08:00
|
|
|
| MatMul | | v | v | v | | M |
|
2020-04-07 06:13:28 +08:00
|
|
|
| Max | | v | v | v | | M V |
|
2020-04-20 22:25:46 +08:00
|
|
|
| MaxPool | | v | v | v | | P |
|
2020-04-07 06:13:28 +08:00
|
|
|
| Min | | v | v | v | | M V |
|
2020-04-20 22:25:46 +08:00
|
|
|
| Mul | | v | v | v | | M |
|
2020-04-07 06:13:28 +08:00
|
|
|
| Or | | v | v | v | | M |
|
|
|
|
| Pad | | v | V | v | | const only |
|
2020-08-07 13:08:00 +08:00
|
|
|
| Pow | | v | v | | | M |
|
2020-04-07 06:13:28 +08:00
|
|
|
| Reciprocal | | v | v | v | | |
|
|
|
|
| ReduceMax | | v | v | v | | |
|
2020-04-20 22:25:46 +08:00
|
|
|
| ReduceL1 | | v | | | | be decomposed into ReduceSum and Abs |
|
|
|
|
| ReduceL2 | | v | | | | be decomposed into ReduceSumSquare and Sqrt |
|
|
|
|
| ReduceLogSum | | v | | | | be decomposed into ReduceSum and Log |
|
|
|
|
| ReduceLogSumExp| | v | | | | be decomposed into ReduceLogSum and Exp |
|
2020-08-07 13:08:00 +08:00
|
|
|
| ReduceMean | | v | v | | | |
|
2020-04-07 06:13:28 +08:00
|
|
|
| ReduceMin | | v | v | v | | |
|
|
|
|
| ReduceProd | | v | v | v | | |
|
|
|
|
| ReduceSum | | v | v | v | | |
|
2020-04-20 22:25:46 +08:00
|
|
|
| ReduceSumSquare| | v | | | | be decomposed into ReduceSum and Mul |
|
2020-04-07 06:13:28 +08:00
|
|
|
| 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).
|
|
|
|
|
|
|
|
* 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
|
|
|
|
|
|
|
|
# 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 | | | | | | |
|
|
|
|
| ConcatFromSeq | | | | | | |
|
|
|
|
| ConstOfShape | | | | | | |
|
|
|
|
| ConvInt | | | | | | P |
|
|
|
|
| ConvTrans | | | | | | P |
|
|
|
|
| CumSum | | | | | | |
|
|
|
|
| DepthToSpace | | | | | | |
|
|
|
|
| DequantizeLin | | | | | | |
|
|
|
|
| Det | | | | | | |
|
|
|
|
| DynQuantizeLin | | | | | | |
|
|
|
|
| Einsum | | | | | | V |
|
|
|
|
| Equal | | | | | | M |
|
|
|
|
| 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 |
|
|
|
|
| QLinearConv | | | | | | P |
|
|
|
|
| QLinearMatMul | | | | | | M |
|
|
|
|
| QuantizeLinear | | | | | | |
|
|
|
|
| RNN | | | | | | |
|
|
|
|
| RandomNormal | | | | | | |
|
|
|
|
| RandNormalLike | | | | | | |
|
|
|
|
| RandUniform | | | | | | |
|
|
|
|
| RandUniformLike| | | | | | |
|
|
|
|
| Range | | | | | | |
|
|
|
|
| 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 |
|