227-0085-51L  Projects & Seminars: Hands-on Acceleration on Heterogeneous Computing Systems

SemesterSpring Semester 2021
LecturersO. Mutlu, J. Gómez Luna
Periodicityevery semester recurring course
Language of instructionEnglish
CommentOnly for Electrical Engineering and Information Technology BSc.

Course can only be registered for once. A repeatedly registration in a later semester is not chargeable.


227-0085-51 PProjekte & Seminare: Hands-on Acceleration on Heterogeneous Computing Systems Special students and auditors need a special permission from the lecturers.
Für den Zugang zum Angebot und zur Einschreibung loggen Sie sich hier ein (mit Ihrem n.ETHZ account): Link
Bitte beachten Sie, dass die Seite jeweils erst zwei Wochen vor Semesterbeginn zugänglich ist und im Verlauf des Semesters wieder abgeschaltet wird. Die Einschreibung ist nur von Freitag vor Semesterbeginn bis zum ersten Freitagmittag im Semester möglich.

To access the offer and to enroll for courses log in (with your n.ethz account): Link
Please note that the P&S-site is accessible no earlier than two weeks before the start of the semester until four weeks after the start of the semester. Enrollment is only possible from Friday before the start of the semester until noon of the first Friday in the semester.
3 hrsO. Mutlu, J. Gómez Luna

Catalogue data

AbstractThe category of "Laboratory Courses, Projects, Seminars" includes courses and laboratories in various formats designed to impart practical knowledge and skills. Moreover, these classes encourage independent experimentation and design, allow for explorative learning and teach the methodology of project work.
ObjectiveThe increasing difficulty of scaling the performance and efficiency of CPUs every year has created the need for turning computers into heterogeneous systems, i.e., systems composed of multiple types of processors that can suit better different types of workloads or parts of them. More than a decade ago, Graphics Processing Units (GPUs) became general-purpose parallel processors, in order to make
their outstanding processing capabilities available to many workloads beyond graphics. GPUs have been critical key to the recent rise of Machine Learning and Artificial Intelligence, which took
unrealistic training times before the use of GPUs. Field-Programmable Gate Arrays (FPGAs) are another example computing device that can deliver impressive benefits in terms of performance and energy efficiency. More specific examples are (1) a plethora of specialized accelerators (e.g., Tensor Processing Units for neural networks), and (2) near-data processing architectures (i.e., placing compute capabilities near or inside memory/storage).
Despite the great advances in the adoption of heterogeneous systems in recent years, there are still many challenges to tackle, for example:
- Heterogeneous implementations (using GPUs, FPGAs, TPUs) of modern applications from important fields such as bioinformatics, machine learning, graph processing, medical imaging, personalized medicine, robotics, virtual reality, etc.
- Scheduling techniques for heterogeneous systems with different general-purpose processors and accelerators, e.g., kernel offloading, memory scheduling, etc.
- Workload characterization and programming tools that enable easier and more efficient use of heterogeneous systems.

If you are enthusiastic about working hands-on with different software, hardware, and architecture projects for heterogeneous systems, this is your P&S. You will have the opportunity to program
heterogeneous systems with different types of devices (CPUs, GPUs, FPGAs, TPUs), propose algorithmic changes to important applications to better leverage the compute power of heterogeneous systems, understand different workloads and identify the most suitable device for their execution, design optimized scheduling techniques, etc. In general, the goal will be to reach the highest performance reported for a given important application.
Prerequisites of the course:
- Digital Design and Computer Architecture (or equivalent course).
- Familiarity with C/C++ programming and strong coding skills.
- Interest in future computer architectures and computing paradigms.
- Interest in discovering why things do or do not work and solving problems
- Interest in making systems efficient and usable

The course is conducted in English.

Performance assessment

Performance assessment information (valid until the course unit is held again)
Performance assessment as a semester course
ECTS credits3 credits
ExaminersO. Mutlu, J. Gómez Luna
Typeungraded semester performance
Language of examinationEnglish
RepetitionRepetition only possible after re-enrolling for the course unit.

Learning materials

No public learning materials available.
Only public learning materials are listed.


No information on groups available.


General : Special students and auditors need a special permission from the lecturers
PlacesLimited number of places. Special selection procedure.
Beginning of registration periodRegistration possible from 19.02.2021
Waiting listuntil 12.03.2021
End of registration periodRegistration only possible until 05.03.2021

Offered in

Electrical Engineering and Information Technology BachelorProjects & SeminarsWInformation