patterns for modern fortran
play

Patterns for Modern Fortran Variation points Accomodate for change - PowerPoint PPT Presentation

High-Performance Design Patterns for Modern Fortran Variation points Accomodate for change Partial differential equation solvers Which coordinate system? How many dimensions? Coordinate-free programming Independent of dimension,


  1. High-Performance Design Patterns for Modern Fortran

  2. Variation points • Accomodate for change • Partial differential equation solvers • Which coordinate system? How many dimensions?

  3. Coordinate-free programming • Independent of dimension, coordinate systems etc. • Mathematically and computationally precise.

  4. Modern fortran • Class abstraction • Array operations • Coarrays • Prohibits function results containing coarrays

  5. Design patterns • Object superclass and error tracing • Compute globally, return locally

  6. Pattern tradeoffs • Object pattern • Lightweight performance • Heavyweight in source code writings • Compute globally return locally

  7. Weak scaling • One dimensional burgers equation • Weak scaling coarray on Cray: • Each core is assigned a fixed data size of � �97 �5� values for � ��� time steps, syncing each time step

  8. Strong scaling • 409600 grid points • MPI faster • Superlinear speedup

  9. Execution profiles • Communication most expensive. • Sync more expensive than Sendrecv.

  10. Code complexity • MPI more complex

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend