CS528-PARALLEL NUMERICAL COMPUTING TIME: TUE- 6:10-8:50. SEC-209. INSTRUCTOR: Apostolos Gerasoulis, gerasoul@cs.rutgers.edu, CORE-309, x2725. OFFICE HOURS: Tu, Th 5-6 and by appointment. TA: Zhijian Lu, zhlu@paul, Core 338, Tel: 445-5373. SUMMARY: A. AN AD HOC INTRODUCTION TO PARALLEL PROGRAMMING MPI programming interface Point to point communication, Datatypes and Packing Collective Communications, Communicators, Topologies. Examples:Matrix Multiplication B. PARALLEL ARCHITECTURES Introduction to parallelism. Graph representation of parallelism and parallel architectures. Interconnection networks Topological properties. Communication algorithms. The hypercube architecture. Programming the NCUBE-2. C. PROGRAM PARTITIONING AND PARALLELISM IDENTIFICATION Data dependence in loops Data dependence analysis Loop Restructuring C. SCHEDULING. Static, Dynamic Algorithms granularity Clustering D TOOLS FOR PARALLEL PROCESSING. PlusPyr, PYRROS E ADVANCED APPLICATIONS Gaussian Elimination. Sparse Matrix NBODY computation. Iterative linear algebra. WORK: 30% HW, 35% Midterm and 35% Final Parallel programming projects + Regular HW. BOOKS: R-1. Parallel Computing, Kumar,Grama, Gupta, Karypis. R-2. Class Notes and papers. R-3. High Performance Compilers for Parallel Computing, M. Wolfe. R-4 MPI books[ 1. The complete Reference 2. Using MPI