Wiley India Pvt Ltd
Algorithms & data structures
There is a software gap between the hardware potential and the performance that can be attained using today's software parallel program development tools. The tools need manual intervention by the programmer to parallelize the code. Programming a parallel computer requires closely studying the target algorithm or application, more so than in the traditional sequential programming we have all learned. The programmer must be aware of the communication and data dependencies of the algorithm or application. This book provides the techniques to explore the possible ways to program a parallel computer for a given application.
About the Author
Fayez Gebali has taught at the University of Victoria since 1986 and has served as the Associate Dean of Engineering for undergraduate programs since 2002. He has contributed to dozens of journals and technical reports and has completed four books. His primary research interests include VLSI Design, Processor Array Design, Algorithms for Computer Arithmetic, and Communication System Modeling, among others.
Table of Contents:
Preface. · List of Acronyms. · Introduction. · Enhancing Uniprocessor Performance. · Parallel Computers. · Shared-Memory Multiprocessors. · Interconnection Networks. · Concurrency Platforms. · AD HOC Techniques for Parallel Algorithms. · Non serial--Parallel Algorithms. · z-Transform Analysis. · Dependence Graph Analysis. · Computational Geometry Analysis. · Case Study: One-Dimensional IIR Digital Filters. · Case Study: Two- and Three-Dimensional Digital Filters. · Case Study: Multirate Decimators and Interpolators. · Case Study: Pattern Matching. · Case Study: Motion Estimation for Video Compression. · Case Study: Multiplication over GF(2m). · Case Study: Polynomial Division over GF(2). · The Fast Fourier Transform. · Solving Systems of Linear Equations. · Solving Partial Differential Equations Using Finite Difference Method. · References. · Index