High Performance Computer Architecture (CS60003) Spring 2020

This course introduces the principles of High Performance Computer Architecture. It aims to teach you the foundational principles of Computer Architecture. The goal of this course is to give you a foundation for further study Computer Architecture and help you to better understand how can you design primitives to build high performing systems. See the course schedule for details.


Instructors


Teaching Assistants


Course Information

Prerequisites We will use basic concepts from Computer Architecture to begin our course.
Lectures Lecture timings are:

Monday 10:00 - 11:00 am
Wednesday 08:00 - 10:00 am
Thursday 10:00 - 11:00 am

However, this semester we will conduct the course online with a mix of live lectures, pre-recorded course videos and online doubt clearing sessions. Please keep and eye on the Schedule page for the latest updates. 
Textbooks and References We will be using:

1. Microprocessor Architecture, Jean Loup Baer.
2. HPCA Course, Milos Prvulovic, Georgia Tech. https://www.udacity.com/course/high-performance-computer-architecture--ud007
3. Computer Organization and Design, 4th Ed, D. A. Patterson and J. L. Hennessy.
4. Computer Architecture, Berhooz Parhami.
5. John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufmann.
6. John Paul Shen and Mikko H. Lipasti, Modern Processor Design: Fundamentals of Superscalar Processors, Tata McGraw-Hill.
7. M. J. Flynn, Computer Architecture: Pipelined and Parallel Processor Design, Narosa Publishing House.
8. Kai Hwang, Advanced Computer Architecture: Parallelism, Scalability, Programmability, McGraw-Hill.
Coursework The coursework for all students consists of semi-regular quizzes/vivas and take-home assignments.

Communication We will update the course schedule regularly throughout the course.

Live lectures / recordings

  • Note that you NEED TO join the Microsoft teams classroom titled "HPCA" for this course. We will also share the recordings (as well as recorded lectures) of the lectures via Microsoft Teams. Drop the instructors an email ASAP if you cannot access the Microsoft teams classroom.
  • Live lectures will be delivered via Microsoft teams / Zoom. We will use with the "announcements" channel on Microsoft teams for live lecture related announcements. Please check that channel regularly.
  • We will also include links to pre-recorded lectures in the "Required Readings and Videos" section of the course schedule. Please check it regularly.

Assignment / Scribes / Quizzes

  • Current plan is to both distribute and collect the regular assignments via Microsoft teams. Please join the course there.

    For assignments, linux based systems are recommended.


General discussion

  • We'll use Microsoft Teams for general discussion and questions about course material.
  • You should already have the account username and password to log into Microsoft teams. If you cannot access the  Microsoft teams classroom titled "HPCA" please let the instructors know as soon as possible.
  • If you need to reach out to the instructors (e.g., pertaining to an illness or other events that might be impacting your performance in class), please send a private chat on Microsoft Teams visible only to the instructors. Please use the Microsoft teams chatroom (and channels) to discuss publicly with your peers in real-time.
  • Please try to keep all course-related communication to Microsoft Teams rather than email.
Late policy We will accept the take home assignments/scribes 24 hours late with a 15% penalty. Assignments more than a day late will not be accepted without a previously approved extension.

Of course, in exceptional circumstances related to personal emergencies, serious illness, wellness concerns, family emergencies, and similar, please make the course staff aware of your situation and we will do our best to find a mutually agreeable solution.

Grading

Your course grade will be calculated as follows:
Two short Tests 30%
Two long Tests
40%
Assignments
30%


Honor code

You are permitted to talk to the course staff and to your fellow students about any of the problem sets. Any assistance, though, must be limited to discussion of the problem and sketching general approaches to a solution. Each student must write out his or her own solutions to the problem sets. Consulting another student's solution is prohibited, and submitted solutions may not be copied from any source. These and any other form of collaboration on assignments constitute cheating.

No collaboration is permitted on quizzes or assignments. All work submitted for the project must properly cite ideas and work that are not those of the students in the group. Simply stated, feel free to discuss problems with each other, but do not cheat. It is not worth it, and you will get caught. In that case, we will be forced to award you no marks for that assignment/quiz/project, take away 50% of your total final marks and you will risk deregistration.

Wellness

If a personal emergency comes up that might impact your work in the class, please let the instructors know via a private chat message (to all the course instructors) so that the course staff can make appropriate arrangements. We are going through unprecedented times and circumstances can sometimes be very overwhelming, and all of us benefit from support during times of struggle. You are not alone.

Important Links

The gem5 Tutorial