Find this at http://www.npac.syr.edu/users/gcf/cps615dpnbody98/

N Body Problems using Data parallel Approach

Given by Geoffrey C. Fox at CPS615 Basic Simulation Track for Computational Science on 1998 Enhancements. Foils prepared 22 February 1998

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
F90 and HPF Data parallel O(N2) algorithms are described with performance comments
There is a related message parallel module sharing the same initial foils


This mixed presentation uses parts of the following base foilsets which can also be looked at on their own!
CPS615-95E               CPS615 Foils -- set E: ODE's and Particle 
                          Dynamics

Table of Contents for N Body Problems using Data parallel Approach



CPS 615 1998 Update for N body Simple Algorithm with Data parallel F90/HPF
               CPS615-95E 073 001 CPS 615 -- Computational Science in
                                  Simulation Track
                                  Data Parallel Module on ODE's and 
                                  Particle Dynamics
                                  February 20, 1998
               CPS615-95E 074 002 Abstract of Message Parallel ODE and
                                   Particle Dynamics 

Particle Dynamics as applications
               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

ODE Solution Techniques
               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

Setup of N Body Problem
               CPS615-95E 026 026 Solving the N-body equations of 
                                  motion
               CPS615-95E 027 027 Representing the N-Body problem
               CPS615-95E 028 028 Form of the Computation -- Data v. 
                                  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

Simple Data Parallel Approach
               CPS615-95E 029 033 N-body Runge Kutta Routine in 
                                  Fortran90 - I
               CPS615-95E 030 034 Runge Kutta Routine in Fortran90 - 
                                  II
               CPS615-95E 031 035 Computation of accelerations - a 
                                  simple parallel array algorithm
               CPS615-95E 032 036 Simple Data Parallel Version of N 
                                  Body Force Computation -- Grav -- I
               CPS615-95E 033 037 The Grav Function in Data Parallel 
                                  Algorithm - II

Problems with Simple Method
               CPS615-95E 034 038 Some Inefficiencies of the Data 
                                  Parallel N2 Algorithm - I
               CPS615-95E 035 039 Some Inefficiencies of the Data 
                                  Parallel N2 Algorithm - II

Data Parallel Pipeline Algorithm
               CPS615-95E 036 040 Better Data Parallel Pipeline 
                                  Algorithm for Computation of 
                                  Accelerations,
                                  taking 1/2 the iterations of force 
                                  computation - I
               CPS615-95E 037 041 Data Parallel Pipeline Algorithm in 
                                  detail
               CPS615-95E 038 042 Basic Data Parallel pipeline 
                                  operation
               CPS615-95E 039 043 Examples of Data Parallel Pipeline 
                                  Algorithm
               CPS615-95E 040 044 Data Parallel Pipeline Algorithm 
                                  Grav -- Part I
               CPS615-95E 041 045 Data Parallel Pipeline Algorithm for
                                   Grav -- Part II
               CPS615-95E 042 046 Data Parallel Grav Pipeline 
                                  Algorithm, concluded

Performance Issues
               CPS615-95E 043 047 Data Parallel Parallel Decomposition
               CPS615-95E 044 048 Data Parallel Parallel Execution 
                                  Time -I
               CPS615-95E 045 049 Data Parallel Parallel Execution 
                                  Time -II

One Dimensional System Dimension
               CPS615-95E 046 050 N-body Problem is a one dimensional 
                                  Algorithm

HPF Version
               CPS615-95E 047 051 Excerpts from an HPF program for 
                                  this algorithm
               CPS615-95E 048 052 HPF program excerpts - II
               CPS615-95E 049 053 HPF program excerpts - finished

References
               CPS615-95E 050 054 Notes and References

List of Foils Used as they occur

CPS615-95E               CPS615 Foils -- set E: ODE's and Particle 
                          Dynamics
73 74 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 53 54 55 56 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

Sorted List of Foils Used

CPS615-95E               CPS615 Foils -- set E: ODE's and Particle 
                          Dynamics
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 53 54 55 56 73 74


© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Sun Feb 22 1998