Merge remote-tracking branch 'origin/develop' into pr/origin-4210

This commit is contained in:
Ye Luo 2022-09-03 17:34:06 -05:00
commit 1247b36d8d
19 changed files with 32628 additions and 55075 deletions

View File

@ -2,6 +2,7 @@ on:
pull_request_target:
types: [edited, auto_merge_enabled]
branches:
- github_actions_automatic_rebase
- develop
- main
push:
@ -30,6 +31,8 @@ jobs:
run: tests/test_automation/github-actions/ci/run_step.sh rebase
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
QMCPACK_BOT_GPG_KEY: ${{ QMCPACK_BOT_GPG_KEY }}
QMCPACK_BOT_GPG_SIGNING_KEY: ${{ secrets.QMCPACK_BOT_GPG_SIGNING_KEY }}
trigger-rebase:
if: github.event_name == 'push'
@ -44,4 +47,6 @@ jobs:
- name: Push Update To Opt'd in PR's
run: tests/test_automation/github-actions/ci/run_step.sh pull-rebase
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
QMCPACK_BOT_GPG_KEY: ${{ QMCPACK_BOT_GPG_KEY }}
QMCPACK_BOT_GPG_SIGNING_KEY: ${{ secrets.QMCPACK_BOT_GPG_SIGNING_KEY }}

View File

@ -119,10 +119,10 @@ jobs:
GCC8-NoMPI-Legacy-CUDA-Complex-Mixed,
GCC8-NoMPI-Legacy-CUDA-Real, # full precision
GCC8-NoMPI-Legacy-CUDA-Complex,
Clang14-MPI-CUDA-AFQMC-Offload-Real-Mixed, # auxiliary field, offload requires llvm14
Clang14-MPI-CUDA-AFQMC-Offload-Real,
Clang14-MPI-CUDA-AFQMC-Offload-Complex-Mixed,
Clang14-MPI-CUDA-AFQMC-Offload-Complex,
Clang15-MPI-CUDA-AFQMC-Offload-Real-Mixed, # auxiliary field, offload
Clang15-MPI-CUDA-AFQMC-Offload-Real,
Clang15-MPI-CUDA-AFQMC-Offload-Complex-Mixed,
Clang15-MPI-CUDA-AFQMC-Offload-Complex,
Intel19-MPI-CUDA-AFQMC-Real-Mixed, # auxiliary field, requires MPI
Intel19-MPI-CUDA-AFQMC-Complex-Mixed,
Intel19-MPI-CUDA-AFQMC-Real,

View File

@ -1,9 +1,11 @@
#!/bin/bash
echo "----------------------- WARNING ------------------------------------"
echo "This is **not** production ready and intended for development only!!"
echo "Use config/build_olcf_summit.sh for production on Summit."
echo "----------------------- WARNING ------------------------------------"
# This recipe is intended for OLCF Summit https://www.olcf.ornl.gov/summit/
# It builds all the varaints of QMCPACK in the current directory
# last revision: Aug 29th 2022
#
# How to invoke this script?
# build_olcf_summit_Clang.sh # build all the variants assuming the current directory is the source directory.
# build_olcf_summit_Clang.sh <source_dir> # build all the variants with a given source directory <source_dir>
echo "Purging current module set"
module purge
@ -25,7 +27,7 @@ if [[ ! -d /gpfs/alpine/mat151/world-shared/opt/modules ]] ; then
exit 1
fi
module use /gpfs/alpine/mat151/world-shared/opt/modules
module load llvm/main-20220317-cuda11.0
module load llvm/release-15.0.0-cuda11.0
TYPE=Release
Compiler=Clang
@ -58,11 +60,11 @@ if [[ $name == *"_MP"* ]]; then
fi
if [[ $name == *"offload"* ]]; then
CMAKE_FLAGS="$CMAKE_FLAGS -DENABLE_OFFLOAD=ON -DUSE_OBJECT_TARGET=ON -DOFFLOAD_ARCH=sm_70"
CMAKE_FLAGS="$CMAKE_FLAGS -DENABLE_OFFLOAD=ON -DOFFLOAD_ARCH=sm_70"
fi
if [[ $name == *"cuda"* ]]; then
CMAKE_FLAGS="$CMAKE_FLAGS -DENABLE_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=70 -DCMAKE_CUDA_HOST_COMPILER=`which g++`"
CMAKE_FLAGS="$CMAKE_FLAGS -DENABLE_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=70"
fi
folder=build_summit_${Compiler}_${name}

