28 lines
617 B
C++
28 lines
617 B
C++
#pragma once
|
|
|
|
#include "mlir/Support/LogicalResult.h"
|
|
|
|
#include <cstddef>
|
|
|
|
namespace onnx_mlir::spatial {
|
|
|
|
struct MatrixUnitShape {
|
|
size_t rows = 0;
|
|
size_t columns = 0;
|
|
};
|
|
|
|
struct SpatialTargetResources {
|
|
MatrixUnitShape matrixShape;
|
|
size_t matrixUnitsPerProcessor = 0;
|
|
size_t processorCount = 0;
|
|
size_t vectorWidth = 0;
|
|
|
|
mlir::LogicalResult verify() const {
|
|
return mlir::success(matrixShape.rows != 0 && matrixShape.columns != 0
|
|
&& matrixUnitsPerProcessor != 0 && processorCount != 0
|
|
&& vectorWidth != 0);
|
|
}
|
|
};
|
|
|
|
} // namespace onnx_mlir::spatial
|