[mlir][Linalg] Add conv ops with TF definition.
The dimension order of a filter in tensorflow is [filter_height, filter_width, in_channels, out_channels], which is different from current definition. The current definition follows TOSA spec. Add TF version conv ops to .tc, so we do not have to insert a transpose op around a conv op. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D96038
This commit is contained in:
@@ -622,27 +622,39 @@ void mlir::linalg::populateConvVectorizationPatterns(
|
||||
|
||||
populateVectorizationPatterns<ConvNWCOp, 3>(tiling, promotion, vectorization,
|
||||
tileSizes, context);
|
||||
populateVectorizationPatterns<ConvInputNWCFilterWCFOp, 3>(
|
||||
tiling, promotion, vectorization, tileSizes, context);
|
||||
|
||||
populateVectorizationPatterns<ConvNCWOp, 3>(tiling, promotion, vectorization,
|
||||
tileSizes, context);
|
||||
populateVectorizationPatterns<ConvInputNCWFilterWCFOp, 3>(
|
||||
tiling, promotion, vectorization, tileSizes, context);
|
||||
|
||||
populateVectorizationPatterns<ConvHWOp, 2>(tiling, promotion, vectorization,
|
||||
tileSizes, context);
|
||||
|
||||
populateVectorizationPatterns<ConvNHWCOp, 4>(tiling, promotion, vectorization,
|
||||
tileSizes, context);
|
||||
populateVectorizationPatterns<ConvInputNHWCFilterHWCFOp, 4>(
|
||||
tiling, promotion, vectorization, tileSizes, context);
|
||||
|
||||
populateVectorizationPatterns<ConvNCHWOp, 4>(tiling, promotion, vectorization,
|
||||
tileSizes, context);
|
||||
populateVectorizationPatterns<ConvInputNCHWFilterHWCFOp, 4>(
|
||||
tiling, promotion, vectorization, tileSizes, context);
|
||||
|
||||
populateVectorizationPatterns<ConvDHWOp, 3>(tiling, promotion, vectorization,
|
||||
tileSizes, context);
|
||||
|
||||
populateVectorizationPatterns<ConvNDHWCOp, 5>(
|
||||
tiling, promotion, vectorization, tileSizes, context);
|
||||
populateVectorizationPatterns<ConvInputNDHWCFilterDHWCFOp, 5>(
|
||||
tiling, promotion, vectorization, tileSizes, context);
|
||||
|
||||
populateVectorizationPatterns<ConvNCDHWOp, 5>(
|
||||
tiling, promotion, vectorization, tileSizes, context);
|
||||
populateVectorizationPatterns<ConvInputNCDHWFilterDHWCFOp, 5>(
|
||||
tiling, promotion, vectorization, tileSizes, context);
|
||||
|
||||
patterns.push_back(std::move(tiling));
|
||||
patterns.push_back(std::move(promotion));
|
||||
|
||||
Reference in New Issue
Block a user