This revision provides 2 versions of matmul with tensors to account for the differences in buffer vs value semantics:
- C(i, j) = sum_{r_k} A(i, r_k) * B(r_k, j)
- D(i, j) = C(i, j) + sum_{r_k} A(i, r_k) * B(r_k, j)
| Paths 
 |  Differential  D73796  
[mlir][Linalg] Adding support for linalg_matmul with tensors. ClosedPublic Authored by nicolasvasilache on Jan 31 2020, 11:43 AM. 
Details Summary This revision provides 2 versions of matmul with tensors to account for the differences in buffer vs value semantics: 
 
Diff Detail 
 Event TimelineComment Actions Unit tests: unknown. clang-tidy: unknown. clang-format: unknown. Build artifacts: console-log.txt Pre-merge checks is in beta. Report issue. Please join beta or enable it for your project. This revision is now accepted and ready to land.Jan 31 2020, 12:03 PM nicolasvasilache added inline comments. 
 Closed by commit rGf9fa9e1f0e95: [mlir][Linalg] Adding support for linalg_matmul with tensors. (authored by nicolasvasilache).  ·  Explain WhyJan 31 2020, 1:04 PM This revision was automatically updated to reflect the committed changes. nicolasvasilache marked 2 inline comments as done. 
Revision Contents 
 
Diff 241796 mlir/include/mlir/Dialect/Linalg/EDSC/Builders.h
 mlir/lib/Dialect/Linalg/EDSC/Builders.cpp
 mlir/test/EDSC/builder-api-test.cpp
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Do we want to use ShapedType::kDynamicSize for these magic numbers?