Serial and Parallel Performance Code Sourcery LLC September
Serial and Parallel Performance Code. Sourcery, LLC September 23, 2003 www. codesourcery. com
Design Path m is l e l l ra y t i v i uct Prod y Per ce n a form it l i b a Port Pa + + L P I VS 2 www. codesourcery. com
Specification Status • Serial Specification – 216 -page draft. – Under review by VSIPL Forum. • Parallel Specification – 24 -page preliminary draft. – Initial conceptual review complete. 3 www. codesourcery. com
Serial Performance • Uses VSIPL reference implementation. – Not the fastest implementation… – … but the relative performance is important. • Environment: – 2 GHz Pentium-M – 512 KB cache, 512 MB RAM – GNU/Linux, G++ 3. 4 4 www. codesourcery. com
Matrix/Vector 5 www. codesourcery. com
Matrix/Matrix 6 www. codesourcery. com
Checked Vector Access 7 www. codesourcery. com
Performance Conclusions • VSIPL++ has approximately zero overhead. – Memory effects actually enable VSIPL++ to outperform VSIPL. – Expression-template techniques may also improve performance. • Exceptions are expensive. – We are not sure if this overhead can be eliminated. • Reference implementation will be directly useful. – Vendor-optimized versions will probably be better. 8 www. codesourcery. com
Parallelism • Target systems: – Support 1 -64 K+ processors. – Support MPI, POSIX threads. • Conceptual model: – Single-program multiple-data model. – Owner computes. – Parallelism requires changing only declarations, not expressions. 9 www. codesourcery. com
Parallel VSIPL++ Model view 0 view 1 block 0 view 2 view 3 block 1 block 2 data distribution user program map grid function processors 10 hardware www. codesourcery. com
Using Parallelism • Declaration: Vector<double, Dense<1, double, Map<Block> > > v (17, 1. 0, Block(4)); • Meaning: – 17: Vector length. – 1. 0: Intial value. – Block(4): Block distribution over 4 processors. 11 www. codesourcery. com
FYO 4 Objectives • Specification: – Finalize serial and parallel specifications. – Get approval from VSIPL Forum. • Implementation: – Finish serial implementation. – Draft parallel implementation. • Measurement: – Performance analysis. 12 www. codesourcery. com
Contact Information • Mark Mitchell mark@codesourcery. com • Jeffrey Oldham oldham@codesourcery. com • Nathan Sidwell nathan@codesourcery. com 13 www. codesourcery. com
Serial and Parallel Performance Code. Sourcery, LLC September 23, 2003 www. codesourcery. com
- Slides: 14