The book is intended as a programmer’s introduction to the use of SIMD on PCs. It presents the underlying technology of SIMD processing on current PCs and looks at tools to exploit this including the Intel SIMD library and the Parallel Processing Language Vector Pascal. It explains how to cast algorithms in parallel to exploit the parallel processing capability of standard PCs obtaining large performance gains relative to conventional sequential compilers.
It assumes a familiarity with imperative programming but not specifically with Pascal. It does not assume any prior familiarity with the SIMD programming model.
The language translation system will be available either as a downloadable for Linux or Windows in association with the book.
This book is aimed at practitioners with prior experience of imperative languages but not necessarily any familiarity with parallel programming techniques. It will be particularly useful for programmers in the rapidly growing area of games and multi-media entertainment, and it would also be useful to academics interested in parallel programming techniques or array programming languages.
Table of Contents
1. Computer speed, program speed
2. SIMD Instruction Sets
3. SIMD programming in assembler and C
4. Intel SIMD Instructions
5. 3DNow Instructions Part II
6. Another Approach: Data Parallel Languages
7. Basics of vector Pascal
8. Algorithmic features of Vector Pascal
9. User Defined Types
10. Input and Output
11. Permutations and Polymorphism Part III Programming Examples
12. Advanced Set Programming
13. Parallel Image Processing
14. Pattern Recognition and Image Compression
15. 3D Graphics Part IV
16. Introduction to VIPER Appendix A: Compiler Porting Tools Appendix B: Software Download Appendix C: Using the Command Line Compiler