| Remove typepromote for bin ops
| 21 天前 |
| Remove the conversion of the cast backward operator.
| 21 天前 |
| feat(mfusion): fuse decomposed BN to aclnn.batch_norm and conv-bn fold
Add mfuse.aclnn.batch_norm, FuseBatchNorm (--fuse-batch-norm) and
FuseConvBatchNorm passes; extend Torch<->Mfuse conversion and lit
coverage for BN and convolution paths.
| 21 天前 |
| TorchToMfuse: expand, permute, cast; unify reshape; PDLL renames
- Map aten.expand to mfuse.broadcast_to when size is a constant int list.
- Map aten.permute to mfuse.permute (constant dims, normalized indices).
- PDLL: prims.convert_element_type and NPU dtype_cast ops -> mfuse.cast.
- Use ConvertReshapeLikeOp for view, reshape, squeeze.dim, unsqueeze ->
mfuse.reshape.
- OpRegister: mfuse.permute is OPAQUE (was RESHAPE) for split analysis.
- Rename PDLL files (TorchAten/NpuToMfuse); add TorchPrimToMfuse; CMake.
- Lit: cast, expand, permute, reshape_ops; fold test_convert_torch_view.
| 21 天前 |
| Fuse numtotensor and cast or single numtotensor to full
| 21 天前 |
| Add Reduce post split pattern
| 21 天前 |
| Fixed matmul transpose problem.
| 21 天前 |
| Fix negative-dim normalization in TorchToMfuse ReduceSum
| 21 天前 |
| Add relu cluster
| 21 天前 |
| TorchToMfuse: expand, permute, cast; unify reshape; PDLL renames
- Map aten.expand to mfuse.broadcast_to when size is a constant int list.
- Map aten.permute to mfuse.permute (constant dims, normalized indices).
- PDLL: prims.convert_element_type and NPU dtype_cast ops -> mfuse.cast.
- Use ConvertReshapeLikeOp for view, reshape, squeeze.dim, unsqueeze ->
mfuse.reshape.
- OpRegister: mfuse.permute is OPAQUE (was RESHAPE) for split analysis.
- Rename PDLL files (TorchAten/NpuToMfuse); add TorchPrimToMfuse; CMake.
- Lit: cast, expand, permute, reshape_ops; fold test_convert_torch_view.
| 21 天前 |
| Add syminfo attribute to func and extract symbolic-shape utilities
- Introduce Mfuse SymbolInfoAttr (syminfo) for per-symbol min/max range metadata
- Add SymbolicShapeUtils for mfuse.symshape encoding merge/attach and func-level mfuse.syminfo access
- In ConvertTorchSymbolToMfuse: collect torch.symbolic_int and set mfuse.syminfo dict on func;
replace local mergeEncoding/withSymbolicAttr/attachToValue with SymbolicShapeUtils
- Implement custom assembly parse/print for SymbolInfoAttr (<range=[min,max]>)
| 21 天前 |
| Fix mfusion rank0 scalar and batch matmul lowering
Lower aclnn.batch_matmul transpose flags with explicit permutes before bmm/matmul conversion.
Use torch.prims.convert_element_type for mfuse.cast, rewrite splat vtensor literals through full, and cast mixed-type binary operands to the result element type.
Prevent DVM clustering for ops that consume unsafe external rank-zero tensor operands while allowing safe constant/full scalar producers.
| 21 天前 |