Skip to content

Commit 979692c

Browse files
committed
lgj-abi: compile against current lance-graph main; pin test tile explicitly
lance-graph main added ExecError::ExtentOutOfRange and ExtentUnsupported (raised only by execute_extent over a partial extent). This file always executes the whole population, so both join the arms that would be a bug here. Without them lgj-abi does not compile against lance-graph main. group_sum's tiled-vs-reference test now uses an explicit 8-word tile instead of tile_words_for, so the default tile (a performance setting, 256 words after lance-graph #1281) cannot decide whether the fixture spans several tiles. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GXUahz73MZxtxWcfpHp9dG
1 parent c468e76 commit 979692c

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

‎native/lgj-abi/src/exports.rs‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1756,7 +1756,12 @@ fn exec_error_to_status(e: ExecError) -> i32 {
17561756
| ExecError::BlendNeedsOut
17571757
| ExecError::TerminalNeedsOut { .. }
17581758
| ExecError::GateAliasesDst { .. }
1759-
| ExecError::RangeOutOfBounds { .. } => LGJ_ERR_ALLOCATION_FAILED,
1759+
| ExecError::RangeOutOfBounds { .. }
1760+
// Raised only by `execute_extent` over a PARTIAL extent. Every call in
1761+
// this file executes the whole population, so reaching either would
1762+
// be a bug here, exactly like the arms above.
1763+
| ExecError::ExtentOutOfRange { .. }
1764+
| ExecError::ExtentUnsupported { .. } => LGJ_ERR_ALLOCATION_FAILED,
17601765
}
17611766
}
17621767

‎native/lgj-abi/src/exports/tests/group_sum.rs‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,10 @@ fn the_tiled_executor_and_the_scalar_reference_agree_on_the_lowered_program() {
256256
for key in keys {
257257
let program =
258258
plan_lower::lower_group_sum(&ops, n as u32, key, LANE_VALUES as u16).unwrap();
259-
let tile = tile_words_for(n as usize);
259+
// An explicit narrow tile, not `tile_words_for`: the default tile
260+
// is a performance setting (256 words since lance-graph #1281) and
261+
// must not decide whether this fixture spans several tiles.
262+
let tile = (n.div_ceil(64) as usize).min(8);
260263
let need = scratch_words_for(tile, plan_lower::SLOTS as usize).unwrap();
261264
let mut buf = vec![0u64; need];
262265
let mut scratch = Scratch::over(&mut buf, tile, plan_lower::SLOTS as usize).unwrap();

0 commit comments

Comments
 (0)