A Block-Oriented Language and Runtime System for Tensor Algebra with Very Large Arrays
SESSION: Programming Models
EVENT TYPE: Paper
TIME: 2:30PM - 3:00PM
SESSION CHAIR: Kenjiro Taura
AUTHOR(S):Beverly A. Sanders, Rod Bartlett, Erik Deumens, Victor Lotrich, Mark Ponton
ABSTRACT: Important classes of problems in computational chemistry, notably coupled cluster methods, consist of solutions to complicated expressions defined in terms of tensors. Tensors are represented by multidimensional arrays that are typically extremely large, thus requiring distribution or in some cases backing on disk. We describe a parallel programming environment, the Super Instruction Architecture (SIA) comprising a domain specific programming language SIAL and its runtime system SIP that are specialized for this class of problems. A novel feature of the programming language is that SIAL programmers express algorithms in terms of operations on blocks rather than individual floating point numbers. Efficient implementations of the block operations as well as management of memory, communication, and I/O are provided by the runtime system. The system has been successfully used to develop ACES III, a software package for computational chemistry.