StaircaseSieveEval.Config(
        runtime=SingleProcess.Config(
            device='cuda',
            deterministic=False,
            float32_matmul_precision=None
        ),
        experiment_name='exp011',
        doc='',
        base_dir=None,
        checkpoint_path='/runs/sudoku/exp006/checkpoints/step_00019500.pt',
        verifier_checkpoints=(
            '/runs/exp008_verifier_s0/checkpoints/step_00004000.pt',
            '/runs/exp008_verifier_s1/checkpoints/step_00004000.pt',
            '/runs/exp008_verifier_s2/checkpoints/step_00004000.pt'
        ),
        model=LatentRecursion.Config(
        │   vocab_size=11,
        │   puzzle_grid_shape=(81,),
        │   channels_in=512,
        │   num_layers=2,
        │   num_heads=8,
        │   slow_cycles=6,
        │   fast_cycles=9,
        │   q_head_outputs=2,
        │   num_puzzle_identifiers=1,
        │   puzzle_emb_len=16,
        │   puzzle_emb_ndim=512,
        │   puzzle_emb_batch_size=384,
        │   puzzle_emb_init_std=0.0,
        │   pos2d_grid_shape=(9, 9),
        │   pos2d_box_shape=(3, 3),
        │   pos2d_init_std=1.0,
        │   feedback_init_std=0.0,
        │   compile=True,
        │   dtype=torch.bfloat16,
        │   block=TransformerBlock.Config(
        │   │   channels_in=512,
        │   │   channels_out=512,
        │   │   attn=Attention.Config(
        │   │       channels_in=512,
        │   │       channels_out=512,
        │   │       num_heads=8,
        │   │       channels_head=64,
        │   │       num_heads_kv=8,
        │   │       bias=False,
        │   │       dropout=0.0,
        │   │       causal=False,
        │   │       rope=None,
        │   │       rotate=None,
        │   │       norm_qk=RMSNorm.Config(
        │   │           channels_in=64,
        │   │           channels_out=64,
        │   │           eps=1e-06,
        │   │           elementwise_affine=False,
        │   │           device=None,
        │   │           dtype=None
        │   │       ),
        │   │       share_qk_norm=True,
        │   │       norm_out=None,
        │   │       split_qkv_projection=False,
        │   │       proj_qkv=None,
        │   │       proj_out=None,
        │   │       init_weight=priml.baselines.sudoku.latent_recursion.truncated_normal_corrected,
        │   │       depth_index=(),
        │   │       attn_kernel=SdpaFused.Config()
        │   │   ),
        │   │   ffn=SwiGLU.Config(
        │   │       channels_in=512,
        │   │       channels_out=512,
        │   │       channels_hidden=1_536,
        │   │       expansion=2.6666666666666665,
        │   │       round_to=256,
        │   │       gate=True,
        │   │       bias=False,
        │   │       split_gate_projection=False,
        │   │       norm=RMSNorm.Config(
        │   │           channels_in=1_536,
        │   │           channels_out=1_536,
        │   │           eps=1e-06,
        │   │           elementwise_affine=False,
        │   │           device=None,
        │   │           dtype=None
        │   │       ),
        │   │       act=priml.model.swiglu.silu,
        │   │       depth_index=(),
        │   │       init_weight=priml.baselines.sudoku.latent_recursion.truncated_normal_corrected,
        │   │       init_weight_out=priml.baselines.sudoku.latent_recursion.truncated_normal_corrected,
        │   │       up_proj=None,
        │   │       middle=None,
        │   │       down_proj=None,
        │   │       shard='colwise'
        │   │   ),
        │   │   norm1=RMSNorm.Config(
        │   │       channels_in=512,
        │   │       channels_out=512,
        │   │       eps=1e-05,
        │   │       elementwise_affine=False,
        │   │       device=None,
        │   │       dtype=None
        │   │   ),
        │   │   norm2=RMSNorm.Config(
        │   │       channels_in=512,
        │   │       channels_out=512,
        │   │       eps=1e-05,
        │   │       elementwise_affine=False,
        │   │       device=None,
        │   │       dtype=None
        │   │   ),
        │   │   prenorm=False,
        │   │   checkpoint=False,
        │   │   depth_index=()
        │   )
        ),
        dataset=PuzzleDataset.Config(
            spec=SudokuSpec(grid_shape=(9, 9), box_shape=(3, 3), vocab_size=11),
            base_dir=None,
            working_dir=PosixPath('/opt/scratch/datasets/sudoku-extreme'),
            batch_size=192,
            eval_batch_size=None,
            device='cuda',
            augment=False,
            augment_digits_only=False,
            augment_seed=None,
            seed=None,
            num_instances=None,
            eval_num_instances=None,
            eval_instance_indices=(),
            max_samples=None
        ),
        search=HpsSearch.Config(
            max_act_steps=32,
            search_depth=3,
            search_candidates=5,
            search_cell_attempts=2,
            search_budget=512,
            search_max_rows=2_048,
            acceptance_threshold=7.875,
            root_acceptance_threshold=None,
            continue_threshold=0.0,
            early_exit_at_q8=False,
            acceptance_checkpoints=(24, 28, 32),
            require_prediction_stability=False,
            dtype_autocast=torch.bfloat16
        ),
        views=(
            View(name='canonical', digit_permutation=(1, 2, 3, 4, 5, 6, 7, 8, 9), transpose=False, row_permutation=(0, 1, 2, 3, 4, 5, 6, 7, 8), col_permutation=(0, 1, 2, 3, 4, 5, 6, 7, 8)),
            View(name='shift1', digit_permutation=(2, 3, 4, 5, 6, 7, 8, 9, 1), transpose=False, row_permutation=(0, 1, 2, 3, 4, 5, 6, 7, 8), col_permutation=(0, 1, 2, 3, 4, 5, 6, 7, 8)),
            View(name='shift4', digit_permutation=(5, 6, 7, 8, 9, 1, 2, 3, 4), transpose=False, row_permutation=(0, 1, 2, 3, 4, 5, 6, 7, 8), col_permutation=(0, 1, 2, 3, 4, 5, 6, 7, 8)),
            View(name='reversal', digit_permutation=(9, 8, 7, 6, 5, 4, 3, 2, 1), transpose=False, row_permutation=(0, 1, 2, 3, 4, 5, 6, 7, 8), col_permutation=(0, 1, 2, 3, 4, 5, 6, 7, 8)),
            View(name='anti_transpose', digit_permutation=(1, 2, 3, 4, 5, 6, 7, 8, 9), transpose=True, row_permutation=(8, 7, 6, 5, 4, 3, 2, 1, 0), col_permutation=(8, 7, 6, 5, 4, 3, 2, 1, 0)),
            View(name='stack_rot_digit_shift2', digit_permutation=(3, 4, 5, 6, 7, 8, 9, 1, 2), transpose=False, row_permutation=(0, 1, 2, 3, 4, 5, 6, 7, 8), col_permutation=(6, 7, 8, 0, 1, 2, 3, 4, 5)),
            View(name='full_mix', digit_permutation=(7, 3, 9, 1, 8, 2, 4, 6, 5), transpose=True, row_permutation=(4, 5, 3, 8, 6, 7, 1, 2, 0), col_permutation=(5, 3, 4, 0, 1, 2, 7, 8, 6)),
            View(name='dg_shift1_rot180', digit_permutation=(2, 3, 4, 5, 6, 7, 8, 9, 1), transpose=False, row_permutation=(8, 7, 6, 5, 4, 3, 2, 1, 0), col_permutation=(8, 7, 6, 5, 4, 3, 2, 1, 0)),
            View(name='dg_shift3_pure', digit_permutation=(4, 5, 6, 7, 8, 9, 1, 2, 3), transpose=False, row_permutation=(0, 1, 2, 3, 4, 5, 6, 7, 8), col_permutation=(0, 1, 2, 3, 4, 5, 6, 7, 8))
        ),
        det_halt_threshold=2.0,
        tail_search=(7, 4, 3, 8_400),
        acceptor=VerifierAcceptor.Config(
            model=SudokuVerifier.Config(
                channels_hidden=128,
                num_layers=4,
                heads=4,
                attention_mask=priml.baselines.sudoku.verifier.group_attention_mask,
                position_index=priml.baselines.sudoku.verifier.cell_positions,
                vocab_size=11
            ),
            base_dir=None,
            checkpoint_paths=(
                '/runs/exp008_verifier_s0/checkpoints/step_00004000.pt',
                '/runs/exp008_verifier_s1/checkpoints/step_00004000.pt',
                '/runs/exp008_verifier_s2/checkpoints/step_00004000.pt'
            ),
            threshold=0.0,
            max_rows=8_192,
            device='cuda'
        ),
        evaluation_count=422_786,
        max_round_eval_seconds=43200.0,
        emulate_precision_casts=True,
        metrics_path='/runs/{experiment_name}/dumps/sieve_metrics.json',
        dump_path='/runs/{experiment_name}/dumps/sieve_dump.npz',
        hypothesis_model=HypothesisRecursion.Config(
        │   vocab_size=11,
        │   puzzle_grid_shape=(81,),
        │   channels_in=512,
        │   num_layers=2,
        │   num_heads=8,
        │   slow_cycles=6,
        │   fast_cycles=9,
        │   q_head_outputs=2,
        │   num_puzzle_identifiers=1,
        │   puzzle_emb_len=16,
        │   puzzle_emb_ndim=512,
        │   puzzle_emb_batch_size=1_152,
        │   puzzle_emb_init_std=0.0,
        │   pos2d_grid_shape=(9, 9),
        │   pos2d_box_shape=(3, 3),
        │   pos2d_init_std=1.0,
        │   feedback_init_std=0.0,
        │   compile=True,
        │   dtype=torch.bfloat16,
        │   block=TransformerBlock.Config(
        │   │   channels_in=512,
        │   │   channels_out=512,
        │   │   attn=Attention.Config(
        │   │       channels_in=512,
        │   │       channels_out=512,
        │   │       num_heads=8,
        │   │       channels_head=64,
        │   │       num_heads_kv=8,
        │   │       bias=False,
        │   │       dropout=0.0,
        │   │       causal=False,
        │   │       rope=None,
        │   │       rotate=None,
        │   │       norm_qk=RMSNorm.Config(
        │   │           channels_in=64,
        │   │           channels_out=64,
        │   │           eps=1e-06,
        │   │           elementwise_affine=False,
        │   │           device=None,
        │   │           dtype=None
        │   │       ),
        │   │       share_qk_norm=True,
        │   │       norm_out=None,
        │   │       split_qkv_projection=False,
        │   │       proj_qkv=None,
        │   │       proj_out=None,
        │   │       init_weight=priml.baselines.sudoku.latent_recursion.truncated_normal_corrected,
        │   │       depth_index=(),
        │   │       attn_kernel=SdpaFused.Config()
        │   │   ),
        │   │   ffn=SwiGLU.Config(
        │   │       channels_in=512,
        │   │       channels_out=512,
        │   │       channels_hidden=1_536,
        │   │       expansion=2.6666666666666665,
        │   │       round_to=256,
        │   │       gate=True,
        │   │       bias=False,
        │   │       split_gate_projection=False,
        │   │       norm=RMSNorm.Config(
        │   │           channels_in=1_536,
        │   │           channels_out=1_536,
        │   │           eps=1e-06,
        │   │           elementwise_affine=False,
        │   │           device=None,
        │   │           dtype=None
        │   │       ),
        │   │       act=priml.model.swiglu.silu,
        │   │       depth_index=(),
        │   │       init_weight=priml.baselines.sudoku.latent_recursion.truncated_normal_corrected,
        │   │       init_weight_out=priml.baselines.sudoku.latent_recursion.truncated_normal_corrected,
        │   │       up_proj=None,
        │   │       middle=None,
        │   │       down_proj=None,
        │   │       shard='colwise'
        │   │   ),
        │   │   norm1=RMSNorm.Config(
        │   │       channels_in=512,
        │   │       channels_out=512,
        │   │       eps=1e-05,
        │   │       elementwise_affine=False,
        │   │       device=None,
        │   │       dtype=None
        │   │   ),
        │   │   norm2=RMSNorm.Config(
        │   │       channels_in=512,
        │   │       channels_out=512,
        │   │       eps=1e-05,
        │   │       elementwise_affine=False,
        │   │       device=None,
        │   │       dtype=None
        │   │   ),
        │   │   prenorm=False,
        │   │   checkpoint=False,
        │   │   depth_index=()
        │   ),
        │   num_hypotheses=3,
        │   hypothesis_seed=44
        ),
        hypothesis_checkpoint_path='/runs/sudoku/exp010/checkpoints/step_00010000.pt',
        qsel_hypotheses=5,
        qsel_seed=8_902
    )
