International Journal of Parallel Programming
Supermatrix out-of-order scheduling of matrix operations for SMP and multi-core architectures
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures
SuperMatrix: a multithreaded runtime scheduling system for algorithms-by-blocks
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
Programming matrix algorithms-by-blocks for thread-level parallelism
ACM Transactions on Mathematical Software (TOMS)
Design and use of htalib: a library for hierarchically tiled arrays
LCPC'06 Proceedings of the 19th international conference on Languages and compilers for parallel computing
Hi-index | 0.00 |
The MaTRiX+/sup +/ system is a high-performance matrix computation environment. It provides support for the task of constructing efficient implementations for the complicated matrix structures that arise in modern scientific and engineering applications. The foundation for this system is a hierarchical matrix algebra that defines hierarchical representations for structured matrices and recursive implementations for matrix operations. In this paper, we discuss additions to the MaTRiX+/sup +/ language interface and compilation model that support applications written for distributed-memory parallel supercomputers. The language extensions provide methods for describing hierarchical data and computation distribution over the separate memories and processors of the target architecture. The compilation approach utilizes this distribution information in order to construct data-driven single-program, multiple-data (SPMD) processor programs. The high level of abstraction of the system encourages rapid prototyping without sacrificing efficiency.