EnzymeAD / EnzymeAD/Enzyme-JAX
filled syrk -> syrk if only specific triangle accessed
- Dominant language
- MLIR
- Stars
- 131
- Forks
- 53
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 193
Description
```mlir
func.func @main4(%arg0: tensor<64x32xf32>) -> tensor<64x64xf32> {
%cst = stablehlo.constant dense<1.000000e+00> : tensor
%cst_0 = stablehlo.constant {enzymexla.finite = [#enzymexla], enzymexla.no_nan = [#enzymexla]} dense<5.000000e-01> : tensor
%cst_1 = stablehlo.constant dense<3.000000e+00> : tensor<64x64xf32>
%0 = enzymexla.blas.syrk %arg0, %cst_1, %cst_0, %cst {fill, uplo = #enzymexla.uplo} : (tensor<64x32xf32>, tensor<64x64xf32>, tensor, tensor) -> tensor<64x64xf32>
return %0 : tensor<64x64xf32>
}
```
If all users for the syrk only access the specified uplo, we don't need to fill the full matrix. current ops that would support this
- [ ] syrk
- [ ] symm
- [ ] trmm
- [ ] triangular_solve
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.