Escolar Documentos
Profissional Documentos
Cultura Documentos
Outline
Description (1)
enhancements for single-processor computers Data locality, cache optimizations, data dependences, loop optimizations Parallel computer architectures Parallel computing performance metrics Message-passing programming using MPI Shared-memory programming using OpenMP and P-threads Dense matrix algorithms Sorting algorithms
Description (2)
Goals
Mastery of fundamental performance issues for parallel and serial computing Familiarity with shared-memory and message passing architectures and models for parallel program development Hands-on experience in designing and implementing efficient algorithms for high-performance computers Familiarity with the current state-of-art in parallel programming environments, portable software libraries, and program development
is a prerequisite You should be comfortable with algorithm descriptions and implementations in a high-level programming language
Computer organization
CS223
Programming in C/C++
Majority of Matrix
Linear algebra
operations, systems of linear equations
5
Grading
Points distribution
Policies (1)
Quizzes
Quizzes
Sharing
No
copying is allowed for assignments. Discussions are encouraged; however, you must submit your own work Violators can face mark reduction and/or reported to Disciplinary Committee for action
Plagiarism
Do
NOT pass someone elses work as yours! Write in your words and cite the reference. This applies to code as well. Violators can face mark reduction and/or reported to Disciplinary Committee for action
CS 524 - High-Performance Computing (Au 2005-2006) - Asim Karim @ LUMS 8
Policies (2)
Submission policy
Submissions
are due at the day and time specified Late penalties: 1 day = 10%; 2 day late = 20%; not accepted after 2 days An extension will be granted only if there is a need and when requested several days in advance.
Classroom behavior
Maintain classroom sanctity by
remaining quiet and attentive If you have a need to talk and gossip, please leave the classroom so as not to disturb others Dozing is allowed provided you do not snore loud
Introduction to single- and multi-processor computing models and architectures Cache tuning and characterization Data locality, data dependences, loop optimization Parallel computer performance metrics, interconnection networks Message-passage programming in MPI Shared-memory programming in OpenMP and PThreads Parallel dense matrix and sorting algorithms
10
Course Material
Text
Introduction to Parallel Computing, A. Grama, A. Gupta, G. Karypis, and V. Kumar, 2nd edition, Addison Wesley, 2003.
Reference texts
Software Optimization for High Performance Computing, K.R. Wadleigh and I.L. Crawford, Prentice Hall, 2000. The Sourcebook of Parallel Computing, W. Gropp et al., Mrogan Kaufmann, 2003. Using MPI Portable Parallel Programming with the Message-Passing Interface, 2nd Ed., W. Gropp, E. Lusk, A. Skjellum, MIT Press, 1999. Parallel Programming in OpenMP, R. Chandra et al., Academic Press, 2001.
CS 524 - High-Performance Computing (Au 2005-2006) - Asim Karim @ LUMS 11
For announcements, lecture slides, handouts, assignments, solutions, web resources: http://suraj.lums.edu.pk/~cs524a05/
The resource page has links to information available on the Web. It is basically a meta-list for finding further information.
12
Other Stuff
hours: 11.40 to 13.00 TR (office: 429) E-mail: akarim@lums.edu.pk Please see me during my office hours only. If you need to see me at another time, send me an e-mail for an appointment.
Philosophy
Knowledge
cannot be taught; it is learned. Be excited. That is the best way to learn. I cannot teach everything in class. Develop an inquisitive mind, ask questions, and go beyond what is required. I dont believe in strict grading. But there has to be a way of rewarding performance.
CS 524 - High-Performance Computing (Au 2005-2006) - Asim Karim @ LUMS 13
High Performance Cluster Computing: Programming and Applications, Volume 2, Rajkumar Buyya (Editor), 1999. Parallel Programming Techniques and Applications Using Networked Workstations and Parallel Computers, B. Wilkinson and M. Allen, 1999, 5.3W686P. Introduction to Parallel Processing, Sasikumar et al., Prentice Hall of India, 2000. Parallel Computer Architecture: A Hardware/Software Approach, D.E. Culler et al., 1999. Computer Organization, Hamacher et al., 2002. Computer Organization and Architectural Design for Performance, W. Stalling, 2000. Using MPI-2: Advanced Features of the Message Passing Interface, Gropp et al., 1999. High Performance Linux Clusters: With OSCAR, Rocks, OpenMosix, and MPI, J.D. Sloan, Sebastopol, 2005. How to Build a Beowulf, T.L. Sterling et al., 1999. Beowulf Cluster Computing With Linux/Windows, T.L. Sterling (ed.), 2002, 5.43 B481. Parallel I/O for High Performance Computing, J.M. May, 2001.
14