finally fast googlenet with correct latency artifacts for fair comparison
Validate Operations / validate-operations (push) Has been cancelled

This commit is contained in:
NiccoloN
2026-07-29 18:20:44 +02:00
parent 060a21172e
commit 1b4f070bef
74 changed files with 2773 additions and 1311 deletions
+8 -5
View File
@@ -143,18 +143,21 @@ LogicalResult PimVMMOp::verify() {
int64_t M = matrixShape[1];
if (N <= 0 || M <= 0)
return emitError("matrix shape must be (N, M) with N > 0 and M > 0");
if (N > static_cast<int64_t>(crossbarSize) || M > static_cast<int64_t>(crossbarSize))
return emitError("matrix dimensions must fit in one crossbar");
const int64_t xbarDim = static_cast<int64_t>(crossbarSize);
if (N > xbarDim || M > xbarDim * static_cast<int64_t>(crossbarCountInCore))
return emitError("matrix dimensions must fit in one array group");
if (M % xbarDim != 0)
return emitError("matrix output width must be padded to a whole number of crossbars");
int64_t vector1 = vectorShape[0];
int64_t vectorWidth = vectorShape[1];
if (vector1 != 1 || vectorWidth != static_cast<int64_t>(crossbarSize))
if (vector1 != 1 || vectorWidth != xbarDim)
return emitError("vector shape must be (1, crossbar-size)");
int64_t output1 = outputShape[0];
int64_t outputWidth = outputShape[1];
if (output1 != 1 || outputWidth != static_cast<int64_t>(crossbarSize))
return emitError("output shape must be (1, crossbar-size)");
if (output1 != 1 || outputWidth != M)
return emitError("output shape must match the array-group width");
return success();
}