Skip to content

Commit 5f4ba01

Browse files
authored
Merge pull request #3840 from QMCPACK/rc_3130
Merge Rc 3130 to main for release
2 parents 03a06d8 + 574d089 commit 5f4ba01

File tree

1,232 files changed

+41329
-49928
lines changed

Some content is hidden

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

1,232 files changed

+41329
-49928
lines changed

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

+202-13
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,113 @@
1-
name: GitHub Actions self-hosted CI
1+
name: ornl CI
22

33
on:
44
issue_comment:
55
types: [created]
66

77
jobs:
8-
gpu-cuda:
8+
sulfur-cpu:
99
if: |
1010
github.repository_owner == 'QMCPACK' &&
1111
github.event.issue.pull_request &&
1212
( startsWith(github.event.comment.body, 'Test this please') ||
1313
startsWith(github.event.comment.body, 'Start testing in-house') )
1414
15-
runs-on: [self-hosted, Linux, X64, gpu, cuda]
15+
runs-on: [self-hosted, Linux, X64, ornl-sulfur-1]
16+
17+
env:
18+
GH_JOBNAME: ${{matrix.jobname}}
19+
GH_OS: Linux
20+
strategy:
21+
fail-fast: false
22+
matrix:
23+
jobname: [
24+
GCC8-NoMPI-MKL-Real-Mixed, # mixed precision
25+
GCC8-NoMPI-MKL-Complex-Mixed,
26+
GCC8-NoMPI-MKL-Real, # full precision
27+
GCC8-NoMPI-MKL-Complex,
28+
]
29+
30+
steps:
31+
- name: Verify actor
32+
# Only trigger for certain "actors" (those commenting the PR, not the PR originator)
33+
# this is in-line with the current workflow
34+
env:
35+
ACTOR_TOKEN: ${{secrets.TOKENIZER}}${{github.actor}}${{secrets.TOKENIZER}}
36+
SECRET_ACTORS: ${{secrets.CI_GPU_ACTORS}}
37+
if: contains(env.SECRET_ACTORS, env.ACTOR_TOKEN)
38+
id: check
39+
run: |
40+
echo "::set-output name=triggered::true"
41+
42+
# Request repo info, required since issue_comment doesn't point at PR commit, but develop
43+
- name: GitHub API Request
44+
if: steps.check.outputs.triggered == 'true'
45+
id: request
46+
uses: octokit/[email protected]
47+
with:
48+
route: ${{github.event.issue.pull_request.url}}
49+
env:
50+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
51+
52+
# Create a separate PR status pointing at GitHub Actions tab URL
53+
# just like any other third-party service
54+
- name: Create PR status
55+
if: steps.check.outputs.triggered == 'true'
56+
uses: Sibz/github-status-action@v1
57+
with:
58+
authToken: ${{secrets.GITHUB_TOKEN}}
59+
context: "ornl-sulfur CI ${{ matrix.jobname }}"
60+
state: "pending"
61+
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
62+
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
63+
64+
- name: Get PR information
65+
if: steps.check.outputs.triggered == 'true'
66+
id: pr_data
67+
run: |
68+
echo "::set-output name=branch::${{ fromJson(steps.request.outputs.data).head.ref }}"
69+
echo "::set-output name=repo_name::${{ fromJson(steps.request.outputs.data).head.repo.full_name }}"
70+
echo "::set-output name=repo_clone_url::${{ fromJson(steps.request.outputs.data).head.repo.clone_url }}"
71+
echo "::set-output name=repo_ssh_url::${{ fromJson(steps.request.outputs.data).head.repo.ssh_url }}"
72+
73+
- name: Checkout PR branch
74+
if: steps.check.outputs.triggered == 'true'
75+
uses: actions/checkout@v2
76+
with:
77+
token: ${{secrets.GITHUB_TOKEN}}
78+
repository: ${{fromJson(steps.request.outputs.data).head.repo.full_name}}
79+
ref: ${{steps.pr_data.outputs.branch}}
80+
81+
- name: Configure
82+
if: steps.check.outputs.triggered == 'true'
83+
run: tests/test_automation/github-actions/ci/run_step.sh configure
84+
85+
- name: Build
86+
if: steps.check.outputs.triggered == 'true'
87+
run: tests/test_automation/github-actions/ci/run_step.sh build
88+
89+
- name: Test
90+
if: steps.check.outputs.triggered == 'true'
91+
run: tests/test_automation/github-actions/ci/run_step.sh test
92+
93+
- name: Report PR status
94+
if: always() && steps.check.outputs.triggered == 'true'
95+
uses: Sibz/github-status-action@v1
96+
with:
97+
authToken: ${{secrets.GITHUB_TOKEN}}
98+
context: "ornl-sulfur CI ${{matrix.jobname}}"
99+
state: ${{job.status}}
100+
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
101+
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
102+
103+
sulfur-cuda:
104+
if: |
105+
github.repository_owner == 'QMCPACK' &&
106+
github.event.issue.pull_request &&
107+
( startsWith(github.event.comment.body, 'Test this please') ||
108+
startsWith(github.event.comment.body, 'Start testing in-house') )
109+
110+
runs-on: [self-hosted, Linux, X64, ornl-sulfur-2]
16111