View File

@ -415,11 +415,11 @@ and is not suitable for production. Additional implementation in QMCPACK as
well as improvements in open-source and vendor compilers is required for production status
to be reached. The following compilers have been verified:
- LLVM Clang 14. Support NVIDIA GPUs.
- LLVM Clang 15. Support NVIDIA GPUs.
::
-D ENABLE_OFFLOAD=ON -D USE_OBJECT_TARGET=ON
-D ENABLE_OFFLOAD=ON
Clang and its downstream compilers support two extra options
@ -452,7 +452,7 @@ For example, using Clang 14 on Summit.
::
-D ENABLE_OFFLOAD=ON -D USE_OBJECT_TARGET=ON -D ENABLE_CUDA=ON -D CMAKE_CUDA_ARCHITECTURES=70
-D ENABLE_OFFLOAD=ON -D ENABLE_CUDA=ON -D CMAKE_CUDA_ARCHITECTURES=70
Similarly, HIP features can be enabled in conjunction with the offload code path to improve performance on AMD GPUs.

View File

@ -545,14 +545,14 @@ The cost function consists of three components: energy, unreweighted variance, a
<cost name="unreweightedvariance"> 0.00 </cost>
<cost name="reweightedvariance"> 0.05 </cost>
Varational parameter selection
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The predominant way of selecting varational paramemters is via ``<wavefunction>`` input.
Variational parameter selection
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The predominant way of selecting variational parameters is via ``<wavefunction>`` input.
``<coefficients>`` entries support ``optimize="yes"/"no"`` to enable/disable variational parameters in the wavefunction optimization.
The secondary way of selecting varational paramemters is via ``variational_subset`` parameter in the ``<qmc>`` driver input.
The secondary way of selecting variational parameters is via ``variational_subset`` parameter in the ``<qmc>`` driver input.
It allows controlling optimization granularity at each optimization step.
If ``variational_subset`` is not provided or empty, all the varational paramemters are selected.
If variational paramemters are set as not optimizable in the predominant way, the secondary way won't be able to set them optimizable even they are selected.
If ``variational_subset`` is not provided or empty, all the variational parameters are selected.
If variational parameters are set as not optimizable in the predominant way, the secondary way won't be able to set them optimizable even they are selected.
The following example shows optimizing subsets of parameters in stages in a single QMCPACK run.
@ -570,6 +570,28 @@ The following example shows optimizing subsets of parameters in stages in a sing
<parameter name="variational_subset"> uu ud eH CI </parameter>
</qmc>
Variational parameter storage
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
After each optimization step the new wavefunction is stored in a file with an ``.opt.xml`` suffix.
This new wavefunction includes the updated variational parameters.
Writing a new XML wavefunction becomes more complicated if parameters are stored elsewhere (e.g. multideterminant coefficients in an HDF file) and has problems scaling with the number of parameters.
To address these issues the variational parameters are now written to an HDF file.
The new "VP file" has the suffix ``.vp.h5`` and is written in conjunction with the ``.opt.xml`` file.
The wavefunction file connects to the VP file with a tag (``override_variational_parameters``) in the ``.opt.xml`` file that points to the ``.vp.h5`` file.
Should it be necessary to recover the previous behavior without the VP file, this tag can be be turned off with an ``output_vp_override`` parameter in the optimizer input block:
``<parameter name="output_vp_override">no</parameter>``
Both schemes for storing variational parameters coexist. Two important points about the VP file:
* The values of the variational parameters in the VP file take precedence over the values in the XML wavefunction.
* When copying an optimized wavefunction, the ``.vp.h5`` file needs to be copied as well.
For users that want to inspect or modify the VP file,
the He_param test (in ``tests/molecules/He_param``) contains a python script (``convert_vp_format.py``) to read and write the VP file. The script converts to and from a simple text representation of the parameters.
Optimizers
~~~~~~~~~~

