A Partitioning Strategy for Nonuniform Problems on Multiprocessors
IEEE Transactions on Computers
Run-time scheduling and execution of loops on message passing machines
Journal of Parallel and Distributed Computing - Special issue: algorithms for hypercube computers
The structure of parafrase-2: an advanced parallelizing compiler for C and FORTRAN
Selected papers of the second workshop on Languages and compilers for parallel computing
A MIMD implementation of a parallel Euler solver for unstructured grids
The Journal of Supercomputing
User defined mappings in Vienna Fortran
ACM SIGPLAN Notices - Workshop on languages, compilers and run-time environments for distributed memory multiprocessors
Massively parallel methods for engineering and science problems
Communications of the ACM
Numerical experiences with partitioning of unstructured meshes
Parallel Computing
Data distributions for sparse matrix vector multiplication
Parallel Computing
A manual for the CHAOS runtime library
A manual for the CHAOS runtime library
Index array flattening through program transformation
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Efficient resolution of sparse indirections in data-parallel compilers
ICS '95 Proceedings of the 9th international conference on Supercomputing
Automatic Data Structure Selection and Transformation for Sparse Matrix Computations
IEEE Transactions on Parallel and Distributed Systems
Parallelization techniques for sparse matrix applications
Journal of Parallel and Distributed Computing - Special issue on compilation techniques for distributed memory systems
Extending HPF for Advanced Data-Parallel Applications
IEEE Parallel & Distributed Technology: Systems & Technology
Polaris: Improving the Effectiveness of Parallelizing Compilers
LCPC '94 Proceedings of the 7th International Workshop on Languages and Compilers for Parallel Computing
Efficient resolution of sparse indirections in data-parallel compilers
ICS '95 Proceedings of the 9th international conference on Supercomputing
Efficient support of parallel sparse computation for array intrinsic functions of Fortran 90
ICS '98 Proceedings of the 12th international conference on Supercomputing
Compile and Run-Time Support for the Parallelization of Sparse Matrix Updating Algorithms
The Journal of Supercomputing
A comparative study of the NAS MG benchmark across parallel languages and architectures
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
Array language support for parallel sparse computation
ICS '01 Proceedings of the 15th international conference on Supercomputing
Performance Prediction for Parallel Iterative Solvers
ICCS '02 Proceedings of the International Conference on Computational Science-Part II
IPDPS '00 Proceedings of the 15 IPDPS 2000 Workshops on Parallel and Distributed Processing
Data Locality Exploitation in Algorithms including Sparse Communications
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
HPF-2 Support for Dynamic Sparse Computations
LCPC '98 Proceedings of the 11th International Workshop on Languages and Compilers for Parallel Computing
Reducing Communication Cost for Parallelizing Irregular Scientific Codes
PARA '02 Proceedings of the 6th International Conference on Applied Parallel Computing Advanced Scientific Computing
Improving the Sparse Parallelization Using Semantical Information at Compile-Time
Euro-Par '00 Proceedings from the 6th International Euro-Par Conference on Parallel Processing
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
Gilgamesh: a multithreaded processor-in-memory architecture for petaflops computing
Proceedings of the 2002 ACM/IEEE conference on Supercomputing
IEEE Transactions on Computers
Performance Prediction for Parallel Iterative Solvers
The Journal of Supercomputing
Fast optimal load balancing algorithms for 1D partitioning
Journal of Parallel and Distributed Computing
Toward an automatic parallelization of sparse matrix computations
Journal of Parallel and Distributed Computing
Approaches Based on Permutations for Partitioning Sparse Matrices on Multiprocessors
The Journal of Supercomputing
The Journal of Supercomputing
The rise and fall of High Performance Fortran: an historical object lesson
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Data distribution schemes of sparse arrays on distributed memory multicomputers
The Journal of Supercomputing
Parallel Programmability and the Chapel Language
International Journal of High Performance Computing Applications
Model-guided autotuning of high-productivity languages for petascale computing
Proceedings of the 18th ACM international symposium on High performance distributed computing
User-defined distributions and layouts in chapel: philosophy and framework
HotPar'10 Proceedings of the 2nd USENIX conference on Hot topics in parallelism
Hi-index | 0.00 |
Vienna Fortran, High Performance Fortran (HPF), and other data parallel languages have been introduced to allow the programming of massively parallel distributed-memory machines (DMMP) at a relatively high level of abstraction, based on the SPMD paradigm. Their main features include directives to express the distribution of data and computations across the processors of a machine. In this paper, we use Vienna-Fortran as a general framework for dealing with sparse data structures. We describe new methods for the representation and distribution of such data on DMMPs, and propose simple language features that permit the user to characterize a matrix as "sparse" and specify the associated representation. Together with the data distribution for the matrix, this enables the compiler and runtime system to translate sequential sparse code into explicitly parallel message-passing code. We develop new compilation and runtime techniques, which focus on achieving storage economy and reducing communication overhead in the target program. The overall result is a powerful mechanism for dealing efficiently with sparse matrices in data parallel languages and their compilers for DMMPs.