17112
env:
18113
GH_JOBNAME: ${{matrix.jobname}}
@@ -25,12 +120,11 @@ jobs:
25120
GCC8-NoMPI-Legacy-CUDA-Complex-Mixed,
26121
GCC8-NoMPI-Legacy-CUDA-Real, # full precision
27122
GCC8-NoMPI-Legacy-CUDA-Complex,
28-
GCC8-MPI-CUDA-AFQMC-Real-Mixed, # auxiliary field, requires MPI
29-
GCC8-MPI-CUDA-AFQMC-Complex-Mixed,
30-
GCC8-MPI-CUDA-AFQMC-Real,
31-
GCC8-MPI-CUDA-AFQMC-Complex,
32123
Clang14Dev-MPI-CUDA-AFQMC-Offload-Real-Mixed, # auxiliary field, offload requires development llvm14
33124
Clang14Dev-MPI-CUDA-AFQMC-Offload-Real,
125+
Intel19-MPI-CUDA-AFQMC-Real-Mixed, # auxiliary field, requires MPI
126+
Intel19-MPI-CUDA-AFQMC-Complex-Mixed,
127+
Intel19-MPI-CUDA-AFQMC-Real,
34128
]
35129

36130
steps:
@@ -62,7 +156,7 @@ jobs:
62156
uses: Sibz/github-status-action@v1
63157
with:
64158
authToken: ${{secrets.GITHUB_TOKEN}}
65-
context: "GitHub Actions self-hosted CI ${{ matrix.jobname }}"
159+
context: "ornl-sulfur CI ${{ matrix.jobname }}"
66160
state: "pending"
67161
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
68162
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
@@ -101,19 +195,19 @@ jobs:
101195
uses: Sibz/github-status-action@v1
102196
with:
103197
authToken: ${{secrets.GITHUB_TOKEN}}
104-
context: "GitHub Actions self-hosted CI ${{matrix.jobname}}"
198+
context: "ornl-sulfur CI ${{matrix.jobname}}"
105199
state: ${{job.status}}
106200
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
107201
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
108202

109-
gpu-rocm:
203+
nitrogen-rocm:
110204
if: |
111205
github.repository_owner == 'QMCPACK' &&
112206
github.event.issue.pull_request &&
113207
( startsWith(github.event.comment.body, 'Test this please') ||
114208
startsWith(github.event.comment.body, 'Start testing in-house') )
115209
116-
runs-on: [self-hosted, Linux, X64, gpu, rocm]
210+
runs-on: [self-hosted, Linux, X64, ornl-nitrogen-1]
117211

