#pragma once #include "mlir/Support/LogicalResult.h" #include 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