Initial Thoughts I
Initial Thoughts I
- Define a “clean” model for machine architecture
- Memory hierarchy including caches and geomterical (distributed) effects
- Define a low level “Program Execution Model” (PEM) which allows one to describe movement of information and computation in the machine
- This can be thought of as “MPI”/assembly language of the machine
- On top of low level PEM, one can build an hierarchical (layered) software model
- At the top of this layered software model, one finds objects or Problem Solving Environments (PSE’s)
- At an intermediate level there is Parallel C C++ or Fortran
- One can program at each layer of the software and augment it by “escaping” to a lower level to improve performance
- Directives (HPF assertions) and explicit insertion of lower level code (HPF extrinsics) are possible