Course Info

LecturesThursdays 1:15pm-3:00pm in INM 201
Web Pagehttp://parsa.epfl.ch/courses/cs716/
InstructorBabak Falsafi
Email, URLbabak.falsafi /at/ epfl.ch, http://parsa.epfl.ch/~falsafi/
OfficeINJ 233
InstructorWilly Zwaenepoel
Email, URLwilly.zwaenepoel /at/ epfl.ch, http://people.epfl.ch/willy.zwaenepoel
OfficeBC 164
Faculty ParticipantSarita Adve
Email, URLsarita.adve /at/ epfl.ch, http://rsim.cs.illinois.edu/~sadve/
OfficeINJ 237
Faculty ParticipantVikram Adve
Email, URLvikram.adve /at/ epfl.ch, http://web.engr.illinois.edu/~vadve/
OfficeBC 105
AssistantCansu Kaynak
Email, URLcansu.kaynak /at/ epfl.ch, http://parsa.epfl.ch/~kaynak/
Office hoursThursdays 3:00-5:00pm
OfficeINJ 238
AssistantOnur Kocberber
Email, URLonur.kocberber /at/ epfl.ch, http://parsa.epfl.ch/~kocberbe/
Office hoursThursdays 3:00-5:00pm
OfficeINJ 235
Admin. AssistantStephanie Baillargues
Emailstephanie.baillargues /at/ epfl.ch
OfficeINJ 234

Topics in Approximate Computing Systems

Diminishing improvements in transistor performance and energy efficiency mandate new ways to ameliorate overall system performance and energy efficiency. Fortunately, many emerging resource-hungry applications such as image and video processing, computer vision, machine learning, big data analytics can tolerate imperfect results, which can be achieved through approximate computing. In this course, students will survey recent literature on exploiting approximate computing for better system efficiency, covering hardware, programming languages, compilers, runtime systems, and applications and understand the state-of-the-art in the emerging area of approximate computing. Specifically:
  1. They will become familiar with techniques used to exploit approximate computing across the system stack, including in hardware, compilers, programming languages, runtime systems, and applications.
  2. They will learn how approximations can be used to improve the efficiency of a system, in terms of latency, bandwidth, energy, and/or reliability.
  3. They will gain in-depth understanding of at least one layer of the system stack and one efficiency criteria by presenting papers and leading class discussion on that topic.

Who should take CS 716?

CS 716 is a graduate course and is highly recommended for master and PhD students. Like other graduate-level courses, the course includes weekly readings, discussions, and questions on papers of seminal and recent contributions to the field of approximate computing.

Readings and Presentations

In this course, we will read papers, and take turn presenting them. It is absolutely important to read the papers prior to attending class because the class will proceed in the form of a discussion among participants and a presentation to introduce the main topics covered in the papers. The students will take turn presenting throughout the semester.


You are expected to be in the classroom and actively participate in the discussions.


Graduate level course in computer architecture, programming languages, and/or systems


The students will be graded based on class discussions, presentations and short reviews written for each reading assignment.