A Partitioning Strategy for Nonuniform Problems on Multiprocessors
IEEE Transactions on Computers
Partitioning sparse matrices with eigenvectors of graphs
SIAM Journal on Matrix Analysis and Applications
Supercompilers for parallel and vector computers
Supercompilers for parallel and vector computers
Performance of dynamic load balancing algorithms for unstructured mesh calculations
Concurrency: Practice and Experience
The high performance Fortran handbook
The high performance Fortran handbook
Runtime compilation techniques for data partitioning and communication schedule reuse
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
Compiling Fortran 90D/HPF for distributed memory MIMD computers
Journal of Parallel and Distributed Computing - Special issue on data parallel algorithms and programming
Journal of Parallel and Distributed Computing - Special issue on scalability of parallel algorithms and architectures
Compile-Time Techniques for Data Distribution in Distributed Memory Machines
IEEE Transactions on Parallel and Distributed Systems
Integrating task and data parallelism using shared objects
ICS '96 Proceedings of the 10th international conference on Supercomputing
Parallelizing Molecular Dynamics Programs for Distributed-Memory Machines
IEEE Computational Science & Engineering
Runtime Support and Compilation Methods for User-Specified Irregular Data Distributions
IEEE Transactions on Parallel and Distributed Systems
Portable and scalable algorithm for irregular all-to-all communication
Journal of Parallel and Distributed Computing
A Virtual Memory Model for Parallel Supercomputers
IPPS '96 Proceedings of the 10th International Parallel Processing Symposium
HPF-2 Support for Dynamic Sparse Computations
LCPC '98 Proceedings of the 11th International Workshop on Languages and Compilers for Parallel Computing
PARADEIS: An Object Library for Parallel Sparse Array Computation
ParNum '99 Proceedings of the 4th International ACPC Conference Including Special Tracks on Parallel Numerics and Parallel Computing in Image Processing, Video Processing, and Multimedia: Parallel Computation
Hi-index | 0.00 |
This article presents methods that make it possible to efficiently support irregular problems using data-parallel languages. The approach involves the use of a portable, compiler-independent, runtime support library called CHAOS. The CHAOS runtime support library contains procedures that support static and dynamic distributed array partitioning, partition loop iterations and indirection arrays, remap arrays from one distribution to another, and carry out index translation, buffer allocation and communication schedule generation. The CHAOS runtime procedures are used by a prototype Fortran 90D compiler as runtime support for irregular problems. This article also presents performance results of compiler-generated and hand-parallelized versions of two stripped-down applications codes. The first code is derived from an unstructured mesh computational fluid dynamics flow solver and the second is derived from the molecular dynamics code CHARMM. A method is described that makes it possible to emulate irregular distributions in HPF by reordering elements of data arrays and renumbering indirection arrays. The results suggest that an HPF compiler could use reordering and renumbering extrinsic functions to obtain performance comparable to that achieved by a compiler for a language (such as Fortran 90D) that directly supports irregular distributions.