finally fast googlenet with correct latency artifacts for fair comparison
Validate Operations / validate-operations (push) Has been cancelled
Validate Operations / validate-operations (push) Has been cancelled
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user