QR-SPPS / scripts /run_nb3_nb4.sh
Sumitchongder9's picture
Upload 4 files
ae8e0ff verified
#!/bin/bash
# ============================================================
# QR-SPPS NB-3 + NB-4: ADAPT-VQE Policy + DOS-QPE
# ============================================================
# Run from: ~/QARPdemo
# cd ~/QARPdemo && sbatch run_nb3_nb4.sh
#
# All .pkl files are read/written relative to the working directory.
#
# NB-3 (ADAPT-VQE Policy Optimisation):
# 6 counterfactual policies ranked by gradient screening.
# Warm-starts from NB2 vqe_params_sub_A (30q ansatz parameters).
# Each policy runs in ~0.7s (O(1) expectation values, no re-opt).
# Runtime: ~15 min total.
#
# NB-4 (DOS-QPE Spectral Reconstruction + Cascade Dynamics):
# 64 Trotter steps, T_max=15.0, dt=0.2381, Nyquist=2.10 (no aliasing).
# Cascade: 10 snapshots, T_casc=6.0, dt_casc=0.6.
# Tail risk: 6 policies x 60 temperature values.
# Runtime: ~20-30 min.
#
# Both scripts set QARP_DISABLE_MPI=1 internally.
# Execution: single-node, NO MPI for either notebook.
#
# Depends on: QRSPPS_hamiltonians.pkl (NB1)
# QRSPPS_vqe_results.pkl (NB2)
# Produces: QRSPPS_policy_results.pkl
# QRSPPS_dosqpe_results.pkl
# QRSPPS_policy_effectiveness.png
# QRSPPS_policy_heatmap.png
# QRSPPS_policy_map.png
# QRSPPS_policy_roi.png
# QRSPPS_dosqpe_full.png
#
# Expected key results (verifiable against .pkl files):
# NB3: Stockpile release best dE[40q] = -7.4505 (16.67% reduction)
# Supplier subsidy top ADAPT gradient g = 4.1955
# NB4: |A(0)| = 1.0000 |A(T_max)| = 0.0746
# E_cutoff = -43.2197 spectral_width = 1.7333
# cascade final mean stress = 0.7945
# ============================================================
#SBATCH --job-name=qrspps_nb3nb4
#SBATCH --nodes=4
#SBATCH --ntasks-per-node=12
#SBATCH --partition=Interactive
#SBATCH --time=48:00:00
#SBATCH --output=log_nb3_nb4.txt
source ~/QARPdemo/setup_env.sh
export QARP_DISABLE_MPI=1
export OMP_NUM_THREADS=48
echo "================================================================"
echo " QR-SPPS NB-3 + NB-4: ADAPT-VQE + DOS-QPE"
echo "================================================================"
echo " Start : $(date)"
echo " Node : $(hostname)"
echo " Job : $SLURM_JOB_ID"
echo " Dir : $(pwd)"
echo "================================================================"
# Dependency check
for PKL in QRSPPS_hamiltonians.pkl QRSPPS_vqe_results.pkl; do
if [ ! -f "$PKL" ]; then
echo "ERROR: $PKL not found in $(pwd)"
echo "Ensure NB1 (Jupyter) and NB2 (run_nb2_vqe.sh) completed."
exit 1
fi
echo "Found : $PKL ($(du -h $PKL | cut -f1))"
done
echo ""
# NB-3
echo "=== Starting NB-3: QRSPPS_NB3_Policy_30q.py ==="
echo " 6 policies via ADAPT-VQE gradient screening"
echo " Baseline E0[30q]=-33.5198 | E0[40q]=-44.6931"
echo " Start: $(date)"
python3 QRSPPS_NB3_Policy_30q.py
NB3_EXIT=$?
echo "NB3 exit: $NB3_EXIT ($(date))"
if [ $NB3_EXIT -ne 0 ]; then
echo "ERROR: NB-3 failed (exit $NB3_EXIT). NB-4 will not run."
exit $NB3_EXIT
fi
if [ ! -f "QRSPPS_policy_results.pkl" ]; then
echo "ERROR: QRSPPS_policy_results.pkl not created. Check log_nb3_nb4.txt."
exit 1
fi
echo "Output: QRSPPS_policy_results.pkl ($(du -h QRSPPS_policy_results.pkl | cut -f1)) OK"
echo ""
# NB-4
echo "=== Starting NB-4: QRSPPS_NB4_DOSQPE_30q.py ==="
echo " 64 Trotter steps | T_max=15.0 | dt=0.2381 | Nyquist=2.10"
echo " Cascade: 10 snapshots | T_casc=6.0"
echo " Start: $(date)"
python3 QRSPPS_NB4_DOSQPE_30q.py
NB4_EXIT=$?
echo "NB4 exit: $NB4_EXIT ($(date))"
if [ $NB4_EXIT -ne 0 ]; then
echo "ERROR: NB-4 failed (exit $NB4_EXIT). Check log_nb3_nb4.txt."
exit $NB4_EXIT
fi
if [ ! -f "QRSPPS_dosqpe_results.pkl" ]; then
echo "ERROR: QRSPPS_dosqpe_results.pkl not created. Check log_nb3_nb4.txt."
exit 1
fi
echo "Output: QRSPPS_dosqpe_results.pkl ($(du -h QRSPPS_dosqpe_results.pkl | cut -f1)) OK"
echo ""
echo "================================================================"
echo " NB-3 + NB-4 ALL DONE"
echo " End: $(date)"
echo "================================================================"
echo ""
echo "Next steps:"
echo " Step A: cd ~/QARPdemo && sbatch run_nb5_30q.sh (12h MPI benchmark)"
echo " Step B: cd ~/QARPdemo && sbatch run_nb5_final.sh (after Step A)"
exit 0