Skip to content

Commit ba6a5ff

Browse files
superbobryGoogle-ML-Automation
authored andcommitted
[mosaic] Emit a human-readable error when hardware_generation is unset
PiperOrigin-RevId: 831856896
1 parent 976924a commit ba6a5ff

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

jaxlib/mosaic/dialect/tpu/transforms/infer_memref_layout.cc

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -125,15 +125,15 @@ FailureOr<TiledLayoutAttr> inferLayout(MemRefType memref_ty,
125125
int64_t leading_tile_rows = 0) {
126126
if (auto tiled_layout_attr =
127127
dyn_cast<TiledLayoutAttr>(memref_ty.getLayout())) {
128-
if (leading_tile_rows > 0 && !tiled_layout_attr.getTiles().empty() &&
129-
tiled_layout_attr.getTiles().front().dimensions().size() == 2 &&
130-
tiled_layout_attr.getTiles().front().dimensions()[0] !=
131-
leading_tile_rows) {
128+
const ArrayRef<xla::Tile> tiles = tiled_layout_attr.getTiles();
129+
if (leading_tile_rows > 0 && !tiles.empty() &&
130+
tiles.front().dimensions().size() == 2 &&
131+
tiles.front().dimensions()[0] != leading_tile_rows) {
132132
return emitError(UnknownLoc::get(memref_ty.getContext()),
133133
"Trying to infer memref layout with sublane tiling ")
134134
<< leading_tile_rows
135135
<< ", but the memref already has sublane tiling "
136-
<< tiled_layout_attr.getTiles().front().dimensions()[0];
136+
<< tiles.front().dimensions()[0];
137137
}
138138
return tiled_layout_attr;
139139
}
@@ -428,6 +428,8 @@ struct InferMemRefLayoutPass
428428
void runOnOperation() override {
429429
// Fail if hardware_generation has not been set from the default value.
430430
if (hardware_generation < 0) {
431+
getOperation().emitError("hardware_generation must be set")
432+
<< hardware_generation;
431433
signalPassFailure();
432434
return;
433435
}

0 commit comments

Comments
 (0)