This uses the simple O(N2) Particle Dynamics Problem as a motivator to discuss solution of ordinary differential equations |
We discuss Euler, Runge Kutta and predictor corrector methods |
Various Message parallel O(N2) algorithms are described with performance comments |
There is a related data parallel module sharing the same initial foils |
CPS615-95E CPS615 Foils -- set E: ODE's and Particle Dynamics CPS615F90HPF96 Overview of Fortran 90 and HPF Fall 96
CPS615-95E 051 001 CPS 615 -- Computational Science in Simulation Track Message Parallel Module on ODE's and Particle Dynamics October 20, 1997 CPS615-95E 052 002 Abstract of Message Parallel ODE and Particle Dynamics
CPS615-95E 003 003 Particle (N-Body) Applications and Ordinary Differential Equations (ODE's) CPS615-95E 004 004 Particle Applications - Ordinary Differential Equations (ODE's) CPS615-95E 005 005 Particle Applications - the N-body problem CPS615-95E 006 006 Newton's First Law -- The Gravitational Force on a Particle CPS615-95E 007 007 Equations of Motion -- Newton's Second Law
CPS615-95E 008 008 Numerical techniques for solving ODE's CPS615-95E 009 009 Second and Higher Order Equations CPS615-95E 010 010 Basic Discretization of Single First Order Equation CPS615-95E 011 011 Errors in numerical approximations CPS615-95E 012 012 Runge-Kutta Methods: Euler's method CPS615-95E 013 013 Estimate of Error in Euler's method CPS615-95E 014 014 Relationship of Error to Computation CPS615-95E 015 015 Example using Euler's method from the CSEP book CPS615-95E 016 016 Approximate solutions at t=1,using Euler's method with different values of h CPS615-95E 017 017 Runge-Kutta Methods: Modified Euler's method CPS615-95E 018 018 Approximate solutions of the ODE for et at t=1, using modified Euler's method with different values of h CPS615-95E 019 019 The Classical Runge-Kutta -- In Words CPS615-95E 020 020 The Classical Runge-Kutta -- Formally CPS615-95E 021 021 The Classical Runge-Kutta Pictorially CPS615-95E 022 022 Predictor / Corrector Methods CPS615-95E 023 023 Definition of Multi-step methods CPS615-95E 024 024 Features of Multi-Step Methods CPS615-95E 025 025 Comparison of Explicit and Implicit Methods
CPS615-95E 026 026 Solving the N-body equations of motion CPS615-95E 075 027 Representing the Message Parallel N-Body problem CPS615-95E 076 028 Form of the Computation -- Message Parallel CPS615-95E 053 029 Summary of Parallel N-Body Programming Methods and Algorithms CPS615-95E 054 030 Status of Parallelism in Various N Body Cases CPS615-95E 055 031 Other N-Body Like Problems - I CPS615-95E 056 032 Other N-Body Like Problems - II
CPS615-95E 057 033 Essential Structure of Message Parallel O(N2) Algorithm - I CPS615-95E 058 034 Essential Structure of Message Parallel O(N2) Algorithm - II CPS615-95E 059 035 Structure of Runge Kutta Phases CPS615-95E 060 036 The 9 Fortran Phases in Runge Kutta Update CPS615-95E 061 037 Features of Message Parallel Computation CPS615-95E 062 038 Message Parallel Force Computation MPGrav
CPS615-95E 063 039 Very Bad Naive Message Parallel Algorithm CPS615-95E 064 040 Features of Very Bad Naive Message Parallel Algorithm CPS615-95E 065 041 Much Better Message Parallel Algorithm CPS615-95E 066 042 Blocking of Messages CPS615-95E 067 043 Compilers, Caches and Data Locality CPS615-95E 068 044 Communication and Computation Complexity
CPS615-95E 046 045 N-body Problem is a one dimensional Algorithm CPS615-95E 080 046 Factor of Two in the Parallel O(N2) Algorithm CPS615-95E 069 047 Best Message Parallel N Body Algorithm - I CPS615-95E 070 048 Best Message Parallel N Body Algorithm - II
CPS615-95E 071 049 Choice of Place to Compute Fi,j CPS615F90HPF96 041 050 The Two Basic Distributions in HPF CPS615F90HPF96 042 051 The Example of Matrix Inversion CPS615F90HPF96 043 052 Example of Graphics Rendering
CPS615-95E 072 053 Final Remarks on Best Algorithm CPS615-95E 036 054 Better Data Parallel Pipeline Algorithm for Computation of Accelerations, taking 1/2 the time for iterations over force computation CPS615-95E 077 055 Pipeline Algorithm in detail CPS615-95E 078 056 Basic Message Parallel pipeline operation CPS615-95E 079 057 Examples of Message Parallel Pipeline Algorithm
CPS615-95E 050 058 Notes and References
CPS615-95E CPS615 Foils -- set E: ODE's and Particle Dynamics51 52 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 75 76 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 46 80 69 70 71 72 36 77 78 79 50
CPS615F90HPF96 Overview of Fortran 90 and HPF Fall 9641 42 43
CPS615-95E CPS615 Foils -- set E: ODE's and Particle Dynamics3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 36 46 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 75 76 77 78 79 80
CPS615F90HPF96 Overview of Fortran 90 and HPF Fall 9641 42 43