1# Change Log 2 3Notable changes to QMCPACK are documented in this file. 4 5## [3.11.0] - 2021-04-09 6 7### Notes 8 9This release includes a large number of refinements to QMCPACK and the supporting ecosystem. These include support for the latest version of 10Quantum ESPRESSO, new capabilities in AFQMC, space-warp transformation for forces, numerous bug fixes, user-requested feature improvements, 11and further upgrades to the test system. 12 13* Quantum ESPRESSO (QE) v6.7 support. [\#2927](https://github.com/QMCPACK/qmcpack/pull/2927). 14* Detect and automatically use patched version of QE found on the PATH. [\#2974](https://github.com/QMCPACK/qmcpack/pull/2974). 15* Support for global max\_seconds and STOP file to cleanly halt QMCPACK during a run. [\#3028](https://github.com/QMCPACK/qmcpack/pull/3028). 16* Freezing of two-body Jastrow parameters in optimization works. [\#2814](https://github.com/QMCPACK/qmcpack/issues/2814). 17* Multideterminant code now works with only alpha determinants \(no down electrons\). [\#2698](https://github.com/QMCPACK/qmcpack/issues/2698). 18* High l-momentum channels as local channels in ECPs work. [\#2920](https://github.com/QMCPACK/qmcpack/pull/2920). 19* Space Warp Transformation for ZVZB Forces. [\#2828](https://github.com/QMCPACK/qmcpack/pull/2828). 20* Important bug fixes in legacy CUDA implementation causing incorrect energies. [\#2883](https://github.com/QMCPACK/qmcpack/pull/2883). 21* Implemented DLA in legacy CUDA. [\#2887](https://github.com/QMCPACK/qmcpack/pull/2887). 22* Updates to support CUDA 11.2.1 e.g. [\#2950](https://github.com/QMCPACK/qmcpack/pull/2950). 23* AFQMC supports energy estimator with different Hamiltonian \(from propagation\). [\#2795](https://github.com/QMCPACK/qmcpack/pull/2795). 24* Trial wavefunction optimization with spin-orbit supported. [\#3034](https://github.com/QMCPACK/qmcpack/pull/3034). 25* ppconvert executable automatically built when configured. [\#2904](https://github.com/QMCPACK/qmcpack/pull/2904). 26* Tests added for ppconvert. [\#2929](https://github.com/QMCPACK/qmcpack/issues/2929). 27* Fixed SIMD alignment for AVX512 on some systems. [\#2981](https://github.com/QMCPACK/qmcpack/pull/2981). 28* Improved wavefunction restart logic in AFQMC. [\#2942](https://github.com/QMCPACK/qmcpack/pull/2942). 29* Spin-density supported in batched code. [\#2840](https://github.com/QMCPACK/qmcpack/pull/2840). 30* Reduced I/O operations during cmake. [\#2808](https://github.com/QMCPACK/qmcpack/pull/2808). 31* Improved detection of unsupported-by-Intel combinations of Intel compilers and libstdc++. [\#2794](https://github.com/QMCPACK/qmcpack/pull/2794). 32* Initial support for Andes at OLCF. [\#3073](https://github.com/QMCPACK/qmcpack/pull/3073). 33* Deterministic tests expanded in scope and made reliable for more build types and compilers. 34* Various minor bug fixes and feature improvements based on user requests for both real-space and AFQMC. 35* Improved error handling throughout. 36* Numerous performance improvements, expansion of tests, and bug fixes to the batched VMC and DMC codes. Reasonable but not optimal GPU acceleration can now be achieved for spline-based wavefunctions. 37 38### NEXUS 39 40* Support AMD nodes on Cori. [\#2809](https://github.com/QMCPACK/qmcpack/pull/2809). 41* Interface for RMG code. [\#2932](https://github.com/QMCPACK/qmcpack/pull/2932). 42* Added h-channel to list of possible local channels in pseudopotential. [\#2915](https://github.com/QMCPACK/qmcpack/pull/2915). 43* Allow non spin-specific occupations in case of noncollinear. [\#2957](https://github.com/QMCPACK/qmcpack/pull/2957). 44* More robust handling of QE output when printed eigenvalues touch. [\#3042](https://github.com/QMCPACK/qmcpack/pull/3042). 45* Fixed type check for reblock\_factors in qmc-fit. [\#2830](https://github.com/QMCPACK/qmcpack/pull/2830). 46* Fixed a Jastrow read error/warning, add several QE inputs. [\#2819](https://github.com/QMCPACK/qmcpack/pull/2819). 47* Fixed tests on Summit. [\#2983](https://github.com/QMCPACK/qmcpack/pull/2983). 48* Fixed module overwrite bug in qmca. [\#2802](https://github.com/QMCPACK/qmcpack/pull/2802). 49 50## [3.10.0] - 2020-11-10 51 52### Notes 53 54This release contains multiple feature improvements and bug fixes. The AFQMC implementation has been significantly enhanced, and 55an important wavefunction optimization bug fixed in real space QMC. 56 57* The QMCPACK manual is now available at https://qmcpack.readthedocs.io, having been converted to use reStructuredText and the sphinx 58 documentation system. 59* Significant improvements to the AFQMC code including HIP support for AMD GPUs, updated documentation, and support for non-collinear calculations and spin-orbit k-point Hamiltonians 60 [\#2734](https://github.com/QMCPACK/qmcpack/pull/2734). 61* Improved support for spin-orbit in real-space QMC including documentation [\#2733](https://github.com/QMCPACK/qmcpack/pull/2733). 62* Important bug fix for wavefunction optimization in few electron systems such as isolated atoms. The bug would result in slow or no 63 convergence. Thanks to Jaron Krogel and Matus Dubecky for reports and reproducers. 64 [\#2496](https://github.com/QMCPACK/qmcpack/issues/2496). 65* Implementation of L2 potentials and evaluation in DMC [\#1948](https://github.com/QMCPACK/qmcpack/pull/1948). 66* Consistent with our two year support policy for open source compilers, libraries, and tooling, several version minimums have 67 been increased to either avoid bugs or to utilize new features. 68* Clang 7 is the earliest supported Clang compiler. The latest release is recommended. 69* Intel 2019 is the earliest supported Intel compiler. The latest release is recommended. 70* Future releases of QMCPACK will require C++17. The current minimum is C++14. 71* AoS builds are no longer supported. The code has been removed now that the default structures-of-arrays (SoA) build has 72 sufficiently broad capability. 73* The default CUDA architecture is set to sm_70 (Volta). 74* QMCPACK is built with ENABLE_TIMERS=ON by default [\#2663](https://github.com/QMCPACK/qmcpack/issues/2663) 75* Various bug fixes to complete the transition to Python 3. 76* Ongoing improvements to the OpenMP offload implementation. 77 78### NEXUS 79 80* NEXUS manual is now available at https://nexus-workflows.readthedocs.io, having been converted to use the reStructuredText and sphinx 81 documentation system. 82* Various small fixes and improvements. 83 84## [3.9.2] - 2020-04-29 85 86### Notes 87 88This is an important bug fix release. As described in [\#2330](https://github.com/QMCPACK/qmcpack/issues/2330), since v3.8.0 the 89timestep was not correctly changed between different DMC blocks if the time step was changed in the input, biasing the results. 90Runs using a single time step were not affected. Thanks to Chandler Bennett for identifying the problem. 91 92* Bug fix: timestep was not correctly changed between DMC blocks if it was changed in the input [\#2330](https://github.com/QMCPACK/qmcpack/issues/2330). 93* qmcfinitesize tool added [\#2329](https://github.com/QMCPACK/qmcpack/pull/2329). 94* QMCPACK spack package now supports AFQMC [\#2237](https://github.com/QMCPACK/qmcpack/issues/2237). 95* Improvements to deterministic tests: these are now fully reliable other than for some CUDA builds and some mixed precision CPU configurations. 96* Many improvements to cmake configuration for faster builds, e.g. [\#2389](https://github.com/QMCPACK/qmcpack/pull/2389). 97* Ongoing source cleanup and fewer compile-time warnings, e.g. [\#2375](https://github.com/QMCPACK/qmcpack/pull/2375). 98 99## [3.9.1] - 2020-02-11 100 101### Notes 102 103This release is the same as v3.9.0 except that the version number of QMCPACK is reported correctly. See the v3.9.0 part of the CHANGELOG for important changes compared to v3.8.0. 104 105## [3.9.0] - 2020-02-11 106 107### Notes 108 109This release includes a large number of refinements to improve or extend the functionality of QMCPACK and NEXUS. Importantly, this 110release supports and requires Python 3. After this release we plan to remove the array-of-structures build configuration and also 111the legacy CUDA implementation for GPUs. If any needed functionality is not supported by the now-default structures-of-arrays 112configuration, users should contact the developers via the QMCPACK Google Groups or via an issue on the QMCPACK GitHub repository. 113Work is ongoing to support dynamical spin variables, implement spin-orbit, and to develop new support for accelerators via a new 114framework that will consistently support CPUs and GPUs from the same codebase. 115 116* All uses of Python updated to Python 3, which is now required. Python 2 was retired at the end of 2019, and many packages 117 already only support Python 3. 118* A greatly expanded selection of effective core potentials is available at 119 [https://pseudopotentiallibrary.org/](https://pseudopotentiallibrary.org/) in formats suitable for QMCPACK and common DFT and 120 quantum chemistry codes. 121* All major functionality is now supported by the default structures-of-arrays (SoA) build. This release is the last to support the legacy array-of-structures (AoS) 122 build. See [\#861](https://github.com/QMCPACK/qmcpack/issues/861). 123* Major bug identified and fixed in the periodic Coulomb evaluation (Optimized breakup method of Natoli-Ceperley). Many thanks to Jan Brndiar 124 and coworkers for reporting this. For large anisotropic supercells such as a graphene layer with substantial vacuum, the ion-ion potential was 125 incorrectly computed. Results in all bulk-like supercells tested so far have been accurate. An independent Ewald check of the ion-ion potential evaluation has been added. See 126 [\#2137](https://github.com/QMCPACK/qmcpack/pull/2137). The Coulomb potential evaluation has also been found to converge very slowly for certain 127 anisotropic supercells, particularly for quasi-2D cells where huge errors can result. The new independent Coulomb check will 128 abort if a tolerance is not reached and provide guidance. Research is ongoing to develop an improved methodology 129 [\#2185](https://github.com/QMCPACK/qmcpack/issues/2185). 130* Support for periodic gaussian-based trial wavefunctions at complex k-points 131 [\#1988](https://github.com/QMCPACK/qmcpack/issues/1988). 132* Determinant-localization approximation (DLA) of Zen et al. [J. Chem. Phys. 151, 134105 133 (2019)](https://doi.org/10.1063/1.5119729) for DMC non-local pseudopotential evaluation implemented. 134* Improved force implementation [\#1769](https://github.com/QMCPACK/qmcpack/issues/1769), [\#1768](https://github.com/QMCPACK/qmcpack/issues/1768). 135* Non-local pseudopotential derivatives are supported in the SoA build and recommended for all optimizations 136 [\#2083](https://github.com/QMCPACK/qmcpack/issues/2083). 137* Above 192 electrons in a spin determinant, delayed updating with delay 32 is enabled by default for higher performance, 138 [\#2027](https://github.com/QMCPACK/qmcpack/pull/2027). Rank-1 updating is used by default for smaller determinants. 139* Improved configuration and detection of Intel MKL and vector MKL when used with non-Intel compilers. 140* QMCPACK will now run with wavefunctions where only electrons of a single spin are specified. 141 [\#2148](https://github.com/QMCPACK/qmcpack/pull/2148). 142* AFQMC estimators now include 1 and 2 body reduced density matrices (1RRM, 2RDM) and on-top pair density. 143 [\#2097](https://github.com/QMCPACK/qmcpack/pull/2097). 144* Dense real hamiltonian added for AFQMC allowing for GPU acceleration for chemistry applications. [\#2131](https://github.com/QMCPACK/qmcpack/pull/2131). 145* [QMCPACK spack package](https://spack.readthedocs.io/en/latest/package_list.html#qmcpack) supports the latest release as well 146 as the development version. This package can also install and patch 147 Quantum Espresso. 148* Support for Blue Gene removed due to retirement of this architecture. 149* Many minor bug fixes, expanded testing, and small feature improvements. 150 151### Known bugs 152 153See [list of open bugs](https://github.com/QMCPACK/qmcpack/issues?q=is%3Aissue+is%3Aopen+label%3Abug). 154 155* Use of reconfiguration in DMC is disabled since it is incorrect. [\#2254](https://github.com/QMCPACK/qmcpack/pull/2254) 156 157### NEXUS 158 159* NEXUS version is increased to 2.0.0 due to major updates in this release. 160* NEXUS has been transitioned to Python 3 and now requires it. 161* Significantly expanded test system to cover all major functionality. 162* Full support for PySCF to QMCPACK and AFQMC workflows [\#1970](https://github.com/QMCPACK/qmcpack/pull/1970). 163* Support for DLA [\#2061](https://github.com/QMCPACK/qmcpack/pull/2061). 164* VMC optimization performed with NLPP derivatives by default [\#2128](https://github.com/QMCPACK/qmcpack/pull/2128). 165* Many minor bugfixes and feature improvements. 166 167## [3.8.0] - 2019-07-23 168 169### Notes 170 171This release includes Quantum Espresso v6.4.1 support, new examples 172for adding wavefunctions and Jastrow functions, and many updates to the 173AFQMC code functionality. Additionally, all the updated scripts and 174functionality utilized during the [2019 QMCPACK 175workshop](https://github.com/QMCPACK/qmcpack_workshop_2019) are 176provided; this link also includes several new tutorials. A large 177number of feature refinements, bugfixes, testing improvements and 178source code cleanup have also been performed. 179 180* Quantum Espresso v6.4.1 support [\#1732](https://github.com/QMCPACK/qmcpack/pull/1732). 181* New tutorial for adding a simple wavefunction (He) [\#1621](https://github.com/QMCPACK/qmcpack/pull/1621). 182* New tutorial and capability for adding Jastrow functors from symbolic expressions written in Python [\#1557](https://github.com/QMCPACK/qmcpack/pull/1557). 183* [Updated compiler and library support policy](https://github.com/QMCPACK/qmcpack#prerequisites), and matching testing. We aim to support open source compilers and 184 libraries within two years of release. Use of older software is discouraged and untested. Support for closed source compilers over the same period may require use of an exact version. 185* Many updates to AFQMC code to support more compilers and libraries. 186* Newly expanded deterministic test set should now pass on all platforms and be usable as an. 187 installation check. Recommend to run "ctest -L deterministic" after building QMCPACK. 188* AFQMC code now only reads HDF5 format data to improve I/O performance and storage utilization. 189* K-point AFQMC code usable in production (e.g. bug fix [\#1524](https://github.com/QMCPACK/qmcpack/pull/1524)). 190* Updated AFQMC workflow scripts for interfacing with PySCF. 191* Faster initial cusp correction calculation for all-electron calculations, e.g. [\#1643](https://github.com/QMCPACK/qmcpack/pull/1643). 192* Improved stability of cusp correction calculation [\#1594](https://github.com/QMCPACK/qmcpack/pull/1594). 193* New short-ranged e-n Jastrow [\#1680](https://github.com/QMCPACK/qmcpack/pull/1680). 194* Substantially faster 1-body reduced density matrix (1DRDM) estimator [\#1672](https://github.com/QMCPACK/qmcpack/pull/1672). 195* Performance tests added for LCAO code and Gaussian basis sets [\#1639](https://github.com/QMCPACK/qmcpack/pull/1639). 196* Reduced configuration output by default. Use -DQMC_VERBOSE_CONFIGURATION=1 on CMake line for greater detail. 197* Partial support for forces in LCAO basis e.g. [\#1559](https://github.com/QMCPACK/qmcpack/pull/1559). See details given at 198 2019 QMCPACK Workshop and in manual. 199* Improved human-readable Jastrow output [\#1525](https://github.com/QMCPACK/qmcpack/pull/1525). 200* Improved MPI implementation. QMCPACK is now compatible with OpenMPI v4. 201* Majority of the manual has been professionally edited. 202 203### Known bugs 204 205See [list of open bugs](https://github.com/QMCPACK/qmcpack/issues?q=is%3Aissue+is%3Aopen+label%3Abug). 206 207* There is a general problem with MVAPICH2 involving aligned memory allocations that will cause 208 QMCPACK to crash if MVAPICH is compiled using defaults. See [\#1703](https://github.com/QMCPACK/qmcpack/issues/1703) for details and workaround. 209 210### NEXUS 211 212* Examples added of PySCF molecular and solid-state workflows [\#1552](https://github.com/QMCPACK/qmcpack/pull/1552). 213* Update support for Quantum Package 2.0 [\#1538](https://github.com/QMCPACK/qmcpack/pull/1538). 214* Support for additional machines including SuperMUC-NG [\#1665](https://github.com/QMCPACK/qmcpack/pull/1665). 215* Support for ghost atoms [\#1653](https://github.com/QMCPACK/qmcpack/pull/1653). 216* Update outdated cubic specifier to alat for QE [\#1642](https://github.com/QMCPACK/qmcpack/pull/1642). 217* K-point grids are symmetrized with spglib [\#1544](https://github.com/QMCPACK/qmcpack/pull/1544). 218* Bundling of jobs at NERSC [\#1748](https://github.com/QMCPACK/qmcpack/pull/1748). 219 220## [3.7.0] - 2019-03-29 221 222### Notes 223 224This release includes GPU support for the AFQMC implementation, 225Quantum Espresso v6.4 support, and in the real-space code makes the 226structure-of-arrays (SoA) code path the default. A large number of 227feature refinements, bugfixes, testing improvements and source code 228cleanup have been performed. 229 230* The improved structures of arrays (SoA) build is now the 231 default. This is generally significantly faster and uses less memory 232 than the AoS build due to better algorithms, but does not yet have 233 the full range of functionality. The older AoS build can be selected 234 with -DENABLE_SOA=0. 235* AFQMC code fully supports GPU acceleration via NVIDIA CUDA. Use -DENABLE_CUDA=1. 236* Quantum Espresso v6.4 is supported. [\#1457](https://github.com/QMCPACK/qmcpack/pull/1457) 237* Better error handling e.g. [\#1423](https://github.com/QMCPACK/qmcpack/issues/1423) 238* Workarounds for MPI support on Summit. [\#1479](https://github.com/QMCPACK/qmcpack/pull/1479) 239* ppconvert should be more reliable. [\#891](https://github.com/QMCPACK/qmcpack/issues/891) 240* Delayed update implementation on GPUs. [\#1279](https://github.com/QMCPACK/qmcpack/pull/1279) 241* Continued improvements to the testing system and test coverage. While still under 242 development, a new set of deterministic tests is intended to rapidly 243 and reliably test the code, with good coverage. Tests pass for real 244 and complex, but not yet mixed-precision or GPU builds. 245* Source code has been formatted with clang-format for consistency throughout. 246 247### Known Bugs 248 249See [list of open bugs](https://github.com/QMCPACK/qmcpack/issues?q=is%3Aissue+is%3Aopen+label%3Abug). 250 251* Theres is a bug that could result in an incorrect local 252 electron-ion pseudopotential energy with CUDA v9.1 and Kepler GPUs. This is still being 253 investigated. [\#1440](https://github.com/QMCPACK/qmcpack/issues/1440) 254 255* QMCPACK will not build with OpenMPI v4 due to use of deprecated 256 functions. This will be addressed when the new MPI wrappers are 257 fully adopted. Older OpenMPI libraries are fully capable. 258 259### NEXUS 260 261* A collection of training material is at https://github.com/QMCPACK/nexus_training 262* Improved generation of QMCPACK inputs. [\#1471](https://github.com/QMCPACK/qmcpack/pull/1471) 263* Improved Gaussian Process optimization. [\#1498](https://github.com/QMCPACK/qmcpack/pull/1498) 264* Updated Cori support. [\#1463](https://github.com/QMCPACK/qmcpack/pull/1463) 265* Supercell tiling is more robust. [\#1432](https://github.com/QMCPACK/qmcpack/pull/1432) 266* Summit support. [\#1394](https://github.com/QMCPACK/qmcpack/pull/1394) 267* Improved handling of excited state calculations. [\#1365](https://github.com/QMCPACK/qmcpack/pull/1365) 268* Fixed CHGCAR conversion. [\#1351](https://github.com/QMCPACK/qmcpack/pull/1351) 269 270## [3.6.0] - 2018-12-19 271 272### Notes 273 274This release includes a completely new AFQMC implementation, 275significant performance improvements for large runs, greater 276functionality in the structure-of-arrays (SoA) code path, support for 277larger spline data on multiple GPUs, and support for new machines and 278compilers. The manual has been improved, bugs have been fixed, and 279source code cleanup continued. 280 281A C++14 and C99 capable compiler, Boost 1.61.0, and CMake 3.6 or 282greater are now required. 283 284* Completely updated AFQMC implementation including reduced scaling separable density 285 fitting https://arxiv.org/abs/1810.00284 Documentation and examples 286 will be added in v3.7.0. Contact the developers for use instructions 287 in the interim. [\#1245](https://github.com/QMCPACK/qmcpack/pull/1245) 288 289* Implementation of delayed updates for CPU. Substantial speedups for 290 runs with 100s of electrons, with increasing gains at larger 291 electron counts. See manual for details. [\#1170](https://github.com/QMCPACK/qmcpack/pull/1170) 292 293* Initial support for nested OpenMP to further reduce time-to-solution for large problems. [\#1082](https://github.com/QMCPACK/qmcpack/pull/1082) 294 295* Support for splitting/distributing spline orbital data across multiple GPUs on a 296 single node. [\#1101](https://github.com/QMCPACK/qmcpack/pull/1101) 297 298* Cusp correction for all electron calculations is implemented in the 299 SoA version. [\#1172](https://github.com/QMCPACK/qmcpack/pull/1172) 300 301* Backflow is implemented in the SoA version. [\#1225](https://github.com/QMCPACK/qmcpack/pull/1225) 302 303* K-points with real coefficients are supported in periodic LCAO. [\#1006](https://github.com/QMCPACK/qmcpack/pull/1006) 304 305* Initial support for Summit at OLCF. Revisions may be needed in 306 January 2019 as the software stack is updated. This will be 307 addressed in a new version as required. 308 309* Initial support for PGI compiler. 310 311* Build instructions for ARM-based systems. [\#1148](https://github.com/QMCPACK/qmcpack/pull/1148) 312 313* Setup scripts are python 2 and 3 compatible. [\#1261](https://github.com/QMCPACK/qmcpack/pull/1261) 314 315* QMCPACK and NEXUS can now be installed by "make install" after 316 configuring CMake with CMAKE_PREFIX_PATH. [\#1020](https://github.com/QMCPACK/qmcpack/issues/1020) 317 318* Significantly reworked test labeling and categorization system. [\#1155](https://github.com/QMCPACK/qmcpack/pull/1155) 319 320* Partial transition to a new MPI wrapper implementation for greater compatibility. 321 322* Utilities have been renamed for clarity and to avoid name collisions 323 with other applications. getSupercell is renamed 324 qmc-get-supercell. extract-eshdf-kvectors is renamed 325 qmc-extract-eshdf-kvectors. 326 327### Known bugs 328 329Several potentially significant bugs are outstanding and will be addressed in the 330next release. See [list of open bugs](https://github.com/QMCPACK/qmcpack/issues?q=is%3Aissue+is%3Aopen+label%3Abug). 331 332* LCAO (Gaussian basis) molecular calculations are incorrect with 333 certain diffusion functions. The reason for this bug is currently 334 unclear. [\#1145](https://github.com/QMCPACK/qmcpack/issues/1145) 335 336* On NVIDIA Volta GPUs some runs show inconsistencies with the CPU 337 version. Standard carbon diamond and LiH tests pass with good agreement 338 with the CPU implementation. [\#1054](https://github.com/QMCPACK/qmcpack/issues/1054) 339 340* QMCPACK will not build with OpenMPI v4.0.0 due to use of deprecated 341 functions. This will be addressed in the next version as the new MPI 342 wrappers are fully adopted. Older OpenMPI libraries are fully capable. 343 344 345### NEXUS 346 347* Interface to and support for PySCF. [\#1220](https://github.com/QMCPACK/qmcpack/pull/1220) 348* Interface to and support for Quantum Package (QP). [\#1093](https://github.com/QMCPACK/qmcpack/pull/1093) 349* Support for excited state calculations. [\#1200](https://github.com/QMCPACK/qmcpack/pull/1200) 350* qfit is renamed qmc-fit. 351* ntest, sim, redo are renamed nxs-test, nxs-sim, nxs-redo. 352* Many smaller improvements. 353 354## [3.5.0] - 2018-08-02 355 356### Notes 357 358This release includes support for the latest Quantum Espresso version 6.3, 359an initial implementation of periodic Gaussian support via PySCF, and a new 360version of the hybrid or "APW" representation of orbitals. Many minor 361bugs have been fixed, configuration and documentation improved. 362 363Note that the PDF manuals are no longer included with the source. Versions 364are available online via https://qmcpack.org . The PDFs can be built 365using manual/build_manual.sh and 366nexus/documentation/user_guide_source/build_nexus_user_guide.sh 367 368Attention developers: This version contains substantially fewer source 369lines than previous versions due to clean out of old code and unused 370execution paths. Refactoring to improve the internal structure of 371QMCPACK is ongoing. Track the develop branch and follow discussion on 372GitHub closely to avoid difficult merges. 373 374* Support for Quantum Espresso 6.3 and 6.2.1. Check documentation to 375 ensure compiled with required HDF5 support. 376* Support for periodic gaussians and PySCF generated 377 wavefunctions. Initial version is limited to Gamma-point. 378* Improved hybrid representation of single particle orbitals 379 (APW-like) for significantly reduced memory usage and possible 380 accuracy increase compared to conventional spline representation. https://arxiv.org/abs/1805.07406 381* Norms of orbitals are checked inside QMCPACK to catch conversion errors. 382* Added verbosity setting to QMCPACK output. 383* CUDA can now be enabled with SoA builds. 384* Many improvements to QMCPACK manual, including all new features, CIPSI, 3-body 385 jastrow factor description, spack package, and enabling HTML generation. 386* CMake configuration improvements, particularly around MKL handling. 387* Extensive cleanup of unused source files and unused code paths 388 removed, reducing the number of source lines by over 30 percent. 389 390### Known bugs 391 392* Weight of first block of DMC density is incorrect in CPU 393 code. DMC densities in CUDA GPU code are incorrect for all 394 blocks. [\#934](https://github.com/QMCPACK/qmcpack/issues/934) and [\#925](https://github.com/QMCPACK/qmcpack/issues/925) 395* Runs with only a single electron may crash. [\#945](https://github.com/QMCPACK/qmcpack/issues/945) 396 397### NEXUS 398 399* Support for GAMESS HDF5 workflows. 400* Nexus accepts command line inputs. 401* Nexus testing via ntest executable. 402* Added GAMESS-NEXUS examples for RHF, CISD, and CASSCF wavefunction. 403* Added support for -nojastrow workflows. 404* Added support for Stampede supercomputer. 405* Added script to build NEXUS user guide. 406* Various bugfixes including to GAMESS input parsing. 407 408## [3.4.0] - 2018-01-29 409 410### Notes 411 412This release includes size-consistent t-moves, and improvements to 413load balancing and memory usage that will be visible in large 414runs. Significant revisions have been made to the gaussian 415wavefunction reader and a PySCF interface is in progress. A bug 416affecting non-git installs (from release tarballs) is fixed. Feedback 417is particularly welcome on the new features. 418 419* Size consistent t-moves implemented (Casula 2010 algorithm). 420 Enabled via nonlocalmoves parameter, see manual. 421* Bugfix: For non-git builds, build process failed on some systems 422 due to git-rev.h handling. 423* Optimized load balancing in DMC. Command line option async_swap 424 removed. Parameter use_nonblocking now disables non-blocking MPI 425 load balancing. Non-blocking MPI is now enabled by default. 426* Improved memory handling and usage in SoA code, increases 427 performance. 428* Improved stability of GPU matrix inversion for large runs. 429* Ongoing improvements to output to improve readability. 430* Initial interface to PySCF for real space QMC trial wavefunctions. 431* Enabled use of HDF5 files for Gaussian based wavefunctions 432 with SoA implementation. 433* Added Appendix to manual listing all known QMCPACK publications. 434 This will be updated on an ongoing basis. Please advise of any 435 missing publications. 436* Optimized momentum distribution estimator. Supported by SoA and 437 1,2,3-body Jastrow functions. 438* Support for labeled timers in Intel VTune based profiling. 439 440### NEXUS 441 442* Minor bugfixes and improvements. 443 444### Known limitations 445 446* PySCF interface is preliminary. convert4qmc is updated, but manual 447 entries are not yet provided. This will be improved in later 448 versions. The interface is currently only for isolated molecular 449 systems. A full periodic implementation is in progress. 450 451* Documentation, examples and tutorials are not yet consistent with 452 the updated converter convert4qmc. 453 454## [3.3.0] - 2017-12-18 455 456### Notes 457 458This release includes new methods, converter updates, and many 459optimizations, feature improvements, and bug fixes. It is a 460recommended update for all users. 461 462### QMCPACK updates 463 464* Support for finite difference linear response (FDLR) method and 465 wavefunctions, developed and contributed by Nick Blunt and Eric 466 Neuscamman, see Journal of Chemical Physics 147, 194101 (2017), 467 https://doi.org/10.1063/1.4998197 and 468 https://arxiv.org/abs/1707.09439 . 469* Major update to convert4qmc, conversion from GAMESS and other 470 gaussian basis set codes. HDF5 output is now supported for large 471 wavefunctions with -hdf5 option. Significantly improved example 472 inputs \*.qmc.in.xml. 473* Gaussian based trial wavefunctions now supported by structure of 474 arrays implementation (ENABLE_SOA=1). A full reimplementation that 475 will also support gaussians in periodic boundary conditions, e.g. 476 from pyscf, is in progress. 477* Initialization of multideterminant wavefunctions improved for faster 478 startup and lower memory usage. In practice this significantly 479 raises the usable maximum number of determinants. 480* Maximum CPU time setting (maxcpusecs): QMC drivers will not 481 start a new block if there is not enough estimated time remaining to 482 complete the next block and gracefully shut down. 483* Homogeneous electron gas wavefunction support and tests. 484* New command line verbosity command line flag -verbosity. Output of 485 QMCPACK will be overhauled over the next few releases to 486 support low, high, and debug options, and also to significantly improve 487 readability and utility. 488* Bugfix: Umrigar drift diffusion term is now consistent with the 489 Umrigar small time step error algorithm with complex wavefunctions. 490* Bugfix: Momentum distribution is now correctly weighted and also 491 correctly signed for twist averaging. 492* Renamed performance tests with atom and electron count. 493* Removed support for "buffering" of non-local pseudopotential 494 wavefunction components during optimization (useBuffer setting) to 495 reduce memory usage and for simplicity. 496* doxygen documentation for developer-level documentation of the code 497 and file structure. Produced via make in qmcpack/doxygen. HTML 498 currently published at http://docs.qmcpack.org/doxygen/doxy/ 499* Many minor bug fixes and improved tests. 500 501### NEXUS 502 503* Improved postprocessing support for Quantum Espresso. 504* Various minor bug fixes. 505 506### Known issues and limitations 507 508* Documentation, examples and tutorials are not yet consistent with 509 the updated converter convert4qmc. 510* Core functionality is largely compatible with ENABLE_SOA but 511 some specialized wavefunctions and observables are not. 512* Use of GNU compilers with glibc 2.23 builds will crash due to a bug 513 in libmvec of glibc. The glibc version can be verified by 514 "ldd --version". 515 516## [3.2.0] - 2017-09-21 517 518### Notes 519 520This release provides a significant speed increase for 521many calculations. A C++11 compiler is now required. It is a 522recommended update. 523 524### QMCPACK updates 525 526* Major speedup for calculations using spline wavefunctions via 527 initial implementation of "Structure of Arrays" data layout and 528 improved algorithms. Enabled via -DENABLE_SOA=1. Benefits all CPU 529 architectures. Many runs are doubled in speed. Not yet available for 530 Gaussian-basis sets or for all observables and QMC methods. See 531 writeup in manual for guidance. 532* A compiler supporting C++11 is now required. 533* DMC respects MaxCPUSecs parameter and will gracefully shut down and 534 not start a new block if there is not sufficient estimated time to 535 complete it. 536* Checkpointing code rewritten for robustness and performance at scale. 537 Parallel as well as serial HDF5 supported and autodetected. 538* Improved beta-release of AFQMC code and documentation. 539* Backflow documentation and optimization tips added. 540* Correlated sampling VMC drivers reactivated. 541* Added carbon graphite performance test similar to CORAL benchmark. 542* Improvements to CMake and CTest usage. 543* Build instructions for NERSC, ALCF, and OLCF machines updated. 544* Latest manual PDF now available at http://docs.qmcpack.org 545 546### NEXUS 547 548* Significantly improved manual entry for "qmca" analysis tool, the 549 main recommended tool for statistical analysis of QMCPACK data. 550* Added time step fitting tool "qfit" for timestep extrapolation. Uses 551 jack-knife statistical technique. 552* Improved density file postprocessing. 553* Support for Makov-Payne corrections. 554 555## [3.1.1] - 2017-08-01 556 557### Notes 558 559This is a bugfix release and recommended update. 560 561### QMCPACK updates 562 563* Added numerical tolerance to check of jastrow cutoff and Wigner Seitz 564 radius. 565* CMake correctly configures when MPI is not present. 566* Improved support for test coverage measurements. 567* Added unit tests for some estimators. 568 569### NEXUS 570 571* IPython compatible exit handling (from Duy Le) 572 573 574## [3.1.0] - 2017-06-21 575 576### Notes 577 578This release incorporates an improved DMC equilibration scheme, 579numerous bugfixes, small improvements, and significantly improved 580testing. It is a recommended update. 581 582### QMCPACK updates 583 584* Improved population control during DMC equilibration. Reduces variance on larger runs. 585* Bugfix: Real valued wavefunction GPU code gave incorrect result for some non-gamma twists that could be made real, e.g. X point. Complex code (QMC_COMPLEX=1) was always correct. 586* All particle move VMC and DMC algorithms enabled, tests added. 587* Reptation Monte Carlo (RMC) enabled, tests added. 588* Significantly improved AFQMC implementation. 589* Added NiO based VMC and DMC performance tests and description in manual. Wavefunction files accessed via QMC_DATA. 590* Added DMC tests with locality and t-moves approximations. 591* Added AFQMC tests. 592* Added test of real space QMC restart capabilities. 593* Added tests for several estimators. 594* Added unit test for DMC walker propagation, effective core potentials, and OhmmsPETE. 595* To avoid filesystem limitations, QMC_SYMLINK_TEST_FILES can be set to symlink (1) or copy test files (0). 596* Fixed mixed precision Ceperley force evaluation. 597* Many updated tests to improve statistical reliability. Removed flux estimator from short tests because they were not reliable enough. 598* Tests that rely on non-standard python modules that are not available are skipped. 599* Error trap jastrow factors with cutoff radii larger than Wigner Seitz radius. 600* Bugfix: Prevent users from adding correlation terms on non-existing electron pairs, e.g. up-down correlation terms when only up-spin particles are present. 601* Support for measuring test coverage and performing coverage runs with cmake and ctest. 602* Support for GCC7 and IBM XL (non Blue Gene) compiler. 603* Support selecting GPU microarchitecture via -DCUDA_ARCH=sm_35(default). 604* SummitDev IBM Minsky build recipe (Power8 + NVIDIA Pascal P100 GPUs). 605* Significantly updated optimizer description in manual, including excited state optimization. 606* Added description of using Intel MKL with non-Intel compilers in manual. 607* Added description of MPIEXEC and MPIEXEC_NUMPROCS_FLAG to manual for systems where MPI runner is non-standard. 608* Updated labs with correct pseudopotentials, basis set files. 609* Many updated error messages and warnings. 610 611### Known problems 612 613* AFQMC without MKL will fail, e.g. short-afqmc-N2_vdz-4-1 test fails. 614 615### NEXUS updates 616 617* Improved selection algorithm to obtain optimally tiled supercells. 618* Support for parallel pw2qmcpack workflows. 619* Support for HPC resources at the Leibniz Supercomputing Center. 620* Better consistency checks for the Structure class. 621* Bugfix: forbid job bundling for simulations that depend on each other. 622* Bugfix: correctly select low spin polarization in primitive and tiled (net_spin="low" option). 623 624 625## [3.0.0] - 2017-01-30 626 627### Notes 628 629We are adopting [Semantic Versioning](http://semver.org) with this 630release. It is the first to be made from the git repository on GitHub, 631and the first named release since 2016-06-02 and subversion 632revision 6964. 633 634A potentially severe bug is fixed for periodic wavefunctions in this version, 635in addition to many usability improvements and bugfixes. All users are 636strongly recommended to upgrade. 637 638NEXUS updates are listed after QMCPACK updates. 639 640### QMCPACK updates 641 642* IMPORTANT BUGFIX: Real-valued wavefunction code would occasionally make a numerically 643 unstable choice for constructing real-valued periodic wavefunctions, leading to 644 large variances and poor energies. Algorithm for constructing 645 wavefunctions improved. 646* Fully parallel pw2qmcpack.x for QE 5.3, enables conversion of large 647 wavefunctions and use of same parallel setup as pw.x runs. 648* Full testing of Quantum Espresso workflows (pw.x -> pw2qmcpack.x -> 649 qmcpack). Specify directory containing QE binaries via QE_BIN during configuration. 650* Added open boundary conditions tests using QE wavefunctions, 651 as might be used for molecular work. Requires QE_BIN and computes 652 trial wavefunction on the fly. 653* Added DMC, optimizer and additional system tests. 654* Added unit tests using the Catch framework. 655* Plane wave wavefunctions can be evaluated in plane waves, use "pw" 656 as determinantset type. Slow, but useful for checking spline accuracy. Tests added. 657* Complex implementation on GPUs, supports arbitrary twists and 658 complex phase wavefunctions as per CPU code. 659* Flux estimator correct for complex wavefunctions. 660* Mixed precision CPU implementation, activated via -DQMC_MIXED_PRECISION=1. 661* Double precision GPU implementation, complementing existing 662 mixed precision implementation, activated via -DQMC_MIXED_PRECISION=0. 663* GAMESS CI converter improved. 664* C++11 detection and support. 665* Initial release of new optimizer, requires C++11 (contact Eric Neuscamman). 666* Initial release of orbital-based AFQMC code, requires C+11 and MKL (contact Miguel Morales). 667* Fine grained timers implemented, activated via -DENABLE_TIMERS=1. 668* Improved Intel math and vector math library support. MKL and MKL VML more easily 669 supported with GCC as well as Intel compilers. 670* Many code updates to eliminate CLANG warnings. 671* Configure scripts, printed headers, manual updated for git. Git 672 version printed during configure and on standard output. 673* Source files headers updated to consistently show UIUC/NCSA open source 674 license and list development history. 675* Numerous manual updates. 676* Updated QMCPACK tutorial laboratories. 677* Many small bug fixes, improvements and optimizations. 678 679### NEXUS updates 680 681* General 682 * Nexus output now tracks time instead of poll number. 683 * Reported memory use now includes child processes. 684* Workflow generator 685 * Major new capability to generate simple to complex workflows involving QE, VASP, and QMCPACK. 686 * Aim is to allow single notebook/worksheet describing all simulation workflows needed in a project. 687 * Users can succinctly create any subchain of the workflow: relax->scf->nscf->orbital_conv->qmc. 688 * Additional elements can be added to workflow chains over time as needed. 689 * Scans of structural parameters and input parameters at any level of the chain are possible. 690 * No programming constructs are required (for/if, etc). 691 * Directory substructure is automatically generated in the case of scans. 692 * Native support for visualizing workflows via pydot is provided. 693 * Documentation for this feature is pending. 694* Quantum Espresso workflows 695 * Support for vdW functional input. 696 * Fixes to SCF->NSCF workflows for QE 5.3.0+. 697 * Support for automatic restarts of SCF runs. 698 * Native support for workflows involving post-processing tools 699 * pp.x, dos.x, bands.x, projwfc.x, cppp.x, pw_export.x supported. 700 * Postprocessing and summary of Lowdin charge data from projwfc.x. 701* QMCPACK workflows 702 * Fixes for QE/VASP structural relaxation -> QMCPACK workflows. 703 * Fixed job bundling of twist averaged runs. 704 * Support for partitioned sposet input. 705* Supercomputing environments 706 * Native support for several supercomputing environments located at Sandia Nat. Labs. 707* Atomic structure manipulation 708 * Ability to find optimal supercells, similar to getSupercell tool. 709 * Robustness fixes to tiling operations. 710* Tools 711 * qmca 712 * Fix for twist averaging with user-provided weights. 713 * qmcfit 714 * New command line tool for jack-knife fitting of QMCPACK data. 715 * Timestep extrapolation currently supported. 716 * General binding/equation of state fitting pending. 717