Erweiterte Suche

GPU accelerated n-body integrators for long-term simulations of planetary systems

Simulationen dynamischer Prozesse in Planetensystemen stellen ein wichtiges Werkzeug bei der Untersuchung der orbitalen Evolution dieser Systeme dar. Mit modernen numerischen Integrationsmethoden ist es möglich, Systeme mit vielen tausend Körpern über Zeitskalen von hunderten Millionen Jahren zu modellieren. Zur Durchführung solcher Experimente werden jedoch in der Regel Großrechner benötigt, um aussagekräftige Ergebnisse in akzeptablen Rechenzeiten zu erhalten. Um die Rechenleistung von Grafikprozessoren (GPUs) in modernen Arbeitsplatzrechnern auszunutzen, habe ich cuSwift, eine Bibliothek numerischer Integrationsmethoden zur Untersuchung von langzeit-dynamischen Prozessen in Planetensystemen, entwickelt. Zur Zeit beinhaltet cuSwift drei unterschiedliche Algorithmen: einen RADAU Integrator 15. Ordnung, Wisdom-Holman Mapping (WHM) und den Regularized Mixed Variable Symplectic (RMVS) Integrator. Durch die Verwendung von GPUs konnte ich diese Algorithmen bis zu einem Faktor 100 gegenüber der Einkern-Variante beschleunigen. Ich vergleiche die neu implementierten Methoden mit den originalen, um deren numerische Genauigkeit zu überprüfen und den Geschwindigkeitsgewinn zu quantifizieren. Als erstes Experiment untersuche ich den Einfluss des nicht-gravitativen Yarkofsky Effekts auf Jupiter-Trojaner und zeige, dass der Effekt tatsächlich Auswirkungen auf die Bahnentwicklung dieser Objekte hat.

Simulations of dynamical processes in planetary systems represent an important tool for studying their orbital evolution. Using modern numerical integration methods, it is possible to model systems containing many thousands of objects over time scales of several hundred million years. However, in general supercomputers are needed to get reasonable simulation results in acceptable execution times. To exploit the ever growing computation power of Graphics Processing Units (GPUs) in modern desktop computers I implemented cuSwift, a library of numerical integration methods for studying long-term dynamical processes in planetary systems. So far, cuSwift contains three algorithms: a 15th order Radau integrator, the Wisdom-Holman Mapping (WHM) integrator and the Regularized Mixed Variable Symplectic(RMVS) Method. With cuSwift I show that the use of GPUs makes it possible to speed up these methods up to two orders of magnitude compared to the single-core CPU implementation. I compare the newly implemented algorithms with the original algorithms in order to assess the numerical precision and to demonstrate the speedup achieved with the GPU. As a first application, I use these methods to study the influence of the Yarkovsky effect on Jupiter Trojans and show that the effect indeed affects the long-term orbital evolution of these bodies.

