Notes
This QMCPACK release contains numerous feature improvements, bug fixes, and optimizations. An experimental interface to neural network wavefunctions is added, full support for CASSCF wavefunctions from PySCF is provided, and we introduce a new option that can reduce memory pressure in GPU runs. Nexus has been significantly enhanced with thoroughly revised documentation (https://nexus-workflows.readthedocs.io/en/latest/), QMCPACK restart support, and a complete update of common electronic structure code inputs. Error handling has been expanded, improving the robustness of higher-throughput workflows. These updates are therefore recommended for all users. As first noted in the v4.2.0 release we plan to remove the legacy QMC drivers in an upcoming release: users should transition to batched drivers. To make best use of limited development resources, we are also considering removing AFQMC support and the LMY optimization engine. Feedback is welcome.
- DeepQMC neural-network wavefunctions are integrated with QMCPACK on an exploratory/developmental basis. #6061
- Significant speedup of v1 T-move nonlocal pseudopotential evaluation on GPUs via batched algorithm, thanks to @HaoZeke. #6079
- NERSC Perlmutter build recipe updated. #6026
- Shared_ranks supported in GPU runs, reducing host-side memory pressure from the large footprint of spline coefficients. #6173
- CTest can distribute test jobs to GPUs with
QMC_CTEST_NUM_GPUS, speeding up testing on multi-GPU nodes. #6112 - Builds automatically select C++20 when the compiler defaults to that standard. #6075
- Batched GEMV, GER, and copy operations use rocBLAS on AMD GPUs. #6109
- Backflow wavefunctions for ab initio Hamiltonians supported in the batched drivers. Optimization is not yet supported. #6149
- Improved PySCF CASSCF wavefunction conversion. #6167
- QMCPACK tests upgraded to use Catch2 v3.15.2. #6053
- GCC 15 workaround prevents incorrect LCAO results in complex builds. #6139
- macOS bus error fix in unit tests. #6031
qdenssupports spin-density estimators in batched QMC. #6117qmcacan generate image output. #5994- Numerous minor bug fixes and internal refactoring.
NEXUS [2.4.0]
- New documentation theme and structure at https://nexus-workflows.readthedocs.io/en/latest/ . #5978
- QMCPACK restart workflows are supported in Nexus, enabling arbitrary length QMC runs. #6107
- New generic workstation machine setting "ws" that automatically determines core counts. #6003
- Clearer Nexus status printouts. #6106
- Nexus handles interrupted workstation jobs. #6105
- VASP input and output updated. #6108
- Quantum ESPRESSO input parameters are updated and autogenerated. e.g. #6049, #6093
- RMG input parameters updated. #6159
nrulesupport to control non-local pseudopotential evaluation grids in QMCPACK. #6059- PySCF simulation failures are better detected and reported. #6023
- Python errors in one simulation do not terminate an entire workflow. #6124
- Fixed reading of QMCPACK input files with
<include/>elements. #6160 - Significant rework of Nexus error handling to use standard Python exceptions e.g. #6114, #6140
- Significant update of Nexus pseudopotential handling, including to user-facing
PseudoSetAPI. e.g. #6043, #6132, #6134 - Z-valence parsing is available for UPF, QMCPACK XML, and POTCAR pseudopotentials. #6035
- Periodic-table isotope accessors. #6000
- Initial support for dynamic workflows. #5986
- Updated Nexus developer style guide. #6120
- Ongoing refactoring and minor bug fixes throughout.