Abstract
Three paradigms for distributed-memory parallel computation that free application programmer from details of message passing are compared for an archetypal structured scientific computation -- a nonlinear, structured-grid partial differential equation boundary value problem -- using same algorithm on same hardware. All of paradigms -- parallel languages represented by Portland Group's HPF, (semi-)automated serial-to-parallel source-to-source translation represented by CAP-Tools from University of Greenwich, and parallel libraries represented by Argonne's PETSc -- are found to be easy to use for this problem class, and all are reasonably effective in exploiting concurrency after a short learning curve. The level of involvement required by application programmer under any paradigm includes specification of data partitioning, corresponding to a geometrically simple decomposition of domain of PDE. Programming in SPMD style for PETSc library requires writing only routines that discretize PDE and its Jacobian, managing subdomain-to-processor mappings (affine global-to-local index mappings), and interfacing to library solver routines. Programming for HPF requires a complete sequential implementation of same algorithm as a starting point, introduction of concurrency through subdomain blocking (a task similar to index mapping), and modest experimentation with rewriting loops to elucidate to compiler latent concurrency. Programming with CAPTools involves feeding same sequential implementation to CAPTools interactive parallelization system, and guiding source-to-source code transformation by responding to various queries about quantities knowable only at runtime. Results representative of the state of practice for a scaled sequence of structured grid problems are given on three of most important contemporary high-performance platforms: IBM SP, SGI Origin 2000, and CRAYY T3E.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have