View File

@ -111,8 +111,9 @@ UNTRIMMED_COMMITTER_TOKEN=${!USER_TOKEN:-$GITHUB_TOKEN}
COMMITTER_TOKEN="$(echo -e "${UNTRIMMED_COMMITTER_TOKEN}" | tr -d '[:space:]')"
git remote set-url origin https://x-access-token:$COMMITTER_TOKEN@github.com/$GITHUB_REPOSITORY.git
git config --global user.email "$USER_EMAIL"
git config --global user.name "$USER_NAME"
# CHANGED FROM ORIGNAL: use bot credentials
git config --global user.email "QMCPACKbot@gmail.com"
git config --global user.name "QMCPACK-Bot"
git remote add fork https://x-access-token:$COMMITTER_TOKEN@github.com/$HEAD_REPO.git
@ -127,4 +128,28 @@ git checkout -b fork/$HEAD_BRANCH fork/$HEAD_BRANCH
git rebase origin/$BASE_BRANCH
# push back
git push --force-with-lease fork fork/$HEAD_BRANCH:$HEAD_BRANCH
git push --force-with-lease fork fork/$HEAD_BRANCH:$HEAD_BRANCH
# CHANGE FROM ORIGINAL: add empty commit signed by bot
echo "$QMCPACK_BOT_GPG_KEY" >> import.key
gpg --import import.key
rm import.key
git config --global user.signingkey "$QMCPACK_BOT_GPG_SIGNING_KEY"
git commit --allow-empty -S -m "Rebased Signed Off by QMCPACK-Bot"
git push fork fork/$HEAD_BRANCH:$HEAD_BRANCH
COMMIT_SHA=$(git rev-parse --verify HEAD)
# EDIT TO ORIGINAL SCRIPT: Reapprove PR after push
# NOTE: Submits a review appoving the SHA it just sent,
# so if someone tried to commit something on top and "steal" this review,
# it shouldn't work because it would have a different SHA
REVIEW_URI="${URI}/repos/$GITHUB_REPOSITORY/pulls/$PR_NUMBER/reviews"
UPDATE_PARAMETERS=$(jq --null-input \
--arg commit_sha "${COMMIT_SHA}" \
'{"commit_id" : $commit_sha, "body":"AUTOMATED REVIEW: Reapprove after rebase", "event":"APPROVE"}')
RESULT=$(curl -X POST -H "${AUTH_HEADER}" -H "${API_HEADER}" \
-d "${UPDATE_PARAMETERS}" \
"${REVIEW_URI}")

View File

