Linalg portion of the tutorial - part 3
authorNicolas Vasilache <ntv@google.com>
Tue, 2 Apr 2019 21:35:09 +0000 (14:35 -0700)
committerMehdi Amini <joker.eph@gmail.com>
Tue, 2 Apr 2019 22:16:14 +0000 (15:16 -0700)
commit72ccfcee1ea31fc556242ba211f79cbfeea152d5
treed9c969fa133de59bbc11a5ffeebc369502cd1109
parent7fa2864954facbc2ef8f4d12045409c105b10493
Linalg portion of the tutorial - part 3

    This CL starts the third part of the Linalg tutorial by adding support for ops to declare how they lower themselves to other ops.
    Tests are added that demonstrate matmul lowering to a loop over matvec and matvec lowering to a loop over dot.

    This is part of a list of CLs that add new Transforms and Analyses to Linalg3: it iseasier to integrate in small chunks.

    As part of working with the TensorContractionBase template class and in an effort to add pieces incrementally without copying code, it is easiest to define operations ahead of time in Linalg2/TensorOps.h and gradually implement them as needed. This CL performs the necessary refactoring for this to happen.

--

PiperOrigin-RevId: 241605869
16 files changed:
mlir/include/mlir/EDSC/Intrinsics.h
mlir/tutorial/Linalg1/include/linalg1/Analysis.h
mlir/tutorial/Linalg1/include/linalg1/Utils.h [new file with mode: 0644]
mlir/tutorial/Linalg1/lib/Analysis.cpp
mlir/tutorial/Linalg1/lib/SliceOp.cpp
mlir/tutorial/Linalg1/lib/Utils.cpp [new file with mode: 0644]
mlir/tutorial/Linalg2/include/linalg2/TensorOps-inl.h [new file with mode: 0644]
mlir/tutorial/Linalg2/include/linalg2/TensorOps.h
mlir/tutorial/Linalg2/lib/TensorOps.cpp
mlir/tutorial/Linalg3/Example.cpp [new file with mode: 0644]
mlir/tutorial/Linalg3/include/linalg3/Ops.h [new file with mode: 0644]
mlir/tutorial/Linalg3/include/linalg3/TensorOps-inl.h [new file with mode: 0644]
mlir/tutorial/Linalg3/include/linalg3/TensorOps.h [new file with mode: 0644]
mlir/tutorial/Linalg3/include/linalg3/Transforms.h [new file with mode: 0644]
mlir/tutorial/Linalg3/lib/TensorOps.cpp [new file with mode: 0644]
mlir/tutorial/Linalg3/lib/Transforms.cpp [new file with mode: 0644]