next up previous contents
Next: Introduction Up: Towards Efficient Compilation of Previous: List of Tables   Contents


List of Figures

  1. Idealized picture of a distributed memory parallel computer
  2. A data distribution leading to excessive communication
  3. A data distribution leading to poor load balancing
  4. An ideal data distribution
  5. Alignment of the three arrays in the LU decomposition example
  6. Collective communications with 6 processes.
  7. Simple sequential irregular loop.
  8. PARTI code for simple parallel irregular loop.
  9. The process grids illustrated by p
  10. The Group hierarchy of HPJava.
  11. The process dimension and coordinates in p.
  12. A two-dimensional array distributed over p.
  13. A parallel matrix addition.
  14. Mapping of x and y locations to the grid p.
  15. Solution for Laplace equation by Jacobi relaxation in HPJava.
  16. The HPJava Range hierarchy.
  17. Work distribution for block distribution.
  18. Work distribution for cyclic distribution.
  19. Solution for Laplace equation using red-black with ghost regions in HPJava.
  20. A two-dimensional array, a, distributed over one-dimensional grid, q.
  21. A direct matrix multiplication in HPJava.
  22. Distribution of array elements in example of Figure 3.13. Array a is replicated in every column of processes, array b is replicated in every row.
  23. A general matrix multiplication in HPJava.
  24. A one-dimensional section of a two-dimensional array (shaded area).
  25. A two-dimensional section of a two-dimensional array (shaded area).
  26. The dimension splitting in HPJava.
  27. N-body force computation using dimension splitting in HPJava.
  28. The HPJava Architecture.
  29. Part of the lattice of types for multiarrays of int.
  30. Example of HPJava AST and its nodes.
  31. Hierarchy for statements.
  32. Hierarchy for expressions.
  33. Hierarchy for types.
  34. The architecture of HPJava Front-End.
  35. Example source program before pre-translation.
  36. Example source program after pre-translation.
  37. Translation of a multiarray-valued variable declaration.
  38. Translation of multiarray creation expression.
  39. Translation of on construct.
  40. Translation of at construct.
  41. Translation of overall construct.
  42. Translation of multiarray element access.
  43. Translation of array section with no scalar subscripts.
  44. Translation of array section without any scalar subscripts in distributed dimensions.
  45. Translation of array section allowing scalar subscripts in distributed dimensions.
  46. Partial Redundancy Elimination
  47. Simple example of Partial Redundancy of loop-invariant
  48. Before and After Strength Reduction
  49. Translation of overall construct, applying Strength Reduction.
  50. The innermost for loop of naively translated direct matrix multiplication
  51. Inserting a landing pad to a loop
  52. After applying PRE to direct matrix multiplication program
  53. Optimized HPJava program of direct matrix multiplication program by PRE and SR
  54. The innermost overall loop of naively translated Laplace equation using red-black relaxation
  55. Optimized HPJava program of Laplace equation using red-black relaxation by HPJOPT2
  56. Performance for Direct Matrix Multiplication in HPJOPT2, PRE, Naive HPJava, Java, and C on the Linux machine
  57. Performance comparison between 150 $ \times $ 150 original Laplace equation from Figure 3.11 and split version of Laplace equation.
  58. Memory locality for loop unrolling and split versions.
  59. Performance comparison between 512 $ \times $ 512 original Laplace equation from Figure 3.11 and split version of Laplace equation.
  60. 3D Diffusion Equation in Naive HPJava, PRE, HPJOPT2, Java, and C on Linux machine
  61. Q3 Index Algorithm in HPJava
  62. Performance for Q3 on Linux machine
  63. Performance for Direct Matrix Multiplication on SMP.
  64. 512 $ \times $ 512 Laplace Equation using Red-Black Relaxation without Adlib.writeHalo() on shared memory machine
  65. Laplace Equation using Red-Black Relaxation on shared memory machine
  66. Laplace Equation using Red-Black Relaxation on distributed memory machine
  67. 3D Diffusion Equation on shared memory machine
  68. 3D Diffusion Equation on distributed memory machine
  69. Q3 on shared memory machine
  70. A simple Jacobi program in ZPL.
  71. Running an HPJava Swing program, Wolf.hpj.
Abstract

Bryan Carpenter 2004-06-09