We consider the analysis and optimization of code utilizing operations and functions operating on entire arrays. Models are developed for studying the minimization of the number of materializations of array-valued temporaries in basic blocks, each consisting of a sequence of assignment statements involving array-valued variables. We derive lower bounds on… (More)
An algorithm has been devised to compute the inner and outer product between two arbitrary multi-dimensional arrays A and B in a single piece of code. It was derived using A Mathematics of Arrays (MoA) and the ψ-calculus. Extensive tests of the new algorithm are presented for running in sequential as well as OpenMP multiple processor modes.
Our presentation will discuss the outer product/tensor product and a special case of the tensor product, the Kronecker Product: the algorithms, their origin, and optimal implementation when composed, and mapped to complex processor/memory hierarchies. We discuss how the use of MoA and the Psi Calculus, a calculus of indexing with shapes, provides optimal,… (More)