next up previous contents
Next: Feasibility Up: Preliminary Design Previous: Appendix I: Example Driver

Appendix II: Driver Description

  1. Each time step is an independent parallel problem. All particles must be run to completion in each time step before continuing.
  2. This line generates the source particles which are coming from outside, sources within the mesh, or are ``census particles'' which are particles left over from the last time step. Source particles also include any previous ``combining'' of particles.
  3. The important item here is that the particles do not need to be computed in any particular order (Note: there is a potential for cache optimization here).
  4. Move the particle within the mesh
  5. Each particle's work can be computationally intensive, this is where the runtime code spends most of its time.
  6. The application code using PPF decides which particles have hit the mesh boundaries and at what times, these particles are then submitted to the PPF.
  7. Application removes particle from list of particles still advancing.
  8. Ask PPF to send all particles to the correct nodes.
  9. Ask PPF to receive particles sent from other nodes
  10. Let PPF know that the the advancing particles loop is finished.
  11. If there are particles that are jumping back and forth between meshes, keep iterating until they have all terminated, otherwise the time step is finished.
  12. If PPF handles general domain decomposition it must be done between time steps, here we can re-partition and replicate.

next up previous contents
Next: Feasibility Up: Preliminary Design Previous: Appendix I: Example Driver


Tue Apr 11 23:58:21 MST 2000