Skip to content

Allow parallel CPU IR finite-difference loop on GPU nodes - #102

Merged
jonathanschultzNU merged 4 commits into
mainfrom
cursor/freq-parallel-docs-c6d9
Aug 30, 2026
Merged

Allow parallel CPU IR finite-difference loop on GPU nodes#102
jonathanschultzNU merged 4 commits into
mainfrom
cursor/freq-parallel-docs-c6d9

Conversation

@jonathanschultzNU

@jonathanschultzNU jonathanschultzNU commented Aug 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Removes the gpu4pyscf veto from parallel IR finite-difference gating so displaced SCFs can run on CPU workers while reference SCF/Hessian use the GPU.
  • Adds a Parallelize IR intensity displacements (CPU) checkbox on the System Settings tab (persisted in ~/.quantui/settings.json as compute.freq_parallel).
  • QUANTUI_FREQ_PARALLEL still works for HPC job scripts and overrides the saved setting when set.

Usage

In the app: System Settings → enable Parallelize IR intensity displacements (CPU).

Or via environment (overrides Settings):

export QUANTUI_FREQ_PARALLEL=1
voila notebooks/molecule_computations.ipynb

Test plan

  • pytest tests/test_freq_ir_workers.py tests/test_user_settings.py tests/test_est_frequency_cost_model.py::TestParallelIrAwareness -q --no-cov
Open in Web Open in Cursor 

NCCU-Schultz-Lab and others added 3 commits August 30, 2026 14:36
Remove the gpu4pyscf veto from QUANTUI_FREQ_PARALLEL gating so HPC nodes
with one GPU and many cores can fan displaced SCFs to CPU workers while
reference SCF and Hessian still use the GPU. Document the env var and
NCShare tradeoff in CLI, help, and copilot instructions.

Co-authored-by: Jonathan Schultz <jonathanschultzNU@users.noreply.github.com>
Persist compute.freq_parallel in user settings with a checkbox on the
Status/Settings panel. freq_ir_workers reads settings when the env var is
unset; QUANTUI_FREQ_PARALLEL still overrides for HPC job scripts.

Co-authored-by: Jonathan Schultz <jonathanschultzNU@users.noreply.github.com>
Reformat test_freq_ir_workers.py and app.py to satisfy pre-commit black.

Co-authored-by: Jonathan Schultz <jonathanschultzNU@users.noreply.github.com>
@jonathanschultzNU
jonathanschultzNU marked this pull request as ready for review August 30, 2026 15:15
@jonathanschultzNU
jonathanschultzNU merged commit 657ce35 into main Aug 30, 2026
5 checks passed
jonathanschultzNU added a commit that referenced this pull request Aug 30, 2026
* feat(apptainer): enable IR parallel by default in CPU SIF

The parallel IR-intensity worker path shipped in #102; this turns it on
for classroom CPU images via QUANTUI_FREQ_PARALLEL=1 in quantui.def.
Settings reflects the deployment value and locks the checkbox while the
env var is set (use QUANTUI_FREQ_PARALLEL=0 to force off site-wide).

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* style: fix pre-commit lint on freq-parallel PR

end-of-file-fixer on tests/test_freq_ir_workers.py; ruff import order
in app.py.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

---------

Co-authored-by: Cursor Agent <nccu-schultz-lab@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants