30
An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of Materials, Imperial College London Condensed Maer Theory, Dept. of Physics, Imperial College London July 29, 2014 http://www.hande.org.uk

An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

An overview of the HANDE QMC project

James Spencer

Thomas Young Centre, Dept. of Materials, Imperial College London

Condensed Ma�er Theory, Dept. of Physics, Imperial College London

July 29, 2014

http://www.hande.org.uk

Page 2: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Highly Accurate N-DEterminant QMC

ˆ

Stochastic diagonalisation

Stochastic coupled cluster

So�ware development

$

Page 3: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Systems

U

t

J

Hubbard model

Heisenberg model

kf

uniform electron gas benzene. . .

Page 4: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Systems

U

t J

Hubbard model Heisenberg model

kf

uniform electron gas benzene. . .

Page 5: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Systems

U

t J

Hubbard model Heisenberg model

kf

uniform electron gas

benzene. . .

Page 6: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Systems

U

t J

Hubbard model Heisenberg model

kf

uniform electron gas benzene. . .

Page 7: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Outline

ˆ

Stochastic diagonalisation

Stochastic coupled cluster

So�ware development

$

Page 8: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

FCIQMC1

Stochastically evolve ∂Ψ∂τ = −HΨ.

1Booth, Thom, Alavi, JCP 131 054106 (2010); JSS, Blunt, Foulkes, JCP 136 054110(2012)

Page 9: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Semi-stochastic Projection3

Deterministically evolve core subspace.Stochastically evolve remainder of Hilbert space2.

2F.R. Petruzielo, A.A. Holmes, H.J. Changlani, M.P. Nightingale, C.J. Umrigar,PRL, 109 230201 (2012)

3N.S. Blunt

Page 10: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Hellmann–Feynman samplingH(λ) = H + λO ⇒ 〈O〉 = ∂E(λ)

∂λ

∣∣∣λ=0

.

→ Sample ∂Ψ∂τ∂λ

∣∣λ=0

.

Page 11: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Density Matrix �antum Monte Carlo4

Stochastically evolve ∂ρ∂β = −Hρ = −1

2{H, ρ}.

4N.S. Blunt, T.W. Rogers, W.M.C. Foulkes

Page 12: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Outline

ˆ

Stochastic diagonalisation

Stochastic coupled cluster

So�ware development

$

Page 13: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Coupled Cluster Monte Carlo5

Stochastically evolve ∂Ψ∂τ = −HΨ.

Ψ = eT |HF〉 ; T =∑

ia tai c

†aci + 1

2

∑ijab t

abij c

†ac

†bcj ci + · · · .

5A.J.W. Thom, PRL 105 263004 (2010)

Page 14: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

CCMC: full non-composite clusters algorithm6

Problem—population on reference can grow slower than the rest ofthe space.

6A.J.W. Thom, W.A. Vigor

Page 15: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

CCMC: full non-composite clusters algorithm6

Split cluster selection: select all occupied excitors and randomlyselect clusters of excitors.

6A.J.W. Thom, W.A. Vigor

Page 16: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Parallel CCMC7

Key di�erence from FCIQMC: cooperative spawning.

tai tbj → tabij

Need to minimise communication to ensure good performance.

Solution—more Monte Carlo!

“Randomly” rearrange excitors across processors.

FCIQMC: p(|D〉) = hash(|D〉) mod Np

CCMC: p(|D〉) = hash(|D〉+ o(|D〉)) mod Np

o(|D〉) = (hash(|D〉) +Niter)� x

7A.J.W. Thom

Page 17: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Parallel CCMC7

Key di�erence from FCIQMC: cooperative spawning.

tai tbj → tabij

Need to minimise communication to ensure good performance.

Solution—more Monte Carlo!

“Randomly” rearrange excitors across processors.

FCIQMC: p(|D〉) = hash(|D〉) mod Np

CCMC: p(|D〉) = hash(|D〉+ o(|D〉)) mod Np

o(|D〉) = (hash(|D〉) +Niter)� x

7A.J.W. Thom

Page 18: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Parallel CCMC7

Key di�erence from FCIQMC: cooperative spawning.

tai tbj → tabij

Need to minimise communication to ensure good performance.

Solution—more Monte Carlo!

“Randomly” rearrange excitors across processors.

FCIQMC: p(|D〉) = hash(|D〉) mod Np

