A only in the context of matrix-vector multiplication. We believe that after reading this book, applications developers will be able to use templates to get their program running on a parallel machine quickly. Nonspecialists will know how to choose and implement an approach to solve a particular problem. Finally, we hope that all users will gain a better understanding of the algorithms employed. While education has not been one of the traditional goals of mathematical software, we believe that our approach will go a long way in providing such a valuable service.
Templates offer three significant properties.
First, templates are general and reusable. Thus, they can simplify ports to diverse machines. This feature is important given the ever-widening diversity of parallel architectures. Second, templates exploit the expertise of two distinct groups. The expert numerical analyst creates a template reflecting in-depth knowledge of a specific numerical technique.