From 0474a56f76c9370eb73a5345ca184faafd28ae31 Mon Sep 17 00:00:00 2001 From: Ye Luo Date: Sat, 2 Mar 2024 22:04:24 -0600 Subject: [PATCH 1/3] Add QP batching safety check. --- src/QMCWaveFunctions/BsplineFactory/HybridRepCplx.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/QMCWaveFunctions/BsplineFactory/HybridRepCplx.h b/src/QMCWaveFunctions/BsplineFactory/HybridRepCplx.h index 9d0c710981..50d47a2482 100644 --- a/src/QMCWaveFunctions/BsplineFactory/HybridRepCplx.h +++ b/src/QMCWaveFunctions/BsplineFactory/HybridRepCplx.h @@ -123,7 +123,7 @@ class HybridRepCplx : public SPLINEBASE, private HybridRepCenterOrbitals& ratios) override { - if (VP.isOnSphere()) + if (VP.isOnSphere() && HYBRIDBASE::is_batched_safe(VP)) { // resize scratch space psi_AO.resize(psi.size()); From 3a74feea3cbbafe52817692ec15a0d07d6ecdc24 Mon Sep 17 00:00:00 2001 From: Ye Luo Date: Sat, 2 Mar 2024 22:05:37 -0600 Subject: [PATCH 2/3] Remove unused virital. --- src/QMCWaveFunctions/Fermion/SlaterDet.h | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/QMCWaveFunctions/Fermion/SlaterDet.h b/src/QMCWaveFunctions/Fermion/SlaterDet.h index 2e2eb642f4..b110828cf8 100644 --- a/src/QMCWaveFunctions/Fermion/SlaterDet.h +++ b/src/QMCWaveFunctions/Fermion/SlaterDet.h @@ -23,12 +23,6 @@ namespace qmcplusplus { -// NOTE NOTE NOTE -// template -// class SlaterDet: public WaveFunctionComponent {} -// then change SlaterDet to SlaterDet -// and SlaterDeterminantWithBackflow to SlaterDet -// and remove all virtuals and inline them class TWFFastDerivWrapper; class SlaterDet : public WaveFunctionComponent @@ -249,7 +243,7 @@ class SlaterDet : public WaveFunctionComponent std::unique_ptr makeClone(ParticleSet& tqp) const override; - virtual SPOSetPtr getPhi(int i = 0) { return Dets[i]->getPhi(); } + SPOSetPtr getPhi(int i = 0) { return Dets[i]->getPhi(); } void evaluateRatiosAlltoOne(ParticleSet& P, std::vector& ratios) override; From aeaae918a189280196c30e70714f0c0724aa9708 Mon Sep 17 00:00:00 2001 From: Ye Luo Date: Sat, 2 Mar 2024 22:08:13 -0600 Subject: [PATCH 3/3] Rename a function. --- src/QMCWaveFunctions/BsplineFactory/HybridRepCenterOrbitals.h | 2 +- src/QMCWaveFunctions/BsplineFactory/HybridRepCplx.h | 2 +- src/QMCWaveFunctions/BsplineFactory/HybridRepReal.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/QMCWaveFunctions/BsplineFactory/HybridRepCenterOrbitals.h b/src/QMCWaveFunctions/BsplineFactory/HybridRepCenterOrbitals.h index d605250e89..425321d349 100644 --- a/src/QMCWaveFunctions/BsplineFactory/HybridRepCenterOrbitals.h +++ b/src/QMCWaveFunctions/BsplineFactory/HybridRepCenterOrbitals.h @@ -708,7 +708,7 @@ class HybridRepCenterOrbitals * The batched algorthm forces the evaluation on the reference center and introduce some error. * In this case, the non-batched algorithm should be used. */ - bool is_batched_safe(const VirtualParticleSet& VP) const + bool is_VP_batching_safe(const VirtualParticleSet& VP) const { const int center_idx = VP.refSourcePtcl; auto& myCenter = AtomicCenters[Super2Prim[center_idx]]; diff --git a/src/QMCWaveFunctions/BsplineFactory/HybridRepCplx.h b/src/QMCWaveFunctions/BsplineFactory/HybridRepCplx.h index 50d47a2482..92b07565c7 100644 --- a/src/QMCWaveFunctions/BsplineFactory/HybridRepCplx.h +++ b/src/QMCWaveFunctions/BsplineFactory/HybridRepCplx.h @@ -123,7 +123,7 @@ class HybridRepCplx : public SPLINEBASE, private HybridRepCenterOrbitals& ratios) override { - if (VP.isOnSphere() && HYBRIDBASE::is_batched_safe(VP)) + if (VP.isOnSphere() && HYBRIDBASE::is_VP_batching_safe(VP)) { // resize scratch space psi_AO.resize(psi.size()); diff --git a/src/QMCWaveFunctions/BsplineFactory/HybridRepReal.h b/src/QMCWaveFunctions/BsplineFactory/HybridRepReal.h index 6cf5670cec..03e3a617f5 100644 --- a/src/QMCWaveFunctions/BsplineFactory/HybridRepReal.h +++ b/src/QMCWaveFunctions/BsplineFactory/HybridRepReal.h @@ -128,7 +128,7 @@ class HybridRepReal : public SPLINEBASE, private HybridRepCenterOrbitals& ratios) override { - if (VP.isOnSphere() && HYBRIDBASE::is_batched_safe(VP)) + if (VP.isOnSphere() && HYBRIDBASE::is_VP_batching_safe(VP)) { // resize scratch space psi_AO.resize(psi.size());