Data Parallelism for Engineering Applications: HPF, HPF2 and JaHPF

14.01.02


Start Lecture by clicking here


Content

Author: Rolf Rabenseifner

  1. Data Parallelism for Engineering Applications: HPF, HPF2 and JaHPF
  2. Outline, Introduction
  3.     Multicomputer
  4.     Multiprocessor
  5.     Goals of HPF
  6.     HPF - History
  7. Data Distribution
  8.     Goals of Data-Mapping
  9.     Concept of Data-Mapping
  10.     Problem-Mapping: TEMPLATE, ALIGN and REALIGN
  11.     Processor-Mapping: PROCESSORS, DISTRIBUTE and REDISTRIBUTE
  12.     Example: Serial code
  13.     Example: Data distribution
  14.     Distribution matrix * vector
  15.     Limitations of Data Distribution
  16.     Compile & Run
  17.     PGHPF Compiler-Syntax
  18.     The PGI HPF-Compilation System
  19.     Exercise 1: Matrix multiplication (i)
  20.     Exercise 1: Matrix multiplication (i) continued
  21.     Exercise 1: Matrix multiplication (i) Results
  22.     Possible distributions
  23. Independent Loops
  24.     Motivation: Independent loops
  25.     Expression of Parallelism: INDEPENDENT
  26.     Expression of Parallelism: FORALL
  27.     Expression of Parallelism: FORALL (continued)
  28.     WHERE-statement
  29.     Exercise 2: Matrix multiplication (ii)
  30.     Exercise 2: Matrix multiplication (ii) continued
  31. Pure, Reduction
  32.     The PURE attribut
  33.     Expression of Parallelism: PURE Procedures
  34.     HPF-2: Parallelism: Loop-Reductions
  35.     Example: Reduction
  36.     The Set-Compute-Rule
  37.     Communication-Rules
  38.     Expression of Parallelism: Execute ON HOME
  39.     Exercise 3: Derivation
  40.     Exercise 3: Derivation (continued)
  41. Shadows, Intrinsic Functions
  42.     Intrinsics
  43.     HPF and intrinsics
  44.     Intrinsic types
  45.     Intrinsic types
  46.     HPF-2: Distribution with Shadowing
  47.     Exercise 4: Second derivation
  48.     Exercise 4: Second derivation (continued)
  49. Kinds of Distribution
  50.     Communication-Requirements
  51.     Communication: BLOCK
  52.     Communication: BLOCK, Non-Matching Dimensions
  53.     Communication: CYCLIC
  54.     Communication: CYCLIC, Non-Matching Dimensions
  55.     Effort of communication
  56.     Common blocks
  57.     Example: common blocks
  58.     Problems in HPF
  59.     Example: common blocks
  60.     HPF-2: Parallelism: Loop-Reductions
  61.     Exercise 5: Block Distribution
  62.     Exercise 5: Block Distribution (continued)
  63. Features of HPF 2.0
  64.     HPF-2 and Approved Extensions
  65.     HPF-2: Distribution to Processor-Subsets
  66.     HPF-2: Irregular Distributions
  67.     HPF-2: Distribution with Flexible Blocksize
  68.     HPF-2: Distribution of Derived Type Components
  69.     Communication: Remarks
  70.     Minimising Communication
  71.     HPF-2: Asynchronous I/O
  72.     HPF-2: Approved Extensions, Deletions & Changes
  73.     Exercise 6: Multiplication: sparse matrix * vector
  74.     Exercise 6: Multiplication: sparse matrix * vector (continued)
  75. Summary
  76.     Granularity, Architecture and Comfort
  77.     Usability of HPF in CFD
  78.     Programming-Models for NUMA
  79.     HPF-Products
  80.     Exercise 7: A heat transfer example
  81.     Exercise 7: A heat transfer example (continued)
  82. JaHPF
  83.     HPF/JA 1.0
  84.     HPF problems
  85.     HPF extensions overview
  86.     HPF/JA 1.0 - overview
  87.     HPF/JA 1.0 - reduction kind
  88.     HPF/JA 1.0 - asynchronous communication
  89.     HPF/JA 1.0 - shadow extensions
  90.     HPF/JA 1.0 - shadow extensions
  91.     HPF/JA 1.0 - REFLECT / LOCAL directive
  92.     HPF/JA 1.0 - ON_EXT Clause
  93.     HPF/JA 1.0 - communication pattern reuse
  94.     HPF/JA 1.0 - parallelization patterns and HPF capabilities
  95. HPF-Info
  96.     HPF-Info

Back to the Parallel Programming Workshop Overview