118212
env:
119213
GH_JOBNAME: ${{matrix.jobname}}
@@ -158,7 +252,102 @@ jobs:
158252
uses: Sibz/github-status-action@v1
159253
with:
160254
authToken: ${{secrets.GITHUB_TOKEN}}
161-
context: "GitHub Actions self-hosted CI ${{ matrix.jobname }}"
255+
context: "ornl-nitrogen CI ${{matrix.jobname}}"
256+
state: "pending"
257+
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
258+
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
259+
260+
- name: Get PR information
261+
if: steps.check.outputs.triggered == 'true'
262+
id: pr_data
263+
run: |
264+
echo "::set-output name=branch::${{ fromJson(steps.request.outputs.data).head.ref }}"
265+
echo "::set-output name=repo_name::${{ fromJson(steps.request.outputs.data).head.repo.full_name }}"
266+
echo "::set-output name=repo_clone_url::${{ fromJson(steps.request.outputs.data).head.repo.clone_url }}"
267+
echo "::set-output name=repo_ssh_url::${{ fromJson(steps.request.outputs.data).head.repo.ssh_url }}"
268+
269+
- name: Checkout PR branch
270+
if: steps.check.outputs.triggered == 'true'
271+
uses: actions/checkout@v2
272+
with:
273+
token: ${{secrets.GITHUB_TOKEN}}
274+
repository: ${{fromJson(steps.request.outputs.data).head.repo.full_name}}
275+
ref: ${{steps.pr_data.outputs.branch}}
276+
277+
- name: Configure
278+
if: steps.check.outputs.triggered == 'true'
279+
run: tests/test_automation/github-actions/ci/run_step.sh configure
280+
281+
- name: Build
282+
if: steps.check.outputs.triggered == 'true'
283+
run: tests/test_automation/github-actions/ci/run_step.sh build
284+
285+
- name: Test
286+
if: steps.check.outputs.triggered == 'true'
287+
run: tests/test_automation/github-actions/ci/run_step.sh test
288+
289+
- name: Report PR status
290+
if: always() && steps.check.outputs.triggered == 'true'
291+
uses: Sibz/github-status-action@v1
292+
with:
293+
authToken: ${{secrets.GITHUB_TOKEN}}
294+
context: "ornl-nitrogen CI ${{matrix.jobname}}"
295+
state: ${{job.status}}
296+
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
297+
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
298+
299+
nitrogen-cuda:
300+
if: |
301+
github.repository_owner == 'QMCPACK' &&
302+
github.event.issue.pull_request &&
303+
( startsWith(github.event.comment.body, 'Test this please') ||
304+
startsWith(github.event.comment.body, 'Start testing in-house') )
305+
306+
runs-on: [self-hosted, Linux, X64, ornl-nitrogen-2]
307+
308+
env:
309+
GH_JOBNAME: ${{matrix.jobname}}
310+
GH_OS: Linux
311+
strategy:
312+
fail-fast: false
313+
matrix:
314+
jobname: [
315+
GCC8-MPI-CUDA-AFQMC-Real-Mixed, # auxiliary field, requires MPI
316+
GCC8-MPI-CUDA-AFQMC-Complex-Mixed,
317+
GCC8-MPI-CUDA-AFQMC-Real,
318+
GCC8-MPI-CUDA-AFQMC-Complex,
319+
]
320+
321+
steps:
322+
- name: Verify actor
323+
# Only trigger for certain "actors" (those commenting the PR, not the PR originator)
324+
# this is in-line with the current workflow
325+
env:
326+
ACTOR_TOKEN: ${{secrets.TOKENIZER}}${{github.actor}}${{secrets.TOKENIZER}}
327+
SECRET_ACTORS: ${{secrets.CI_GPU_ACTORS}}
328+
if: contains(env.SECRET_ACTORS, env.ACTOR_TOKEN)
329+
id: check
330+
run: |
331+
echo "::set-output name=triggered::true"
332+
333+
# Request repo info, required since issue_comment doesn't point at PR commit, but develop
334+
- name: GitHub API Request
335+
if: steps.check.outputs.triggered == 'true'
336+
id: request
337+
uses: octokit/[email protected]
338+
with:
339+
route: ${{github.event.issue.pull_request.url}}
340+
env:
341+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
342+
343+
# Create a separate PR status pointing at GitHub Actions tab URL
344+
# just like any other third-party service
345+
- name: Create PR status
346+
if: steps.check.outputs.triggered == 'true'
347+
uses: Sibz/github-status-action@v1
348+
with:
349+
authToken: ${{secrets.GITHUB_TOKEN}}
350+
context: "ornl-nitrogen CI ${{matrix.jobname}}"
162351
state: "pending"
163352
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
164353
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
@@ -197,7 +386,7 @@ jobs:
197386
uses: Sibz/github-status-action@v1
198387
with:
199388
authToken: ${{secrets.GITHUB_TOKEN}}
200-
context: "GitHub Actions self-hosted CI ${{matrix.jobname}}"
389+
context: "ornl-nitrogen CI ${{matrix.jobname}}"
201390
state: ${{job.status}}
202391
sha: ${{fromJson(steps.request.outputs.data).head.sha}}
203392
target_url: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}

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

