Download presentation
Presentation is loading. Please wait.
1
(HPEC-LB) Outline Notes
Motivation / Paper Summary Applications Strategies Our Strategy Using Pete Integrate Psi Need a shape class Our strategy (shape.h) Implementation Performance Execution (20%) Conclusion Future work How can Psi be integrated? Iterators (briefly explain) (add pictures)
2
Memory Efficient Radar Processing
Paper: An Array Class with Shape and C++ Expression Templates by Lenore R. Mullin, Xingmin Luo and Lawrence A. Bush
3
Motivation Paper Summary
The objective of the paper/ and more generally our project is to enable efficient / fast array computations. Applications - This is important to many scientific programming applications such as dsp computations. Strategies - Various strategies have been used in this pursuit, for example 1,2,3. Our strategy is different from these strategies, but is related to the expression template strategies used in MTL and PETE. Our Strategy Using PETE (portable expression template engine). PETE is a library that facilitates loop unrolling for computations. This greatly speeds it up because it removes most temporary arrays from the computation. Integrate Psi with PETE In our paper, we take steps toward this goal. In order to do this, we wrote a specialized multi-dimensional array class which works with pete. This was needed in order to give pete n-dimensional capability. It will also serve as a platform to integrate Psi into PETE. As part of our paper, we tested the class to show that the performance of our class using pete was comparable to the performance of hand coded C for the same multi-dimensional array operations. Our strategy wants to extend pete to use psi calculus rules. Psi calculus rules are one strategy to significantly speed up computations because it reduces intermediate computations to index manipulations (putting it briefly) which has the added effect of elimination many intermediate arrays used to store intermediate computations. i.e. td convolution and moa design Paper Summary:
4
Array Class N – Dimensionl Psi-Calculus Platform Fast
Why do we need shape.h? A: so that we can do multi dimensional arrays in pete. We also want our array class to be extendable to use psi calculus.
5
Results:
6
Expression Tree + C + A B Show how it is evaluated (tree)
Explain that the nodes are just templated types and are not actually evaluated. The evaluation is done by the overloaded assignment operator rather than cascading operator overloading. A B
7
Type const Expression <BinaryNode<OpAdd, Reference<Array>,
&expr = A + B + C Show templated type for the A = B + C + D expression.
8
Future Work Psi – Calculus Implementation Benefit
Psi complements this (reverse). Psi will improve this (to remove temporaries) How to implement: 1-Iterator like concept. 2-Index composition using expression templates -> special scalar – like type that is copied by value but only performed once per array operation regardless of the matrix size. Removes more temporaries which pete cannot No intermediate computations on itself (i.e. reverse). Eliminates the entire loop (not merely reducing it to one (or the minimum number). Reduces loop to a constant time indexing operation rather than a loop calculation.
9
End There are currently universal (for any ADT) wait free methods but they have too much overhead to be efficient. Therefore, this paper shows a direct implementation that is more efficient. Valois’ uses a single word version of Compare&Swap which is commonly available on most systems.
10
Questions & Answers
11
Questions & Answers Q: If PETE can unroll loops and remove temporary arrays from the computation, what do we need Psi-calculus for? A: Psi-calculus rules can be used to remove temporary arrays from certain operations (i.e. reverse) where the array is the source and destination of the computation. PETE cannot do this. Also, Psi-calculus can not only alleviate intermediate storage needs; it also can convert certain loop computations to constant time index operations. PETE can only unroll a series of loops.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.