fix incorrect scope voff serialization offsets

This commit is contained in:
Ryan Fleury
2025-09-05 15:19:29 -07:00
parent 955f033043
commit 6234fb0c49
+4 -3
View File
@@ -1678,7 +1678,7 @@ rdim2_bake(Arena *arena, RDIM_BakeParams *params)
for EachInRange(n_idx, range) for EachInRange(n_idx, range)
{ {
num_locals_in_this_lane_and_node += n->v[n_idx].local_count; num_locals_in_this_lane_and_node += n->v[n_idx].local_count;
num_voffs_in_this_lane_and_node += n->v[n_idx].voff_ranges.count; num_voffs_in_this_lane_and_node += n->v[n_idx].voff_ranges.count*2;
} }
rdim2_shared->scope_local_chunk_lane_counts[lane_idx()*params->scopes.chunk_count + chunk_idx] = num_locals_in_this_lane_and_node; rdim2_shared->scope_local_chunk_lane_counts[lane_idx()*params->scopes.chunk_count + chunk_idx] = num_locals_in_this_lane_and_node;
rdim2_shared->scope_voff_chunk_lane_counts[lane_idx()*params->scopes.chunk_count + chunk_idx] = num_voffs_in_this_lane_and_node; rdim2_shared->scope_voff_chunk_lane_counts[lane_idx()*params->scopes.chunk_count + chunk_idx] = num_voffs_in_this_lane_and_node;
@@ -1690,7 +1690,7 @@ rdim2_bake(Arena *arena, RDIM_BakeParams *params)
// rjf: lay out each lane's range // rjf: lay out each lane's range
if(lane_idx() == 0) if(lane_idx() == 0)
{ {
U64 local_layout_off = 0; U64 local_layout_off = 1;
U64 voff_layout_off = 0; U64 voff_layout_off = 0;
U64 chunk_idx = 0; U64 chunk_idx = 0;
for EachNode(n, RDIM_ScopeChunkNode, params->scopes.first) for EachNode(n, RDIM_ScopeChunkNode, params->scopes.first)
@@ -1723,7 +1723,7 @@ rdim2_bake(Arena *arena, RDIM_BakeParams *params)
} }
if(lane_idx() == lane_from_task_idx(1)) if(lane_idx() == lane_from_task_idx(1))
{ {
rdim2_shared->baked_scopes.scope_voffs_count = params->scopes.scope_voff_count+1; rdim2_shared->baked_scopes.scope_voffs_count = params->scopes.scope_voff_count;
rdim2_shared->baked_scopes.scope_voffs = push_array(arena, RDI_U64, rdim2_shared->baked_scopes.scope_voffs_count); rdim2_shared->baked_scopes.scope_voffs = push_array(arena, RDI_U64, rdim2_shared->baked_scopes.scope_voffs_count);
} }
if(lane_idx() == lane_from_task_idx(2)) if(lane_idx() == lane_from_task_idx(2))
@@ -1782,6 +1782,7 @@ rdim2_bake(Arena *arena, RDIM_BakeParams *params)
} }
} }
} }
lane_sync();
////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////
//- rjf: @rdim_bake_stage bake units, symbols, types, UDTs //- rjf: @rdim_bake_stage bake units, symbols, types, UDTs