+24
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ jobs:
2222
matrix:
2323
jobname:
2424
[
25+
GCC9-NoMPI-Debug-Real,
26+
GCC9-NoMPI-NoOMP-Real,
27+
GCC9-NoMPI-NoOMP-Complex,
28+
GCC9-NoMPI-Sandbox-Real,
2529
GCC9-MPI-Gcov-Real,
2630
GCC9-MPI-Gcov-Complex,
2731
GCC11-NoMPI-Werror-Real,
@@ -32,6 +36,26 @@ jobs:
3236
Clang12-NoMPI-Offload-Real,
3337
]
3438
include:
39+
- jobname: GCC9-NoMPI-Debug-Real
40+
container:
41+
image: williamfgc/qmcpack-ci:ubuntu20-openmpi
42+
options: -u 1001
43+
44+
- jobname: GCC9-NoMPI-NoOMP-Real
45+
container:
46+
image: williamfgc/qmcpack-ci:ubuntu20-openmpi
47+
options: -u 1001
48+
49+
- jobname: GCC9-NoMPI-NoOMP-Complex
50+
container:
51+
image: williamfgc/qmcpack-ci:ubuntu20-openmpi
52+
options: -u 1001
53+
54+
- jobname: GCC9-NoMPI-Sandbox-Real
55+
container:
56+
image: williamfgc/qmcpack-ci:ubuntu20-openmpi
57+
options: -u 1001
58+
3559
- jobname: GCC9-MPI-Gcov-Real
3660
container:
3761
image: williamfgc/qmcpack-ci:ubuntu20-openmpi

CHANGELOG.md

+35
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,41 @@
22

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

