Spaces:
Running
Running
| # ============================================================ | |
| # 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 | |