@ -53,7 +53,8 @@ QMCCostFunctionBase::QMCCostFunctionBase(ParticleSet& w, TrialWaveFunction& psi,
msg_stream(0),
m_wfPtr(NULL),
m_doc_out(NULL),
debug_stream(0)
debug_stream(0),
do_override_output(true)
{
GEVType = "mixed";
//paramList.resize(10);
@ -310,7 +311,6 @@ bool QMCCostFunctionBase::put(xmlNodePtr q)
std::string includeNonlocalH;
std::string writeXmlPerStep("no");
std::string computeNLPPderiv;
std::string output_override_str("no");
astring variational_subset_str;
ParameterSet m_param;
m_param.add(writeXmlPerStep, "dumpXML");
@ -322,7 +322,7 @@ bool QMCCostFunctionBase::put(xmlNodePtr q)
m_param.add(GEVType, "GEVMethod");
m_param.add(targetExcitedStr, "targetExcited");
m_param.add(omega_shift, "omega");
m_param.add(output_override_str, "output_vp_override", {"no", "yes"});
m_param.add(do_override_output, "output_vp_override", {true});
m_param.add(variational_subset_str, "variational_subset");
m_param.put(q);
@ -337,9 +337,6 @@ bool QMCCostFunctionBase::put(xmlNodePtr q)
targetExcitedStr = lowerCase(targetExcitedStr);
targetExcited = (targetExcitedStr == "yes");
if (output_override_str == "yes")
do_override_output = true;
variational_subset_names = convertStrToVec<std::string>(variational_subset_str.s);
// app_log() << " QMCCostFunctionBase::put " << std::endl;

View File

@ -105,6 +105,8 @@ public:
bool isOptimizable() const override { return opt_C || opt_F; }
void extractOptimizableObjectRefs(UniqueOptObjRefs& opt_obj_refs) override { opt_obj_refs.push_back(*this); }
void checkInVariablesExclusive(opt_variables_type& active) final
{
active.insertFrom(myVars);

View File

@ -407,7 +407,7 @@ else()
list(APPEND DET_NIO_BATCHED_A4_E48_SCALARS "potential" "-619.32892062 0.02")
list(APPEND DET_NIO_BATCHED_A4_E48_SCALARS "eeenergy" "75.55912430 0.003")
list(APPEND DET_NIO_BATCHED_A4_E48_SCALARS "ionion" "-239.29802821 0.000002")
list(APPEND DET_NIO_BATCHED_A4_E48_SCALARS "localecp" "-391.88648786 0.001")
list(APPEND DET_NIO_BATCHED_A4_E48_SCALARS "localecp" "-391.88648786 0.0015")
list(APPEND DET_NIO_BATCHED_A4_E48_SCALARS "nonlocalecp" "-63.70352885 0.02")
list(APPEND DET_NIO_BATCHED_A4_E48_SCALARS "samples" "9 0.0")
endif()

View File

@ -135,15 +135,15 @@ qmc_run_and_check(
)
# Excited state
list(APPEND DIAMOND_EXCITED_SCALARS "totenergy" "-10.28759285 0.001023")
list(APPEND DIAMOND_EXCITED_SCALARS "kinetic" "11.41778633 0.066764")
list(APPEND DIAMOND_EXCITED_SCALARS "potential" "-21.70537918 0.008371")
list(APPEND DIAMOND_EXCITED_SCALARS "eeenergy" "-2.78731301 0.002097")
list(APPEND DIAMOND_EXCITED_SCALARS "ionion" "-12.77566741 0.000001")
list(APPEND DIAMOND_EXCITED_SCALARS "localecp" "-6.74480856 0.009475")
list(APPEND DIAMOND_EXCITED_SCALARS "nonlocalecp" "0.60240980 0.002763")
list(APPEND DIAMOND_EXCITED_SCALARS "totenergy" "-10.28757413 0.001966")
list(APPEND DIAMOND_EXCITED_SCALARS "kinetic" "11.41769866 0.01674")
list(APPEND DIAMOND_EXCITED_SCALARS "potential" "-21.70527280 0.016756")
list(APPEND DIAMOND_EXCITED_SCALARS "eeenergy" "-2.78729624 0.004153")
list(APPEND DIAMOND_EXCITED_SCALARS "ionion" "-12.77566741 0.00001")
list(APPEND DIAMOND_EXCITED_SCALARS "localecp" "-6.74474055 0.018968")
list(APPEND DIAMOND_EXCITED_SCALARS "nonlocalecp" "0.60243140 0.005574")
list(APPEND DIAMOND_EXCITED_SCALARS "samples" "128000 0.0")
list(APPEND DIAMOND_EXCITED_SCALARS "mpc" "-2.52743302 0.00222")
list(APPEND DIAMOND_EXCITED_SCALARS "mpc" "-2.52740814 0.004392")
qmc_run_and_check(
short-diamondC_1x1x1_pp-vmc_sdj_excited
@ -157,13 +157,13 @@ qmc_run_and_check(
DIAMOND_EXCITED_SCALARS # VMC
)
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "totenergy" "-10.33095572 0.002735")
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "kinetic" "11.48677399 0.027304")
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "potential" "-21.81772971 0.028082")
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "localecp" "-6.87597125 0.03417")
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "nonlocalecp" "0.63559539 0.008290")
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "eeenergy" "-2.80168644 0.00774")
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "mpc" "-2.55373919 0.008215")
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "totenergy" "-10.33047547 0.002606")
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "kinetic" "11.48348626 0.026185")
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "potential" "-21.81396173 0.02679")
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "localecp" "-6.87151058 0.033201")
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "nonlocalecp" "0.63492715 0.008002")
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "eeenergy" "-2.80171089 0.007489")
list(APPEND DIAMOND_DMC_EXCITED_SCALARS "mpc" "-2.55372811 0.00795")
qmc_run_and_check(
short-diamondC_1x1x1_pp-dmc_sdj_excited
@ -321,9 +321,9 @@ qmc_run_and_check(
)
# Excited state
list(APPEND LONG_DIAMOND_EXCITED_SCALARS "totenergy" "-10.28759285 0.000033")
list(APPEND LONG_DIAMOND_EXCITED_SCALARS "totenergy" "-10.28757413 0.000067")
list(APPEND LONG_DIAMOND_EXCITED_SCALARS "samples" "122880000 0.0")
list(APPEND LONG_DIAMOND_EXCITED_SCALARS "flux" "-0.01469770 0.025542")
list(APPEND LONG_DIAMOND_EXCITED_SCALARS "flux" "-0.01538267 0.03786")
qmc_run_and_check(
long-diamondC_1x1x1_pp-vmc_sdj_excited
@ -337,7 +337,7 @@ qmc_run_and_check(
LONG_DIAMOND_EXCITED_SCALARS # VMC
)
list(APPEND LONG_DIAMOND_DMC_EXCITED_SCALARS "totenergy" "-10.33095572 0.000865")
list(APPEND LONG_DIAMOND_DMC_EXCITED_SCALARS "totenergy" "-10.33047547 0.00086")
qmc_run_and_check(
long-diamondC_1x1x1_pp-dmc_sdj_excited
@ -1156,11 +1156,11 @@ if(NOT QMC_CUDA)
list(APPEND DET_DIAMOND_EXCITED_SCALARS "potential" "-24.81924106 0.00001931")
list(APPEND DET_DIAMOND_EXCITED_SCALARS "eeenergy" "-3.54361899 0.00001190")
list(APPEND DET_DIAMOND_EXCITED_SCALARS "ionion" "-12.77567050 0.000001")
list(APPEND DET_DIAMOND_EXCITED_SCALARS "localecp" "-8.35089725 0.00001516")
list(APPEND DET_DIAMOND_EXCITED_SCALARS "localecp" "-8.35089725 0.00005")
list(APPEND DET_DIAMOND_EXCITED_SCALARS "nonlocalecp" "-0.14905431 0.00002")
list(APPEND DET_DIAMOND_EXCITED_SCALARS "mpc" "-3.24606471 0.00001149")
list(APPEND DET_DIAMOND_EXCITED_SCALARS "samples" "9 0.0")
list(APPEND DET_DIAMOND_EXCITED_SCALARS "flux" "-3.81746292 0.00004665")
list(APPEND DET_DIAMOND_EXCITED_SCALARS "flux" "-3.81746292 0.0001")
else()
list(APPEND DET_DIAMOND_EXCITED_SCALARS "totenergy" "-10.14872875 0.000001")
list(APPEND DET_DIAMOND_EXCITED_SCALARS "kinetic" "14.67051169 0.000001")

View File

@ -86,7 +86,7 @@
<qmc method="vmc" move="pbyp">
<estimator name="LocalEnergy" hdf5="no"/>
<parameter name="walkers" > 16 </parameter>
<parameter name="blocks" > 10000 </parameter>
<parameter name="blocks" > 10000 </parameter>
<parameter name="steps" > 7680.0 </parameter>
<parameter name="subSteps" > 2 </parameter>
<parameter name="timestep" > 0.3 </parameter>

View File

@ -94,7 +94,7 @@
<parameter name="timestep"> 1.0 </parameter>
<parameter name="usedrift"> no </parameter>
</qmc>
<qmc method="dmc" move="pbyp" checkpoint="-1" gpu="yes">
<qmc method="dmc" move="pbyp" gpu="yes">
<estimator name="LocalEnergy" hdf5="no"/>
<parameter name="targetwalkers"> 256 </parameter>
<parameter name="reconfiguration"> no </parameter>

View File

@ -193,13 +193,13 @@ qmc_run_and_check(
# Excited state
list(APPEND DIAMOND2_EXCITED_SCALARS "totenergy" "-21.40993432 0.003654")
list(APPEND DIAMOND2_EXCITED_SCALARS "kinetic" "20.06024293 0.022415")
list(APPEND DIAMOND2_EXCITED_SCALARS "potential" "-41.47017725 0.023043")
list(APPEND DIAMOND2_EXCITED_SCALARS "eeenergy" "-5.45766545 0.006076")
list(APPEND DIAMOND2_EXCITED_SCALARS "ionion" "-25.55132697 0.000001")
list(APPEND DIAMOND2_EXCITED_SCALARS "localecp" "-12.00615417 0.027085")
list(APPEND DIAMOND2_EXCITED_SCALARS "nonlocalecp" "1.54496935 0.0092")
list(APPEND DIAMOND2_EXCITED_SCALARS "totenergy" "-21.40982133 0.007277")
list(APPEND DIAMOND2_EXCITED_SCALARS "kinetic" "20.05962779 0.043556")
list(APPEND DIAMOND2_EXCITED_SCALARS "potential" "-41.46944912 0.044609")
list(APPEND DIAMOND2_EXCITED_SCALARS "eeenergy" "-5.45766881 0.012243")
list(APPEND DIAMOND2_EXCITED_SCALARS "ionion" "-25.55132697 0.00001")
list(APPEND DIAMOND2_EXCITED_SCALARS "localecp" "-12.00533349 0.051348")
list(APPEND DIAMOND2_EXCITED_SCALARS "nonlocalecp" "1.54488016 0.018282")
list(APPEND DIAMOND2_EXCITED_SCALARS "samples" "32000 0.0")
qmc_run_and_check(
@ -214,7 +214,7 @@ qmc_run_and_check(
DIAMOND2_EXCITED_SCALARS # VMC
)
list(APPEND DIAMOND2_DMC_EXCITED_SCALARS "totenergy" "-21.61047356 0.010888")
list(APPEND DIAMOND2_DMC_EXCITED_SCALARS "totenergy" "-21.60824284 0.011552")
qmc_run_and_check(
short-diamondC_2x1x1_pp-dmc_sdj_excited
@ -289,9 +289,9 @@ qmc_run_and_check(
)
# Excited state
list(APPEND LONG_DIAMOND2_EXCITED_SCALARS "totenergy" "-21.40993432 0.000124")
list(APPEND LONG_DIAMOND2_EXCITED_SCALARS "totenergy" "-21.40982133 0.000246")
list(APPEND LONG_DIAMOND2_EXCITED_SCALARS "samples" "30720000 0.0")
list(APPEND LONG_DIAMOND2_EXCITED_SCALARS "flux" "-0.03079667 0.061095")
list(APPEND LONG_DIAMOND2_EXCITED_SCALARS "flux" "0.02048760 0.258691")
qmc_run_and_check(
long-diamondC_2x1x1_pp-vmc_sdj_excited
@ -305,7 +305,7 @@ qmc_run_and_check(
LONG_DIAMOND2_EXCITED_SCALARS # VMC
)
list(APPEND LONG_DIAMOND2_DMC_EXCITED_SCALARS "totenergy" "-21.61047356 0.001089")
list(APPEND LONG_DIAMOND2_DMC_EXCITED_SCALARS "totenergy" "-21.60824284 0.003812")
qmc_run_and_check(
long-diamondC_2x1x1_pp-dmc_sdj_excited
"${qmcpack_SOURCE_DIR}/tests/solids/diamondC_2x1x1_pp"

View File

@ -95,14 +95,14 @@
<parameter name="timestep"> 1.0 </parameter>
<parameter name="usedrift"> no </parameter>
</qmc>
<qmc method="dmc" move="pbyp" checkpoint="-1">
<qmc method="dmc" move="pbyp">
<estimator name="LocalEnergy" hdf5="no"/>
<parameter name="targetwalkers"> 256 </parameter>
<parameter name="reconfiguration"> no </parameter>
<parameter name="warmupSteps"> 100 </parameter>
<parameter name="timestep"> 0.005 </parameter>
<parameter name="steps"> 100 </parameter>
<parameter name="blocks"> 25000 </parameter>
<parameter name="blocks"> 2500 </parameter>
<parameter name="nonlocalmoves"> no </parameter>
</qmc>

View File

@ -162,19 +162,20 @@ case "$1" in
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
${GITHUB_WORKSPACE}
;;
*"Clang14-MPI-CUDA-AFQMC-Offload"*)
*"Clang15-MPI-CUDA-AFQMC-Offload"*)
echo "Configure for building with ENABLE_CUDA and AFQMC using OpenMP offload on x86_64 " \
"with latest llvm, need built-from-source OpenBLAS due to bug in rpm"
export OMPI_CC=/opt/llvm/14.0.1/bin/clang
export OMPI_CXX=/opt/llvm/14.0.1/bin/clang++
# todo: update to llvm 15 release, currently using release candidate
export OMPI_CC=/opt/llvm/15.0.0-rc3/bin/clang
export OMPI_CXX=/opt/llvm/15.0.0-rc3/bin/clang++
# Make current environment variables available to subsequent steps
echo "OMPI_CC=/opt/llvm/14.0.1/bin/clang" >> $GITHUB_ENV
echo "OMPI_CXX=/opt/llvm/14.0.1/bin/clang++" >> $GITHUB_ENV
echo "OMPI_CC=/opt/llvm/15.0.0-rc3/bin/clang" >> $GITHUB_ENV
echo "OMPI_CXX=/opt/llvm/15.0.0-rc3/bin/clang++" >> $GITHUB_ENV
# Confirm that cuda 11.2 gets picked up by the compiler
/opt/llvm/14.0.1/bin/clang++ -v
/opt/llvm/15.0.0-rc3/bin/clang++ -v
cmake -GNinja \
-DCMAKE_C_COMPILER=/usr/lib64/openmpi/bin/mpicc \
@ -183,7 +184,6 @@ case "$1" in
-DBUILD_AFQMC=ON \
-DENABLE_CUDA=ON \
-DENABLE_OFFLOAD=ON \
-DUSE_OBJECT_TARGET=ON \
-DCMAKE_PREFIX_PATH="/opt/OpenBLAS/0.3.18" \
-DQMC_COMPLEX=$IS_COMPLEX \
-DQMC_MIXED_PRECISION=$IS_MIXED_PRECISION \
@ -375,7 +375,7 @@ case "$1" in
if [[ "${GH_JOBNAME}" =~ (AFQMC-Offload) ]]
then
export LD_LIBRARY_PATH=/opt/llvm/14.0.1/lib:/usr/lib64/openmpi/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/opt/llvm/15.0.0-rc3/lib:/usr/lib64/openmpi/lib:${LD_LIBRARY_PATH}
fi
if [[ "${GH_JOBNAME}" =~ (Intel19) ]]