5+
## [3.13.0] - 2022-02-16
6+
7+
### Notes
8+
9+
This release incorporates support for trial wavefunctions from Quantum ESPRESSO 7.0 and adds GPAW support for the first
10+
time. Non-local pseudopotential derivatives are fully supported in the optimizer and recommended in standard calculations.
11+
Numerous minor bug fixes, test and installation improvements have been made. Behind the scenes updates include
12+
maturation of the OpenMP target offload implementation and the batched drivers, a partial implementation of fast force
13+
calculations, and ongoing modernization of the code. This is a recommended release for all users.
14+
15+
* Support for Quantum ESPRESSO (QE) 7.0 [\#3683](https://github.com/QMCPACK/qmcpack/pull/3683)
16+
* Support for GPAW and GPAW to QMCPACK converter [\#3490](https://github.com/QMCPACK/qmcpack/issues/3490)
17+
* use_nonlocalpp_deriv is fully supported and preferred in optimization [\#3785](https://github.com/QMCPACK/qmcpack/pull/3785) and others.
18+
* Save and restore of variational parameters during optimization [\#3640](https://github.com/QMCPACK/qmcpack/pull/3640)
19+
* Twist attribute takes precedence over twistnum. Twist is preferred specification. [\#3799](https://github.com/QMCPACK/qmcpack/pull/3799)
20+
* Fixed inconsistent twist directions between electron gas and spline wavefunctions [\#1386](https://github.com/QMCPACK/qmcpack/issues/1386)
21+
* Fixed reported Madelung constant in CoulombPBCAA [\#3806](https://github.com/QMCPACK/qmcpack/pull/3806)
22+
* More robust computation of reference ion-ion Coulomb energy [\#3763](https://github.com/QMCPACK/qmcpack/pull/3763)
23+
* Expanded test set, including more coverage of plane-wave basis sets and complex molecules [\#3105](https://github.com/QMCPACK/qmcpack/issues/3105), [\#3822](https://github.com/QMCPACK/qmcpack/issues/3822)
24+
* More consistent python invocations [\#3680](https://github.com/QMCPACK/qmcpack/issues/3680)
25+
* Builds with OpenMP disabled (QMC\_OMP=0) again supported [\#3723](https://github.com/QMCPACK/qmcpack/pull/3723)
26+
* Modernization of HDF5 usage e.g. [\#3705](https://github.com/QMCPACK/qmcpack/pull/3705)
27+
* Minimum supported Intel classic compiler version is 19.1. [\#3747](https://github.com/QMCPACK/qmcpack/pull/3747)
28+
* Various minor bug fixes and ongoing code cleanup.
29+
30+
### NEXUS
31+
32+
* Nexus: Add --user $USER to squeue command [\#3796](https://github.com/QMCPACK/qmcpack/pull/3796)
33+
* Nexus: Add Example and tests for qdens-radial tool [\#3676](https://github.com/QMCPACK/qmcpack/pull/3676)
34+
* Nexus: Add Lowdin example [\#3666](https://github.com/QMCPACK/qmcpack/pull/3666)
35+
* Nexus: Fixed Nexus 'install' target [\#3720](https://github.com/QMCPACK/qmcpack/issues/3720)
36+
* Nexus: Harden Nexus excitation checks [\#3729](https://github.com/QMCPACK/qmcpack/pull/3729)
37+
* Nexus: Small fix to excitation checks [\#3701](https://github.com/QMCPACK/qmcpack/pull/3701)
38+
* Nexus: Faster configuration time [\#3706](https://github.com/QMCPACK/qmcpack/pull/3706)
39+
540
## [3.12.0] - 2021-12-08
641

742
### Notes

CMake/ClangCompilers.cmake

+3-12
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ endif()
1212

1313
# Enable OpenMP
1414
if(QMC_OMP)
15-
set(ENABLE_OPENMP 1)
15+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fopenmp")
16+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp")
17+
1618
if(ENABLE_OFFLOAD)
1719
if (QMC_CUDA2HIP)
1820
set(OFFLOAD_TARGET_DEFAULT "amdgcn-amd-amdhsa")
@@ -54,8 +56,6 @@ if(QMC_OMP)
5456
set(OPENMP_OFFLOAD_COMPILE_OPTIONS "${OPENMP_OFFLOAD_COMPILE_OPTIONS} -Wno-unknown-cuda-version")
5557
endif()
5658
endif()
57-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fopenmp")
58-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp")
5959
endif(QMC_OMP)
6060

6161
# Set clang specific flags (which we always want)
@@ -133,15 +133,6 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64" OR CMAKE_SYSTEM_PROCESSOR MATCHES
133133
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mcpu=native")
134134
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
135135
endif() #(CMAKE_CXX_FLAGS MATCHES "-mcpu=" OR CMAKE_C_FLAGS MATCHES "-mcpu=")
136-
137-
if(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64")
138-
# Ensure PowerPC builds include optimization flags in release and release-with-debug builds
139-
# Otherwise these are missing (2020-06-22)
140-
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -DNDEBUG")
141-
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG")
142-
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 -DNDEBUG")
143-
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 -DNDEBUG")
144-
endif()
145136
endif()
146137

147138
# Add static flags if necessary

0 commit comments

Comments
 (0)