Table Of ContentETH Library
SplitSolve, an Algorithm for
Ab-Initio Quantum Transport
Simulations
Doctoral Thesis
Author(s):
Calderara, Mauro M.
Publication date:
2016
Permanent link:
https://doi.org/10.3929/ethz-a-010781848
Rights / license:
In Copyright - Non-Commercial Use Permitted
This page was generated automatically upon download from the ETH Zurich Research Collection.
For more information, please consult the Terms of use.
DISS. ETH NO. 23566
SplitSolve, an Algorithm for
Ab-Initio Quantum
Transport Simulations
A thesis submitted to attain the degree of
DOCTOR of SCIENCES of ETH ZURICH
(Dr. sc. ETH Zurich)
presented by
MAURO MASSIMO CALDERARA
Dipl. Phys. ETH
born on November 24th, 1982
citizen of Lohn-Ammannsegg SO and Heiden AR,
Switzerland
accepted on the recommendation of
Prof. Dr. Mathieu Maurice Luisier, examiner
Prof. Dr. Olaf Schenk, co-examiner
2016
Acknowledgements
Thisworkwouldnothavebeenpossiblewithoutthegeneroussupport
of my advisor Prof. Dr. Mathieu Luisier during the last 4.5 years.
Some things worked, many didn’t, but through it all Mathieu was
encouraging and provided patient guidance, always in the right direc-
tion. He saw light where I didn’t see any. My sincere appreciation is
extended to him for having been such an excellent advisor! I’d also
like to thank Prof. Dr. Olaf Schenk for agreeing to be the co-advisor
for this thesis.
I thank Christine Haller here at IIS for dealing with the adminis-
trative hassle I am certain to have caused.
I’m grateful for the many conversations I have enjoyed with A´ron
Sz´abo, he sharing his perspective has always improved my day. I also
thank Sascha Bru¨ck, my other long standing office mate, for all the
help and discussion related to our common projects.
Without my companions Ramon Calderara, Dimitri von Reding,
Driton Komani, Vladimir Mitev, and Jasmin Stansa I would neither
be where nor who I am today. I sincerely believe they all changed me
for the better. Thank you, guys!
Thetwopersonsmostinfluentialinmylifearemyparents,Madeleine
and Rico Calderara, to whom I’ll remain indebted forever for their
encouragement and unfailing belief in me. Without their constant
support I could not have done it.
Finally, I would like to express my deepest gratitude for the one
companion I love most, my wife Melanie. There are no words to
expresshowgratefulIamthatyoudecidedtoletusjoinourjourneys.
Forallthehappinessyoubringbyjustbeingyourself, MissAwesome,
thank you so much!
iii
Abstract
This thesis presents SplitSolve, a novel method to compute wave
and retarded Green’s functions in the context of ab-initio quantum
transport simulations. SplitSolve combines the Sherman-Morrison-
Woodbury formula with a multi-level parallel inversion scheme and
leveragesthecapabilitiesofthroughput-orientedcomputingplatforms
to outperform existing solutions by an order of magnitude.
The algorithm consists of a preprocessing and a postprocessing
phase. During preprocessing only the Hamiltonian H and overlap
matrix S of the physical system, but not the blocks representing its
open boundary conditions are required. Hence, the computation of
the eigenvalues for the open boundary conditions can be performed
in parallel to this initial phase. This deserializes the two most time
consuming algebraic operations in ballistic quantum transport sim-
ulations. In SplitSolve the structure of the system εS −H can be
leveraged to optimize the preprocessing step, while traditional solu-
tions have to operate on general matrices. Efficient algorithms for
the preprocessing phase in both the wave function and the Green’s
function formalism are presented, including a method to distribute
the computation over processors with no shared memory.
Thesubsequentpostprocessingphaseiscomputationallymuchless
demandingandalsoparallelonthesamelevels. Itcanbeinvokedonce
the preprocessing has completed and the open boundary conditions
are available. Typically, the postprocessing consumes only a fraction
of the time required in the preprocessing step.
v
vi ABSTRACT
AmajorfeatureofSplitSolveisthatitoffersatremendousamount
ofparallelismatasharedmemorylevel,bothinthepre-andpostpro-
cessing phases. As such it is a very good fit for modern, throughput-
oriented platforms like general-purpose graphics processing units and
many-core accelerators. This is illustrated by a roofline analysis of
the algorithm. Our experimental investigations have shown that the
method consumes less memory than established sparse solvers. Con-
sequently, it allows to treat larger systems than was possible before.
InperformancemeasurementsSplitSolveoutperformsstate-of-the-
art solutions by a factor between 6× and 33× if the interleaving
with the eigenvalue problem is not accounted for, significantly more
otherwise. Together with an efficient eigenvalue solver SplitSolve has
been integrated into OMEN, a quantum transport framework, and
CP2K, an ab-initio electronic structure and geometry optimization
simulator.
The combined code was then used to simulate electron transport
in nano-devices with over 1000000 atoms, an achievement unprece-
dented in the field of transport simulations from first principles. In
the course of its calculations it constantly ran at over 85% of the
instruction performance of LINPACK on one of the world’s second
largestsupercomputerswith95%ofalloperationsbeingperformedin
the SplitSolve algorithm.
Zusammenfassung
Die vorliegende Arbeit stellt SplitSolve, einen Algorithmus zur Be-
rechnungvonWellen-undGreenschenFunktionenimKontextvonab-
initio Quantentransport-Simulationen, vor. SplitSolve kombiniert die
Sherman-Morrison-WoodburyMatrixinversionsformelmiteinereffizi-
enten, parallelisierten Methode zur blockweisen Invertierung von Ma-
trizenundistaufdurchsatzorientierteRechensystemeausgelegt.Diese
Kombination reduziert die ben¨otigte Rechenzeit um eine Gr¨ossen-
ordnung gegenu¨ber den bestehenden L¨osungsans¨atzen.
Der Algorithmus l¨auft in zwei Phasen, einer Vorbereitungsphase
und einer Schlussphase. Die Datenabh¨angigkeiten der Vorbereitungs-
phasebeschr¨ankensichaufdieHamilton-MatrixH unddieU¨berlapp-
matrixS deszusimulierendenSystems.Nichtben¨otigthingegenwer-
den die Matrixbl¨ocke welche die offenen Randbedinungen repr¨asen-
tieren. Entsprechend kann die Berechnung der Eigenwerte fu¨r die
RandbedinungenzeitgleichmitderVorbereitungsphaseausgefu¨hrtwer-
den. Dadurch werden werden die zwei zeitintensivsten Rechenschritte
in ballistischen Quantentransportsimulationen rechnerisch voneinan-
der entkoppelt. Zus¨atzlich wird dadurch erm¨oglicht die Struktur des
Systems εS − H zur Optimierung der Vorbereitungsphase zu ver-
wenden. Im Gegensatz dazu sind bisherige Methoden gezwungen auf
Matrizen ohne weiterer Struktur zu operieren. Effiziente Algorithmen
fu¨rdieerstePhase,zusammenmiteinemSchemazurParallelisierung
u¨bermehrereProzessorenohnegemeinsamenSpeicher,werdenfu¨rdie
beiden F¨alle der Berechnung von Wellenfunktionen sowie zur Berech-
nung der Greenschen Funktion vorgestellt.
vii
viii ZUSAMMENFASSUNG
Die anschliessende Schlussphase ist mit bedeutend weniger rech-
nerischem Aufwand verbunden und in der gleichen Art parallelisier-
bar.Siewirdausgefu¨hrtsobalddieVorbereitungsphaseabgeschlossen
unddieoffeneRandbedingungfertigberechnetist.Derentsprechende
Laufzeit entspricht einem Bruchteil derjenigen zur Berechnung der
Vorbereitungsphase.
Ein entscheidendes Merkmal des SplitSolve Algorithmus’ ist das
PotenzialzurparallelisiertenImplementierungfu¨rProzessorendieeinen
gemeinsamen Speicherraum adressieren. Diese Eigenschaft ist sowohl
in der Vorbereitungs- als auch in der Schlussphase gegeben. Dadurch
eignet sich SplitSolve fu¨r die Ausfu¨hrung auf modernen, durchsatz-
orientierten Recheneinheiten wie Grafikkarten oder Vielkern-Archi-
tekturen. Um diesen Sachverhalt n¨aher zu untersuchen wurde eine
Roofline-AnalysedesAlgorithmus’durchgefu¨hrt.Dieexperimentellen
Untersuchungen haben ergeben, dass der Algorithmus weniger Spei-
cher ben¨otigt als etablierte L¨oser fu¨r du¨nn besetzte Systeme. In der
FolgeerlaubtdasVerfahrengr¨ossereStrukturenzubehandelnalsdies
bis anhin m¨oglich gewesen w¨are.
Messungen der Laufzeit zeigen, dass SplitSolve gegenu¨ber state-
of-the-art Ans¨atzen im direkten Vergleich um einen Faktor von 6 bis
16schnellerist,mitnochdeutlicheremVorsprungwennderU¨berlapp
mit dem Eigenwertproblem ebenfalls beru¨cksichtigt wird. Zusammen
mit einem effizienten Eigenwertl¨oser wurde SplitSolve mit OMEN,
einerQuantentransportImplementierung,undCP2K,einemab-initio
Molekulardynamik-Simulator, kombiniert.
DasresultierendeProgrammwurdeverwendetumdenElektronen-
transport in Strukturen mit mehr als 1000000 Atomen zu berechnen.
Simulationen von Systemen dieser Gr¨ossenordnung konnten bisher
nicht durchgefu¨hrt werden. Im Verlauf dieser Berechnungen hat der
Code konstant mehr als 85% der Rechenleistung des zweitleistungs-
st¨arksten Supercomputers der Welt effektiv verwendet, wobei 95%
aller entsprechenden Rechenoperationen im Zusammenhang mit dem
SplitSolve Algorithmus ausgefu¨hrt wurden.
Contents
Acknowledgements iii
Abstract v
Zusammenfassung vii
1 Introduction 1
2 Density Functional Theory 7
2.1 A Short Introduction to DFT . . . . . . . . . . . . . . 9
2.2 Exchange-Correlation Potentials . . . . . . . . . . . . 14
2.3 Linear Scaling and Localized
Basis Sets . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Ab-initio Quantum Transport 19
3.1 DFT-based electron transport . . . . . . . . . . . . . . 21
3.2 The Nonequilibrium Electron Density . . . . . . . . . 25
3.2.1 Equilibrium Density Matrix . . . . . . . . . . . 29
3.2.2 Nonequilibrium Density Matrix . . . . . . . . . 31
3.2.3 The Quantum Transmitting Boundary
Method . . . . . . . . . . . . . . . . . . . . . . 34
3.2.4 The Open Boundary Conditions . . . . . . . . 37
4 Hybrid Architectures 41
4.1 General Purpose Graphics Processing Units . . . . . . 45
4.1.1 NVIDIA GPUs and the CUDA framework . . . 50
ix