Building the Support for Radar Processing across Memory Hierarchies: On the Development of an Array Class with Shapes using Expression Templates in C++*
Abstract
"Embedded software processing requirements for DSP, especially for radar, are expected to exceed 1 x 10 (exp 12) operations per second within five years 3." Therefore, the efficient use of memory at all levels of the hierarchy is essential. These array based computations involve the composition of linear and multi-linear operators. Previous work illustrated how a general array algebra (MoA), and a "suitably rich compatible index calculus 3" (Psi-Calculus), could be used to develop software for radar and other DSP applications. This software needs to be tuned to use the levels of memory hierarchies efficiently without the materialization of array valued temporaries 3. Monolithic compiler experiments presented in 4 illustrated how these theories could be mechanized using expression templates in C++. The present work continues these investigations by defining an N-dimensional array class with shape in order to support the mechanization of linear transformations in the Psi-Calculus (Psi -Calculus). We show that this class extends the support for array operations in the Portable Expression Template Engine ?<PETE>! while offering performance that is competitive with hand coded C. Such extensions are needed to support the dimension lifting which maps arrays to all levels of a memory/processor hierarchy.
Document Details
- Document Type
- Technical Report
- Publication Date
- Aug 07, 2003
- Accession Number
- ADA428924
Entities
People
- Lawrence A. Bush
- Lenore R. Mullin
- Xingmin Luo
Organizations
- State University of New York at Albany