pytc.solver.xtc_ccsd._compute_medium_blocks_tiled¶
- pytc.solver.xtc_ccsd._compute_medium_blocks_tiled(xtc_obj, jastrow_params, Loo, Lov_reshaped, L_vv_full, nocc, nvir, nmo, panel_blk, devices)[source]¶
Compute oovv/vvoo/ovov/ovvo/vovo via a single tiled multi-GPU pipeline.
Each block is sliced over one virtual dimension in chunks of
panel_blk. All five blocks are represented as_TiledBlockSpecobjects and passed to_run_tiled_block_pipeline, which interleaves their tiles in one_round_robin_pipelinecall so GPUs stay occupied across block boundaries.- Panel layout and tile shape per block (
ps = max(nocc, panel_blk)): oovv (nocc,nocc,nvir,nvir) — tile dim-2 (vir): layout=”pr” → JIT (ps,nocc,ps,nvir) vvoo (nvir,nvir,nocc,nocc) — tile dim-0 (vir): layout=”pr” → JIT (ps,nvir,ps,nocc) ovov (nocc,nvir,nocc,nvir) — tile dim-1 (vir): layout=”qr” → JIT (nocc,ps,ps,nvir) ovvo (nocc,nvir,nvir,nocc) — tile dim-2 (vir): layout=”pr” → JIT (ps,nvir,ps,nocc) vovo (nvir,nocc,nvir,nocc) — tile dim-2 (vir): layout=”qr” → JIT (nvir,ps,ps,nocc)
- Panel layout and tile shape per block (