Titel: GPU accelerated n-body integrators for long-term simulations of planetary systems
Verfasser: Hellmich, Stephan GND
Gutachter: Spohn, Tilman GND
Organisation: FB 14: Geowissenschaften
Dokumenttyp: Dissertation/Habilitation
Medientyp: Text
Erscheinungsdatum: 2017
Publikation in MIAMI: 18.05.2018
Datum der letzten Änderung: 18.05.2018
Schlagwörter: GPGPU; Numerische integration; Himmelsmechanik; Asteroiden; Jupiter Trojaner; Yarkovsky Effekt
GPGPU; Numerical integration; Celestial mechanics; Asteroids; Jupiter Trojans; Yarkovsky Effect
Fachgebiete: Astronomie
Sprache: Englisch
Format: PDF-Dokument
URN: urn:nbn:de:hbz:6-28169560379
Permalink: https://nbn-resolving.org/urn:nbn:de:hbz:6-28169560379
Onlinezugriff:
Inhalt:
1 Introduction 1
1.1 Minor planets in the solar system . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Asteroids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 Comets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Dynamical evolution of minor planets . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Motivation for this work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Solving the 𝑛-body problem 9
2.1 The 𝑛-body problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Numerical integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.1 Explicit methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 Symplectic methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.3 A higher order integration scheme . . . . . . . . . . . . . . . . . . . . . 16
2.3 Tuning the method for solar system like 𝑛-body problems . . . . . . . . . . . 18
2.3.1 Mixed Variable Symplectic method . . . . . . . . . . . . . . . . . . . . 19
2.3.2 Integrating minor bodies of infinitesimal mass . . . . . . . . . . . . . . 20
2.3.3 Encounters between minor bodies and planets . . . . . . . . . . . . . . 21
2.3.4 Limitations due to machine precision . . . . . . . . . . . . . . . . . . . 22
2.4 The Yarkovsky Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Diurnal Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Seasonal Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3 General-Purpose Computation on Graphics Processing Units 31
3.1 The History of Graphics Processing Units (GPUs) . . . . . . . . . . . . . . . 31
3.2 General-Purpose Computation on Graphics Processing Units . . . . . . . . . 32
3.3 CUDA Computing architecture on Nvidia GPUs . . . . . . . . . . . . . . . . 33
3.3.1 Fundamental differences between GPU and CPU . . . . . . . . . . . . 33
3.3.2 Programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.3 Performance guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Launch as many threads as possible . . . . . . . . . . . . . . . . . . . 36
Economize memory transfers between host and device . . . . . . . . . 36
Maximize device memory bandwidth . . . . . . . . . . . . . . . . . . . 36
Avoid divergence within a single warp . . . . . . . . . . . . . . . . . . 37
Find the right ratio between block size and register count . . . . . . . 37
4 cuSwift - a library of GPU based n-Body Integrators 39
4.1 Included Integration Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.1.1 Wisdom-Holman-Mapping (WHM) . . . . . . . . . . . . . . . . . . . . 39
CPU implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
GPU Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Data layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Memory management . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Thread divergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Dynamic memory reallocation . . . . . . . . . . . . . . . . . . . . . . 43
4.1.2 RMVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
CPU Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
GPU Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Memory management for close encounter processing . . . . . . . . . . 45
Close encounter handling . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2 Yarkovsky effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5 Validation and Benchmarking 49
5.1 Test setup for WHM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.1.1 The dynamics of Pluto . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Why Pluto? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.1.2 A fictitious population of Plutos . . . . . . . . . . . . . . . . . . . . . . 51
5.1.3 Validating cuWHM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Fused multiply-add . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Drift methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.2 Test setup for RMVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.2.1 Monitoring the Jacobi constant in the restricted three body problem . 56
5.2.2 Creating a set of particles frequently involved in close encounters . . . 57
5.2.3 Validating cuRMVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.3 Test setup for the Yarkovsky effect . . . . . . . . . . . . . . . . . . . . . . . . 61
5.3.1 Validating the Yarkovsky effect . . . . . . . . . . . . . . . . . . . . . . 61
Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.4 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.4.1 Test setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.4.2 Speedup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
WHM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
RMVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6 Impact of the Yarkovsky effect on the Jupiter Trojan Asteroids 75
6.1 Jupiter’s Trojan asteroids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.2 Does the Yarkovsky force affect Jupiter Trojans? . . . . . . . . . . . . . . . . 78
6.2.1 A Fictitious, long-lived population of Jupiter Trojans . . . . . . . . . . 80
Without considering the Yarkovsky effect . . . . . . . . . . . . . . . . 80
When considering the Yarkovsky effect . . . . . . . . . . . . . . . . . 81
6.2.2 A more realistic population . . . . . . . . . . . . . . . . . . . . . . . . . 82
Estimating the libration amplitude . . . . . . . . . . . . . . . . . . . . 83
Finding an appropriate integration interval . . . . . . . . . . . . . . . 85
Run time of the integrations . . . . . . . . . . . . . . . . . . . . . . . 88
6.3 Results and discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Influence of the physical properties . . . . . . . . . . . . . . . . . . . . 89
Ratio of escaped L4 and L5 Trojans . . . . . . . . . . . . . . . . . . . 91
Implications on the libration amplitude . . . . . . . . . . . . . . . . . 92
Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Caveats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7 Future work 97
7.1 Improve and Implement more non-gravitational effects . . . . . . . . . . . . . 97
7.1.1 Improve the Yarkovsky effect and include YORP Effect . . . . . . . . . 97
7.1.2 Include YORP Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.1.3 Acceleration due to cometary activity . . . . . . . . . . . . . . . . . . . 97
7.1.4 Collisions and Fragmentation . . . . . . . . . . . . . . . . . . . . . . . 98
7.2 Implement additional Integration Methods . . . . . . . . . . . . . . . . . . . . 98
8 Bibliography 99