ACM Transactions on Mathematical Software (TOMS)
Data optimization: allocation of arrays to reduce communication on SIMD machines
Journal of Parallel and Distributed Computing - Massively parallel computation
The data alignment phase in compiling programs for distributed-memory machines
Journal of Parallel and Distributed Computing
Sparse matrices in matlab: design and implementation
SIAM Journal on Matrix Analysis and Applications
Automatic array alignment in data-parallel programs
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The high performance Fortran handbook
The high performance Fortran handbook
PARADIGM: a compiler for automatic data distribution on multicomputers
ICS '93 Proceedings of the 7th international conference on Supercomputing
Automatic alignment of array data and processes to reduce communication time on DMPPs
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
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
Numerical recipes in Fortran 90 (2nd ed.): the art of parallel scientific computing
Numerical recipes in Fortran 90 (2nd ed.): the art of parallel scientific computing
Automatic data layout for distributed-memory machines
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Linear Algebra Framework for Automatic Determination of Optimal Data Layouts
IEEE Transactions on Parallel and Distributed Systems
Next-generation generic programming and its application to sparse matrix computations
Proceedings of the 14th international conference on Supercomputing
Parallel Sparse Supports for Array Intrinsic Functions of Fortran 90
The Journal of Supercomputing
Compiling Communication-Efficient Programs for Massively Parallel Machines
IEEE Transactions on Parallel and Distributed Systems
Sparse Matrix Block-Cyclic Redistribution
IPPS '99/SPDP '99 Proceedings of the 13th International Symposium on Parallel Processing and the 10th Symposium on Parallel and Distributed Processing
New data-parallel language features for sparse matrix computations
IPPS '95 Proceedings of the 9th International Symposium on Parallel Processing
Run-Time Techniques for Parallelizing Sparse Matrix Problems
IRREGULAR '95 Proceedings of the Second International Workshop on Parallel Algorithms for Irregularly Structured Problems
Probabilistic Inference Schemes for Sparsity Structures of Fortran 90 Array Intrinsics
ICPP '02 Proceedings of the 2001 International Conference on Parallel Processing
Aligning parallel arrays to reduce communication
FRONTIERS '95 Proceedings of the Fifth Symposium on the Frontiers of Massively Parallel Computation (Frontiers'95)
Compiler Optimizations for Parallel Sparse Programs with Array Intrinsics of Fortran 90
ICPP '99 Proceedings of the 1999 International Conference on Parallel Processing
The SPARAMAT Approach to Automatic Comprehension of Sparse Matrix Computations
IWPC '99 Proceedings of the 7th International Workshop on Program Comprehension
Approaches Based on Permutations for Partitioning Sparse Matrices on Multiprocessors
The Journal of Supercomputing
Data distribution schemes of sparse arrays on distributed memory multicomputers
The Journal of Supercomputing
Hi-index | 0.00 |
Fortran 90 provides a rich set of array intrinsic functions that are useful for representing array expressions and data parallel programming. However, the application of these intrinsic functions to sparse data sets in distributed memory environments, is currently not supported by vendors of Fortran 90 and HPF compilers. Our recent research work has been aimed at, providing parallel processing supports for sparse array intrinsics of Fortran 90. Our supporting library uses the following two-level design: (1) in our low-level routines, a sparse input matrix needs to be specified with compression/distribution schemes by programmers, and (2) in the high-level representation, sparse array functions are overloaded for array intrinsic interfaces so that programmers need not be concerned about low-level details. This raises a very interesting optimization problem in the strategies used to transform high-level representations to low-level routines by the automatic selection of distribution and compression schemes for sparse data sets. In this paper, we propose solutions to address this optimization problem, which is shown to be NP-hard. We develop a heuristic algorithm based on annotated program graphs. To the best of our knowledge, our selection scheme, is the first to automatically select compression and distribution schemes for sparse data arrays with the array intrinsics of Fortran 90 in a distributed memory environment. Experimental results show that our selection algorithms are consistent with our cost model, and effective in selecting appropriate compression and distribution schemes for improving the performance of application programs that operate on sparse data sets. Our experiments were performed on an IBM SP-2 machine using our parallel sparse array intrinsics for Fortran 90.