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
Signal processing algorithms in Fortran and C
Signal processing algorithms in Fortran and C
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
Issues in scalable library design for massively parallel computers
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
An array operation synthesis scheme to optimize Fortran 90 programs
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
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
A MATLAB to Fortran 90 translator and its effectiveness
ICS '96 Proceedings of the 10th 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
A function-composition approach to synthesize Fortran 90 array operations
Journal of Parallel and Distributed Computing
FORTRAN 95 Handbook
An experimental APL compiler for a distributed memory parallel machine
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Compiling Communication-Efficient Programs for Massively Parallel Machines
IEEE Transactions on Parallel and Distributed Systems
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
Compiler Optimizations for Parallel Sparse Programs with Array Intrinsics of Fortran 90
ICPP '99 Proceedings of the 1999 International Conference on Parallel Processing
High Performance Data Mining using Data Cubes on Parallel Computers
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
ScalParC: A New Scalable and Efficient Parallel Classification Algorithm for Mining Large Datasets
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
(R) Array Operation Synthesis to optimize HPF Programs
ICPP '96 Proceedings of the Proceedings of the 1996 International Conference on Parallel Processing - Volume 3
IEEE Transactions on Parallel and Distributed Systems
IEEE Transactions on Computers
Approaches Based on Permutations for Partitioning Sparse Matrices on Multiprocessors
The Journal of Supercomputing
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. Each of these array intrinsic functions operates on the elements of multi-dimensional array objects concurrently. They provide a rich source of parallelism and play an increasingly important role in automatic support of data parallel programming. However, there is no such support if these intrinsic functions are applied to sparse data sets. In this paper, we address this open gap by presenting an efficient library for parallel sparse computations with Fortran 90 array intrinsic operations. Our method provides both compression schemes and distribution schemes on distributed memory environments applicable to higher-dimensional sparse arrays. This way, programmers need not worry about low-level system details when developing sparse applications. Sparse programs can be expressed concisely using array expressions, and parallelized with the help of our library. Our sparse libraries are built for array intrinsics of Fortran 90, and they include an extensive set of array operations such as CSHIFT, EOSHIFT, MATMUL, MERGE, PACK, SUM, RESHAPE, SPREAD, TRANSPOSE, UNPACK, and section moves. Our work, to our best knowledge, is the first work to give sparse and parallel sparse supports for array intrinsics of Fortran 90. In addition, we provide a complete complexity analysis for our sparse implementation. The complexity of our algorithms is in proportion to the number of nonzero elements in the arrays, and that is consistent with the conventional design criteria for sparse algorithms and data structures. Our current testbed is an IBM SP2 workstation cluster. Preliminary experimental results with numerical routines, numerical applications, and data-intensive applications related to OLAP (on-line analytical processing) show that our approach is promising in speeding up sparse matrix computations on both sequential and distributed memory environments if the programs are expressed with Fortran 90 array expressions.