Release 0.2.0¶
Added¶
Factorized ISDF xTC-CCSD solver (
pytc.solver.isdf_xtc_ccsd): a JAX RCCSD path that never materializes the full four-virtual tile. The large X factor is streamed one rank panel at a time through a three-tier residency gate — device lift, host-resident, or store stream — chosen from measured free device and host memory (cgroup-aware, reclaimable-cache accounting, fail-closed when memory is unmeasurable). Working-set panels with double-buffered prefetch and a halving retry on device out-of-memory.pytc.dfpackage: the previouspytc.dfmodule is now a package with the same public API.pytc.df.thcadds the panelled NumPy and JAX robust DF-THC fits and sandwiches, plus X-store layout helpers: stores can carry an optional rank-major twin dataset (X_rm) giving contiguous panel reads; twins are provenance-stamped and rebuilt when their source changes.Strictly opt-in per-term timers (
pytc.utils.tile_timers): per-term wall timers and counters for the solver. Zero accumulation and zero behavior change when disabled (the default).Converged 1200-orbital on-the-fly xTC-CCSD on a single B200-class GPU: the factorized solver completes a 1200-orbital benzene (cc-pCV5Z/cc-pV5Z) calculation in about 9 hours on one GPU, versus about 29 hours on 8 GPUs with the previous route, at FP64 precision.
Removed¶
pytc.optimize(broken; clean removal).pytc.utils.perf_baseline.Example scripts:
Be_vmc_ref_opt_xtc_ccsd.py,benchmark_isdf_xtc_kdx.py,co2_simple_jastrow_xtc_ccsd.py,h2o_jastrow_xtc_isdf_ccsd.py,h2o_jax_isdf_xtc.py.
Notes¶
The tier gate and timers are off by default; behavior is unchanged unless the corresponding environment pins are set at call time.
Stores without an
X_rmtwin behave exactly as before; the twin is an optional conversion produced by the layout helpers inpytc.df.thc.psutilis optional: the memory gate falls back to cgroup-only measurement when it is absent.