Sanjay Rajopadhye
Office: 340 CS Building
Office Hours: By arrangement
Lecture Time and Place:
9:30-10:45, Tu Th, CSB Room 425

In this course, we will explore the evolution of modern computer architectures to exascale systems, where power and energy dominate most concerns, and where we are moving to a massive degree of parallelism. The topics that will be os speial concern to us are

  • Non-programmable (fixed function) Accelerators & their design/synthesis
  • Programmable accelerators: GPUs and massively vectorized systems
  • Tradeoffs such as energy vs. delay, “, "performance”" vs. flexibility, etc.
  • Memory system architectures especially for multi- and many-cores
  • High level synthesis (especially for "domain specific" systems)
  • Coarse-Grain Reconfigurable Architectures
Students will build important research skills by reading papers, writing reviews, presenting papers to the class, and writing and presenting a mini-research exam. Another major component of the course will be a research project of the student's choosing. During the course we will cover how to write a research proposal, practice presenting intermediate research project results in writing and with a presentation, and writing a research paper.


The official prerequisites are: either CS 570 or ECE 542, or instructor consent (e.g., if you have equivalent courses at another institution, or your background is different). Some of these prerequisite classes have not been offered in the CS department for a while, so please email/see the instructor if you have questions.

Two key ingredients are: (i) some mathematical maturity (this means that if you do not know the math, you should know how to pick it up as needed), and (ii) intellectual curiosity. Both are somewhat difficult to define, but you know it when you have it.


There are NO required textbooks for this course! All required material will be available on the web. Many of the research papers are copyrighted, but as a CSU student you should have access through CSU libraries.

Paper Reviews

Each student will be responsible for writing one critical review of one of the papers covered each week. You need to turn in 8 reviews over the whole the semester. Keep in mind that no reviews can be turned in on certain weeks. These include: (i) the first week, (ii) weeks 5 and 6 (no papers being discussed), (iii) the week of mini-research exams (week 13), etc. See the schedule posted on the progress tab. The reviews should be one to two pages and cover the following questions about the paper:
  • What problem did the paper address? Who is the audience?
  • Is it important/interesting? What was the context for the paper? Why should the audience care?
  • What is the approach used to solve the problem?
  • How does the paper support or otherwise justify the conclusions it reaches?
  • What are the strengths of the paper?
  • What are its weaknesses?
  • What problems are explicitly or implicitly left as future research questions?
You are expected to follow the guidelines in the provided example review.

You can resubmit a review within 24 hours of the discussion about the paper, however your review grade will be based at least 50% on the initial review submitted.

Paper Presentations and the Mini Research Exam

Each student will be presenting and leading the discussion for one paper and presenting a mini research exam for a set of three papers. The presenter must schedule practice presentations with Sanjay at least two days before any in-class presentation. Detailed guidelines for the paper presentation are available here. Detailed guidelines for the mini-research exam are posted here.


Each student will do a semester-long project either individually or with a group. The project will consist of the following deliverables:
  • Preliminary project proposal with examples
  • Detailed Proposal and examples
  • Oral status report (15 minute presentation)
  • Intermediate report
  • Final report and poster

Class Participation

Everyone must read each paper. While you are reading each paper, you should develop at least one question or point relevant for discussion of the paper in class. At the beginning of the course, everyone must also indicate some paper preferences.


  • Weekly critical reviews of papers, 30%
  • Project, 30%
  • MiniResearch Exam, 20%
  • Presenting and leading a discussion on a paper, 10%
  • Class participation, 10%

Course Policies

  • Students are responsible for the announcements posted on the course website and any information sent to the class mailing list.
  • Students must read and be familiar with the CS Department Student Information Sheet available at

Professional Conduct

All students are expected to conduct themselves professionally. We (the instructors and GTAs) assume you are familiar with the policies in the student information sheet for the department. Additionally, you are computing professionals, albeit perhaps just starting. You should be familiar with the code of conduct for the primary professional society, ACM. You can read the ACM Code of Conduct HERE.

We work to maintain an environment supportive of learning in the classroom and laboratory. Towards that end, we require that you be courteous to and respectful of your fellow participants (i.e., classmates, instructors, GTAs and any tutors).