AMSC 662/ CMSC 662: Computer Organization and Programming for Scientific Computing
Class: TuTh......12:30pm- 1:45pm (JMP 3120)
Office Hours: by appointment, in AVW 3365.
Instructor: Ramani Duraiswami E-mail: ramani AT umiacs.umd.edu;
Textbook: Prof. Stewart’s introductory textbook (in preparation) - chapters will be posted here. We thank Prof. Stewart for graciously providing these.
Another useful textbook is “Computer Systems: A Programmer’s Perspective” - by Bryant and O’Hallaron
This course will have regular homework and a project (in addition to exams). Class participation is required.
Collaboration Policy: You may study together and discuss problems and methods of solution with each other to improve your understanding. You are welcome to discuss assignments in a general way among yourselves, and on joint projects. However, you must clearly cite where this is the case.
Note to Computer Science Students: This course is NOT a valid qualifying course for MS or Phd. It can be used as one of the additional courses.
You are responsible for checking this page.
Policy: Honor code http://www.studenthonorcouncil.umd.edu/code.html
Grading: Exams: 45%, Homework/Project: 45%, Class/Forums Participation 10%
Classweb page: http://www.umiacs.umd.edu/~ramani/cmsc662/
DATE |
LECTURE |
CONTENTS |
Reading/Remarks |
09/01, 2009 (Tuesday) |
Introduction to the course. Introductions. Grading. What the course is about. Participation. Projects.
|
|
|
09/03, 2009 (Thursday) |
A model for the computer. Chapter 1 of Prof. Stewart’s book draft |
G. Moore, "Cramming More Components onto integrated circuits," Electronics, 38, 1965 |
|
09/08, 2009 (Tuesday) |
Data representation on the computer Bits, Bytes, Words; Alignment; Integers; Floating Point Chapter 2 of Prof. Stewart’s book draft |
|
|
09/10, 2009 (Thursday) |
|
Floating point, character data; Measuring computer performance |
|
09/15, 2009 (Tuesday) |
|
Memory system Chapter 4 of Prof. Stewart’s book draft |
|
09/17, 2009 (Thursday) |
Cache |
|
|
09/22, 2009 (Tuesday) |
Cache aware programming |
See slides 26-51 of the CMU course for the memory mountain and matrix multiplication examples |
|
09/24, 2009 (Thursday) |
Lecture 8 |
Libraries: BLAS, LINpack, LApack,
|
Page Faults and TLBs : UCF slides |
09/29, 2009 (Tuesday) |
Instruction pipelining Chapter 3 of Prof. Stewart’s book draft |
|
|
10/01, 2009 (Thursday) |
No Class |
|
|
10/06, 2009 (Tuesday) |
Loop Partitioning Vector Instructions SIMD, SSE and Vector instructions on current processors |
Wikipedia entries: SIMD, SSE, SSE2, SSE3,·(SSSE3),·SSE4,·SSE5,· AVX,·CVT16,·FMA3,·FMA4,·XOP |
|
10/08, 2009 (Thursday) |
Languages C, F77, F95 |
Chapter 6 of Prof. Stewart’s book draft |
|
10/13, 2009 (Tuesday) |
Lecture 12 (slides above) |
Pointers and arrays; matrices in Fortran |
|
10/15, 2009 (Thursday) |
(matrix slides above) |
Matrices in C.
Parallel programming |
|
10/20, 2009 (Tuesday) |
|
Exam |
|
10/22, 2009 (Thursday) |
Parallel programming (see slides above) Introduction to Open MP |
|
|
10/27, 2009 (Tuesday) |
Lecture 15 |
Open MP (continued) Homework (see class discussion and email) |
Please go to this link and activate your TerpConnect account Email mcnabb AT umd.edu and cc-me when you are done |
10/29, 2009 (Thursday) |
Open MP (conclusion) MPI |
Everybody should have their account now … Instructions on the cluster are at |
|
11/03, 2009 (Tuesday) |
MPI (conclusion) Try a few of the MPI examples in the homework (no submission) |
||
11/05, 2009 (Thursday) |
Lecture 18 |
||
11/10, 2009 (Tuesday) |
GPU Computing |
Guest lecture by Balaji Vasan Srinivasan |
|
11/12, 2009 (Thursday) |
Lecture 20 (see above) |
GPU Computing |
|
11/17, 2009 (Tuesday) |
Lecture 21 |
Case Study: Fast Multipole Methods on Graphics Processors |
|
11/19, 2009 (Thursday) |
Heap/Stack Compilers |
|
|
11/24, 2009 (Tuesday) |
Compilers Profiling code |
|
|
11/26, 2009 (Thursday) |
No Class |
Thanksgiving |
|
12/01, 2009 (Tuesday) |
Lecture 24 |
Threads |
|
12/03, 2009 (Thursday) |
Lecture 25 |
Project Presentation John Tritschler, Kathryn Lienehan, Chatt Williamson, Ondrej Juhasz & Patrick Betoney, Anzi Hu, Peter Copp |
|
12/08, 2009 (Tuesday) |
Lecture 26 |
Project Presentation Yun Zhou, Sebastian Thomas, Vikram H., Kan Yang, Ria Malhan, Alfredo Nava Tudela, Cal Sargent, Monica Syal |
|
12/10, 2009 (Thursday) |
Lecture 27 |
Project Presentation Minghao Wu, Moble Benedict, Taran Kalra, Tim Doster, Tim Dewey, Vasilis Sotiris, Viktoria Taroudakis, Matthew Adams |
|
12/18/2009 |
1:30pm-3:30pm |
|
|
|
|
|
|
Useful Links