CCMC: p(|D〉) = hash(|D〉+ o(|D〉)) mod Np

o(|D〉) = (hash(|D〉) +Niter)� x

7A.J.W. Thom

Page 19: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Parallel CCMC7

Key di�erence from FCIQMC: cooperative spawning.

tai tbj → tabij

Need to minimise communication to ensure good performance.

Solution—more Monte Carlo!

“Randomly” rearrange excitors across processors.

FCIQMC: p(|D〉) = hash(|D〉) mod Np

CCMC: p(|D〉) = hash(|D〉+ o(|D〉)) mod Np

o(|D〉) = (hash(|D〉) +Niter)� x

7A.J.W. Thom

Page 20: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Parallel CCMC: scaling

Page 21: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Outline

ˆ

Stochastic diagonalisation

Stochastic coupled cluster

So�ware development

$

Page 22: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

git-flow development model8

master feature/XXX

review request

review

reply

re-review

bugfixfeature/YYY

review request

review

reply

re-review

8A successful Git branching model, V.Driessen

Page 23: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Training

I new studentsI minimal ‘toy’ FCIQMC codeI introductory(ish) projects

I ongoingI code reviewI encourage ownershipI coding retreats

I scratch own itchI convert users→ developers

Page 24: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Swings and roundabouts

well documented

(some) global data

fast

complex optimised code

flexible data structures

legacy code

python scientific stacklua-based input file (coming)

easy to extend

Page 25: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Swings and roundabouts

well documented (some) global datafast complex optimised code

flexible data structures legacy codepython scientific stack

lua-based input file (coming)easy to extend

Page 26: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Outline

ˆ

Stochastic diagonalisation

Stochastic coupled cluster

So�ware development

$

Page 27: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Future workTime for consolidation

I Systematic studies on ‘model’ quantum chemistry problemsI Coupled cluster Monte Carlo studies

I Hilbert spacesI truncation levels

I Like-for-like comparison between methods on a range ofsystems

I How does the sign problem vary?I Run with 1D Hubbard model datasets9

I Fixed node approximations10

I implementationI N2 dissociation

I Beyond the initiator approximationI · · ·

9DOI:10.6084/m9.figshare.1096136 and DOI:10.6084/m9.figshare.1106864,J.J. Shepherd and JSS

10Kolodrubetz, Clark, PRB 86 075109; Mukherjee, Alhassid, PRA 88, 053622;Roggero, Mukherjee, Pederiva, PRB 88, 115138

Page 28: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

Highly Accurate N-DEterminant QMC

U

t J

kf

− ∆τ →

− ∆τ →

e |HF〉− e |HF〉 ∆τ → e |HF〉

Page 29: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

HANDE team

Alex Thom Nick Blunt Will Vigor

Fionn Malone Ma�hew Foulkes James Shepherd

Past contributors: Will Handley, Tom Rogers, Joe Weston.

Page 30: An overview of the HANDE QMC project · An overview of the HANDE QMC project James Spencer Thomas Young Centre, Dept. of ... git-flow development model8 master feature/XXX review

HANDE publicationsI Understanding

I The sign problem and population dynamics in the FCIQMC method,JSS, N.S. Blunt, W.M.C. Foulkes, JCP 136 054110 (2012).

I The e�ect of quantization on the FCIQMC sign problem,M.H. Kolodrubetz, JSS, B.K. Clark and W.M.C. Foulkes, JCP 138 024110(2013).

I Unloading the dice: Minimising biases in FCIQMC, W.A. Vigor, JSS,M.J. Bearpark, A.J.W. Thom, arXiv:1407.1753.

I The sign problem in FCIQMC: linear and sublinear representationregimes, J.S. Shepherd, G.E. Scuseria, JSS, arXiv:1407.4800.

I Method and algorithm developmentI Density Matrix �antum Monte Carlo, N.S. Blunt, T.W. Rogers, JSS,

W.M.C. Foulkes, PRB 89 245124 (2014).I Improved parallel algorithms for stochastic diagonalisation,

F.D. Malone, W.M.C. Foulkes, JSS, in preparation.I Highly scalable stochastic coupled cluster theory, JSS, W.A. Vigor,

A.J.W. Thom, in preparation.I Approach to scientific so�ware development

I The Highly Accurate N-DEterminant (HANDE) quantum Monte Carloproject: Open-source stochastic diagonalisation for quantumchemistry, arXiv:1407.5407.