Skip to content

Commit c32123a

Browse files
authored
Merge pull request #5482 from QMCPACK/rc_410
Release candidate for v4.1.0
2 parents 0199944 + 1fea37f commit c32123a

File tree

451 files changed

+15075
-5722
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

451 files changed

+15075
-5722
lines changed

.github/pull_request_template.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
Please review the [developer documentation](https://github.com/QMCPACK/qmcpack/wiki/Development-workflow)
22
on the wiki of this project that contains help and requirements.
33

4+
Please also follow the [GitHub Pull Request guidance](https://qmcpack.readthedocs.io/en/develop/developing.html#github-pull-request-guidance). As much as possible, try to avoid the ["Don't"s](https://qmcpack.readthedocs.io/en/develop/developing.html#don-t) to help maintain a high development velocity.
5+
46
## Proposed changes
57

68
Describe what this PR changes and why. If it closes an issue, link to it here
@@ -27,10 +29,11 @@ _Delete the items that do not apply_
2729

2830
## Checklist
2931

30-
_Update the following with a yes where the items apply. If you're unsure about any of them, don't hesitate to ask. This is
32+
_Update the following with an [x] where the items apply. If you're unsure about any of them, don't hesitate to ask. This is
3133
simply a reminder of what we are going to look for before merging your code._
3234

33-
- Yes/No. This PR is up to date with current the current state of 'develop'
34-
- Yes/No. Code added or changed in the PR has been clang-formatted
35-
- Yes/No. This PR adds tests to cover any new code, or to catch a bug that is being fixed
36-
- Yes/No. Documentation has been added (if appropriate)
35+
* * [ ] I have read the pull request guidance and develop docs
36+
* * [ ] This PR is up to date with the current state of 'develop'
37+
* * [ ] Code added or changed in the PR has been clang-formatted
38+
* * [ ] This PR adds tests to cover any new code, or to catch a bug that is being fixed
39+
* * [ ] Documentation has been added (if appropriate)

.github/workflows/ci-github-actions.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ jobs:
2727
GCC9-NoMPI-NoOMP-Complex,
2828
GCC9-MPI-Sandbox-Real,
2929
GCC9-NoMPI-Sandbox-Complex,
30-
GCC9-MPI-Gcov-Real,
31-
GCC9-MPI-Gcov-Complex,
30+
GCC9-MPI-Debug-Gcov-Real,
31+
GCC9-MPI-Debug-Gcov-Complex,
3232
GCC12-NoMPI-Werror-Real,
3333
GCC12-NoMPI-Werror-Complex,
3434
GCC12-NoMPI-Werror-Real-Mixed,
@@ -65,12 +65,12 @@ jobs:
6565
image: ghcr.io/qmcpack/ubuntu22-serial:latest
6666
options: -u 1001
6767

68-
- jobname: GCC9-MPI-Gcov-Real
68+
- jobname: GCC9-MPI-Debug-Gcov-Real
6969
container:
7070
image: ghcr.io/qmcpack/ubuntu22-openmpi:latest
7171
options: -u 1001
7272

73-
- jobname: GCC9-MPI-Gcov-Complex
73+
- jobname: GCC9-MPI-Debug-Gcov-Complex
7474
container:
7575
image: ghcr.io/qmcpack/ubuntu22-openmpi:latest
7676
options: -u 1001
@@ -139,7 +139,7 @@ jobs:
139139

140140
- name: Upload Coverage
141141
if: contains(matrix.jobname, 'Gcov') && github.repository_owner == 'QMCPACK'
142-
uses: codecov/codecov-action@v4
142+
uses: codecov/codecov-action@v5
143143
with:
144144
files: ../qmcpack-build/coverage.xml
145145
flags: tests-deterministic # optional

CHANGELOG.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,59 @@
22

33
Notable changes to QMCPACK are documented in this file.
44

5+
## [4.1.0] - 2025-04-30
6+
7+
This release is recommended for all users and includes improved support for calculating forces, better GPU support, updated build
8+
recipes and documentation for many machines, and a broad range of other useful improvements.
9+
10+
* Fast forces with multideterminant wavefunctions [#5398](https://github.com/QMCPACK/qmcpack/pull/5398)
11+
* Significant improvement in AMD GPU performance with better memory handling [#5339](https://github.com/QMCPACK/qmcpack/pull/5339).
12+
Note also updated Frontier instructions [#5399](https://github.com/QMCPACK/qmcpack/pull/5399). Use of
13+
LIBOMPTARGET_AMDGPU_MAX_ASYNC_COPY_BYTES is currently recommended.
14+
* Ongoing performance optimization of LCAO / Gaussian basis set GPU evaluation e.g.
15+
[#5357](https://github.com/QMCPACK/qmcpack/pull/5357), [#5342](https://github.com/QMCPACK/qmcpack/pull/5342)
16+
* Updated build recipes for numerous machines, including NERSC Perlmutter [#5464](https://github.com/QMCPACK/qmcpack/pull/5464) ,
17+
ALCF Aurora [#5465](https://github.com/QMCPACK/qmcpack/pull/5465), and OLCF Frontier
18+
[#5456](https://github.com/QMCPACK/qmcpack/pull/5456).
19+
* HPCToolkit start/stop API support. [#5361](https://github.com/QMCPACK/qmcpack/pull/5361)
20+
* VMC runs advise how to achieve load balance if the run is unbalanced [#5412](https://github.com/QMCPACK/qmcpack/pull/5412)
21+
* History method removed from RotatedSPOs for simplicity and fewer code paths [#5414](https://github.com/QMCPACK/qmcpack/pull/5414)
22+
* 3-body Jastrow ionic derivatives are now analytic, not based on finite differences
23+
[#5380](https://github.com/QMCPACK/qmcpack/pull/5380)
24+
* PySCF LCAO to spline converter now compatible with NumPy v2 [#5364](https://github.com/QMCPACK/qmcpack/pull/5364)
25+
* Updated PR and contributor guidance e.g. [#5432](https://github.com/QMCPACK/qmcpack/pull/5432). Please read
26+
https://qmcpack.readthedocs.io/en/develop/developing.html#github-pull-request-guidance
27+
* The wiki and other external documentation is being coallesced in the manual. e.g. Our release process is now in the manual
28+
[#5443](https://github.com/QMCPACK/qmcpack/pull/5443).
29+
* Ongoing refactoring to eventually enable unified real/complex builds and to reduce code duplication.
30+
* Significantly improved reliability of statistical tests. Please report test failures.
31+
* Numerous minor bug fixes.
32+
33+
### Known issues:
34+
35+
* Backflow wavefunctions are not working for ab initio (vs model) Hamiltonians in the batched drivers
36+
[#5459](https://github.com/QMCPACK/qmcpack/issues/5459)
37+
* The energy density estimator is incorrect [#5468](https://github.com/QMCPACK/qmcpack/issues/5468)
38+
* AFQMC utilities and converters are not compatible with modern PySCF [#4653](https://github.com/QMCPACK/qmcpack/issues/4653)
39+
40+
### NEXUS
41+
42+
* Nexus: Documentation for command line options such as --status_only and --progress_tty
43+
[#5393](https://github.com/QMCPACK/qmcpack/pull/5393), see
44+
https://nexus-workflows.readthedocs.io/en/latest/user-scripts.html#nexus-command-line-options
45+
* Nexus: Support for stochastic reconfiguration and orbital rotation / orbital optimization
46+
[#5386](https://github.com/QMCPACK/qmcpack/pull/5386)
47+
* Nexus: Grand-canonical twist averaging (GCTA) documentation and examples [#5316](https://github.com/QMCPACK/qmcpack/pull/5316)
48+
* Nexus: Support for magnetization density estimator [#5346](https://github.com/QMCPACK/qmcpack/pull/5346)
49+
* Nexus: Support for several new CPU clusters, e.g. BES-MS machine [#5416](https://github.com/QMCPACK/qmcpack/pull/5416), ORNL
50+
Baseline [#5371](https://github.com/QMCPACK/qmcpack/pull/5371)
51+
* Nexus: Support orbital images for plotting/debugging of orbitals [#5448](https://github.com/QMCPACK/qmcpack/pull/5448)
52+
* Nexus: Support QE HDF5 charge density results [#5427](https://github.com/QMCPACK/qmcpack/pull/5427)
53+
* Nexus: Job options are now supported, e.g. to set custom mpirun options for thread binding
54+
[#5255](https://github.com/QMCPACK/qmcpack/pull/5255), [#5413](https://github.com/QMCPACK/qmcpack/pull/5413)
55+
* Nexus: Update force keyword handling [#5405](https://github.com/QMCPACK/qmcpack/pull/5405)
56+
* Nexus: Compatibility with spglib >=v2.5.0 [#5429](https://github.com/QMCPACK/qmcpack/pull/5429)
57+
558
## [4.0.0] - 2025-02-05
659

760
This major release includes an important change in the default driver behavior, significantly expanded GPU support including fully

CMake/AddRPATH.cmake

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Add the directory of the first library file to RPATH/RUNPATH if that directory is not part of OS default locations.
2+
function(AddRPATH LIBRARY_NAME LIBRARY_FILE)
3+
if(LIBRARY_FILE)
4+
cmake_path(GET LIBRARY_FILE PARENT_PATH LIBRARY_DIR)
5+
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES ${LIBRARY_DIR} isSystemDir)
6+
if("${isSystemDir}" STREQUAL "-1")
7+
message(STATUS "Append ${LIBRARY_NAME} runtime library path ${LIBRARY_DIR}")
8+
list(APPEND CMAKE_BUILD_RPATH ${LIBRARY_DIR})
9+
list(APPEND CMAKE_INSTALL_RPATH ${LIBRARY_DIR})
10+
set(CMAKE_BUILD_RPATH "${CMAKE_BUILD_RPATH}" PARENT_SCOPE)
11+
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}" PARENT_SCOPE)
12+
endif()
13+
endif()
14+
endfunction()

CMake/ClangCompilers.cmake

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,6 @@ if(ENABLE_GCOV)
161161
set(GCOV_SUPPORTED TRUE)
162162
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
163163
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --coverage")
164-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
165-
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --coverage")
166164
endif(ENABLE_GCOV)
167165

168166
set(XRAY_PROFILE

CMake/GNUCompilers.cmake

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,6 @@ endif(QMC_BUILD_STATIC)
152152
# Coverage
153153
if(ENABLE_GCOV)
154154
set(GCOV_SUPPORTED TRUE)
155-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage")
156-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --coverage")
157-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
158-
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --coverage")
155+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -O0 -fno-inline -fno-inline-small-functions -fno-default-inline")
156+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --coverage -O0 -fno-inline -fno-inline-small-functions -fno-default-inline")
159157
endif(ENABLE_GCOV)

CMake/IntelDPCPPConfig-modified.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ if(SYCL_COMPILER)
207207
# Find Include path from binary
208208
find_path(SYCL_INCLUDE_DIR
209209
NAMES
210-
CL/sycl.hpp
210+
sycl.hpp
211211
HINTS
212212
${SYCL_PACKAGE_DIR}/include/sycl
213213
NO_DEFAULT_PATH

CMakeLists.txt

Lines changed: 56 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,21 @@ endif()
1818
######################################################################
1919
project(
2020
qmcpack
21-
VERSION 4.0.0
21+
VERSION 4.1.0
2222
LANGUAGES C CXX)
2323

24-
# add the automatically determined parts of the RPATH
25-
# which point to directories outside the build tree to the install RPATH
26-
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
27-
2824
#--------------------------------------------------------------------
2925
# Directory where customize cmake files reside
3026
#--------------------------------------------------------------------
3127
set(PROJECT_CMAKE ${qmcpack_SOURCE_DIR}/CMake)
3228
list(APPEND CMAKE_MODULE_PATH ${PROJECT_CMAKE})
3329
include(macros)
3430

31+
# add the automatically determined parts of the RPATH
32+
# which point to directories outside the build tree to the install RPATH
33+
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
34+
include(AddRPATH)
35+
3536
######################################################################
3637
# Build and install options
3738
######################################################################
@@ -152,6 +153,7 @@ option(QMC_BUILD_STATIC "Link to static libraries" OFF)
152153
option(ENABLE_TIMERS "Enable internal timers" ON)
153154
option(ENABLE_STACKTRACE "Enable use of boost::stacktrace" OFF)
154155
option(USE_VTUNE_API "Enable use of VTune ittnotify APIs" OFF)
156+
option(USE_HPCTOOLKIT_API "Enable use of HPCToolkit start/stop APIs" OFF)
155157
cmake_dependent_option(USE_VTUNE_TASKS "USE VTune ittnotify task annotation" OFF "ENABLE_TIMERS AND USE_VTUNE_API" OFF)
156158
# CMake note - complex conditionals in cmake_dependent_option must have spaces around parentheses
157159
cmake_dependent_option(USE_NVTX_API "Enable/disable NVTX regions in CUDA code." OFF "ENABLE_TIMERS AND ENABLE_CUDA" OFF)
@@ -163,9 +165,9 @@ mark_as_advanced(QMC_EXP_THREADING)
163165
# Sanitizer options
164166
#--------------------------------------------------------------------
165167

166-
# Add optional sanitizers ASAN, UBSAN, MSAN
167-
set(VALID_SANITIZERS "asan" "ubsan" "tsan" "msan")
168-
set(ENABLE_SANITIZER "" CACHE STRING "asan,ubsan,tsan,msan")
168+
# Add optional sanitizers ASAN, UBSAN, MSAN, TYPESAN
169+
set(VALID_SANITIZERS "asan" "ubsan" "tsan" "msan" "typesan")
170+
set(ENABLE_SANITIZER "" CACHE STRING "asan,ubsan,tsan,msan,typesan")
169171
set_property(CACHE ENABLE_SANITIZER PROPERTY STRINGS ${VALID_SANITIZERS})
170172

171173
if(ENABLE_SANITIZER)
@@ -206,16 +208,7 @@ if(QMC_OMP)
206208
endif()
207209

208210
# explicitly set OpenMP runtime library rpath like other normal libraries.
209-
list(GET OpenMP_CXX_LIBRARIES 0 OpenMP_LIBRARY_FILE)
210-
if(OpenMP_LIBRARY_FILE)
211-
cmake_path(GET OpenMP_LIBRARY_FILE PARENT_PATH OpenMP_LIBRARY_DIR)
212-
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES ${OpenMP_LIBRARY_DIR} isSystemDir)
213-
if("${isSystemDir}" STREQUAL "-1")
214-
message(STATUS "Append OpenMP runtime library path ${OpenMP_LIBRARY_DIR}")
215-
list(APPEND CMAKE_BUILD_RPATH ${OpenMP_LIBRARY_DIR})
216-
list(APPEND CMAKE_INSTALL_RPATH ${OpenMP_LIBRARY_DIR})
217-
endif("${isSystemDir}" STREQUAL "-1")
218-
endif()
211+
AddRPATH("OpenMP" ${OpenMP_CXX_LIBRARIES})
219212
endif(QMC_OMP)
220213

221214
#-------------------------------------------------------------------------------
@@ -237,30 +230,6 @@ else(CMAKE_TOOLCHAIN_FILE)
237230
"Please use cc/CC as the C/C++ compiler to ensure correct cross-compiling for the compute nodes "
238231
"unless you understand cross-compiling and intend not to use Cray compiler wrappers.")
239232
endif()
240-
if(CMAKE_SYSTEM_NAME STREQUAL "CrayLinuxEnvironment")
241-
message(STATUS "Running on a Cray machine.")
242-
243-
if(NOT $ENV{CRAYPE_LINK_TYPE} STREQUAL "dynamic")
244-
message(WARNING "Cray Programming Environment uses static linking by default. "
245-
"We prefer dynamic linking which makes library searching easier. "
246-
"Setting environment variable CRAYPE_LINK_TYPE to \"dynamic\" enables dynamic linking.\n")
247-
endif()
248-
249-
if(NOT DEFINED MPIEXEC_EXECUTABLE)
250-
find_program(MPIEXEC_EXECUTABLE aprun)
251-
if(NOT MPIEXEC_EXECUTABLE)
252-
# For slurm use srun
253-
find_program(MPIEXEC_EXECUTABLE srun)
254-
endif(NOT MPIEXEC_EXECUTABLE)
255-
endif()
256-
else()
257-
if($ENV{CRAYPE_VERSION} MATCHES "." AND BASE_CXX_COMPILER_NAME STREQUAL "CC")
258-
message(
259-
FATAL_ERROR
260-
"Cray compiler wrapper detected. Empty the build folder and rerun cmake with -DCMAKE_SYSTEM_NAME=CrayLinuxEnvironment added."
261-
)
262-
endif()
263-
endif()
264233

265234
include(inspectCompiler)
266235
TestCXXMainCompiles("After_Customization")
@@ -308,6 +277,10 @@ if(ENABLE_SANITIZER)
308277
set(CMAKE_CXX_FLAGS_SAN
309278
"-fsanitize=thread"
310279
CACHE STRING "ThreadSanitizer C++ compiler builds." FORCE)
280+
elseif("${ENABLE_SANITIZER}" STREQUAL "typesan")
281+
set(CMAKE_CXX_FLAGS_SAN
282+
"-fsanitize=type"
283+
CACHE STRING "TypeSanitizer C++ compiler builds." FORCE)
311284
endif()
312285

313286
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_SAN}")
@@ -800,7 +773,10 @@ if(ENABLE_ROCM)
800773
target_link_libraries(ROCM::libraries INTERFACE roc::rocsolver roc::rocrand)
801774
endif()
802775
message("Project HIP_FLAGS: ${CMAKE_HIP_FLAGS}")
803-
option(QMC_DISABLE_HIP_HOST_REGISTER "Disable hipHostRegister for pinning host memory" ON)
776+
option(QMC_DISABLE_HIP_HOST_REGISTER "Disable hipHostRegister for pinning host memory" OFF)
777+
if(QMC_DISABLE_HIP_HOST_REGISTER)
778+
message(STATUS "Use of hipHostRegister disabled")
779+
endif()
804780
endif(ENABLE_ROCM)
805781

806782
if(USE_NVTX_API AND QMC_CUDA2HIP)
@@ -869,22 +845,24 @@ if(ENABLE_SYCL)
869845
endif()
870846
endif(ENABLE_SYCL)
871847

872-
#--------------------------------------------------------------------
873-
# Resolve Vendor(CUDA/HIP/SYCL) and OpenMP runtime incompatibilities
874-
#--------------------------------------------------------------------
848+
#-----------------------------------------------------
849+
# Resolve Vendor and OpenMP runtime incompatibilities
850+
#-----------------------------------------------------
875851
# Some OpenMP offload runtime libraries have composibility issue with vendor native ones.
876852
# A workaround is making the vendor native runtime responsible for memory allocations and OpenMP associate/disassocate them.
877-
set(QMC_OFFLOAD_MEM_ASSOCIATED_DEFAULT OFF)
878-
if(ENABLE_OFFLOAD)
853+
# CUDA/HIP/SYCL supported
854+
if(${COMPILER} MATCHES "Clang" AND QMC_CUDA2HIP AND ENABLE_OFFLOAD)
879855
# Known issue HIP<5.5 https://github.com/ROCm/aomp/issues/253
880-
message("check ${COMPILER} ${QMC_CUDA2HIP} ${hip_VERSION}")
881-
if(${COMPILER} MATCHES "Clang" AND QMC_CUDA2HIP AND hip_VERSION VERSION_LESS "5.5")
882-
set(QMC_OFFLOAD_MEM_ASSOCIATED_DEFAULT ON)
883-
endif()
856+
# Known performance issue remains in 6.3.3
857+
set(QMC_OFFLOAD_MEM_ASSOCIATED_DEFAULT ON)
858+
else()
859+
set(QMC_OFFLOAD_MEM_ASSOCIATED_DEFAULT OFF)
860+
endif()
861+
cmake_dependent_option(QMC_OFFLOAD_MEM_ASSOCIATED "Use omp_target_associate_ptr instead of direct OpenMP offload maps in dual-space allocators"
862+
${QMC_OFFLOAD_MEM_ASSOCIATED_DEFAULT} "ENABLE_OFFLOAD;ENABLE_CUDA OR ENABLE_SYCL" OFF)
863+
if(QMC_OFFLOAD_MEM_ASSOCIATED)
864+
message(STATUS "Use omp_target_associate_ptr instead of direct OpenMP offload maps in dual-space allocators")
884865
endif()
885-
cmake_dependent_option(QMC_OFFLOAD_MEM_ASSOCIATED "Manage OpenMP memory allocations via the vendor runtime"
886-
${QMC_OFFLOAD_MEM_ASSOCIATED_DEFAULT} "ENABLE_OFFLOAD;ENABLE_CUDA" OFF)
887-
888866

889867
#-------------------------------------------------------------------
890868
# set up VTune ittnotify library
@@ -912,6 +890,29 @@ else()
912890
message(STATUS "VTune ittnotify APIs disabled")
913891
endif()
914892

893+
#-------------------------------------------------------------------
894+
# set up HPCToolkit library
895+
#-------------------------------------------------------------------
896+
897+
if(USE_HPCTOOLKIT_API)
898+
message(STATUS "Enabling use of HPCToolkit start/stop APIs")
899+
find_path(
900+
HPCTOOLKIT_INCLUDE_DIR hpctoolkit.h
901+
HINTS ${HPCTOOLKIT_ROOT} $ENV{HPCTOOLKIT_ROOT}
902+
PATH_SUFFIXES include REQUIRED)
903+
message(STATUS "Found HPCTOOLKIT_INCLUDE_DIR ${HPCTOOLKIT_INCLUDE_DIR}")
904+
find_library(
905+
HPCTOOLKIT_LIBRARY hpctoolkit
906+
HINTS ${HPCTOOLKIT_ROOT} $ENV{HPCTOOLKIT_ROOT}
907+
PATH_SUFFIXES lib64 lib REQUIRED)
908+
message(STATUS "Found HPCTOOLKIT_LIBRARY ${HPCTOOLKIT_LIBRARY}")
909+
910+
include_directories(${HPCTOOLKIT_INCLUDE_DIR})
911+
link_libraries(${HPCTOOLKIT_LIBRARY})
912+
else()
913+
message(STATUS "HPCToolkit start/stop APIs disabled")
914+
endif()
915+
915916
#-------------------------------------------------------------------
916917
# Add user extra flags
917918
#-------------------------------------------------------------------

README.md

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@ to run examples without having to install QMCPACK yourself, and slides and recor
4242
Please cite J. Kim _et al._ J. Phys. Cond. Mat. **30** 195901 (2018), https://doi.org/10.1088/1361-648X/aab9c3, and if space allows,
4343
P. Kent _et al._ J. Chem. Phys. **152** 174105 (2020), https://doi.org/10.1063/5.0004860 . These papers are both open access.
4444

45+
# Installing QMCPACK
46+
47+
[Complete instructions for downloading, compiling, and installing QMCPACK are given in the manual](https://qmcpack.readthedocs.io/en/develop/installation.html).
48+
Guides are provided for [installing QMCPACK on common workstations and supercomputers](https://qmcpack.readthedocs.io/en/develop/installation.html#installation-instructions-for-common-workstations-and-supercomputers). We also provide build
49+
scripts are for many systems in the config directory. The following sections of this README give a brief overview.
50+
4551
# Installation Prerequisites
4652

4753
* C++ 17 and C99 capable compilers.
@@ -66,23 +72,25 @@ Nightly testing currently includes at least the following software versions:
6672

6773
* Compilers
6874
* GCC 14.2.0, 12.4.0
69-
* Clang/LLVM 19.1.4
70-
* Boost 1.86.0, 1.79.0
75+
* Clang/LLVM 19.1.7
76+
* Boost 1.87.0, 1.79.0
7177
* HDF5 1.14.5
7278
* FFTW 3.3.10
7379
* CMake 3.30.5
7480
* MPI
75-
* OpenMPI 5.0.5
76-
* CUDA 12.4
77-
* ROCm 6.3.0
81+
* OpenMPI 5.0.6
82+
* CUDA 12.8
83+
* ROCm 6.3.2
84+
* Python 3.13.1
85+
* NumPy 2.2.2
7886

7987
For GPU acceleration on NVIDIA GPUs we test LLVM with CUDA using the above versions. On AMD GPUs we support using the latest ROCm
8088
version and its matching amdclang compiler, as listed above. On a developmental basis we also check the latest Clang and GCC
8189
development versions, and Intel OneAPI compilers.
8290

83-
GitHub Actions-based tests include additional version combinations from within our two year support window.
91+
GitHub Actions-based tests include additional version combinations from within our two-year support window.
8492

85-
Workflow tests are currently performed with Quantum ESPRESSO v7.4.0 and PySCF v2.7.0. These check trial wavefunction generation and
93+
Workflow tests are currently performed with Quantum ESPRESSO v7.4.1 and PySCF v2.8.0. These check trial wavefunction generation and
8694
conversion through to actual QMC runs.
8795

8896
# Building with CMake

0 commit comments

Comments
 (0)