227-0085-37L  Projects & Seminars: Exploring the Processing-in-Memory Paradigm for Future Computing Systems

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

The course unit can only be taken once. Repeated enrollment in a later semester is not creditable.


227-0085-37 PProjekte & Seminare: Exploring the Processing-in-Memory Paradigm for Future 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.

Time: to be arranged with each student
Location: various
3 hrsJ. 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.
ObjectiveData movement between the memory units and the compute units of current computing systems is a major performance and energy bottleneck. From large-scale servers to mobile devices, data movement costs dominate computation costs in terms of both performance and energy consumption. For example, data movement between the main memory and the processing cores accounts for 62% of the total system energy in consumer applications. As a result, the data movement bottleneck is a huge burden that greatly limits the energy efficiency and performance of modern computing systems. This phenomenon is an undesired effect of the dichotomy between memory and the processor, which leads to the data movement bottleneck.

Many modern and important workloads such as machine learning, computational biology, graph processing, databases, video analytics, and real-time data analytics suffer greatly from the data movement bottleneck. These workloads are exemplified by irregular memory accesses, relatively low data reuse, low cache line utilization, low arithmetic intensity (i.e., ratio of operations per accessed byte), and large datasets that greatly exceed the main memory size. The computation in these workloads cannot usually compensate for the data movement costs. In order to alleviate this data movement bottleneck, we need a paradigm shift from the traditional processor-centric design, where all computation takes place in the compute units, to a more data centric design where processing elements are placed closer to or inside where the data resides. This paradigm of computing is known as Processing-in Memory (PIM).

This is your perfect P&S if you want to become familiar with the main PIM technologies, which represent "the next big thing" in Computer Architecture. You will work hands-on with the first real-world PIM architecture, will explore different PIM architecture designs for important workloads, and will develop tools to enable research of future PIM systems. Projects in this course span software and hardware as well as the software/hardware interface. You can potentially work on developing and optimizing new workloads for the first real world PIM hardware or explore new PIM designs in simulators, or do something else that can forward our understanding of the PIM paradigm.

Prerequisites of the course:
- Digital Design and Computer Architecture (or equivalent course).
- Familiarity with C/C++ programming.
- 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.

Course website: Link

Learning materials

1. Summary papers about recent research in PIM.

2. Ramulator-PIM: A version of Ramulator simulator for PIM.

3. UPMEM SDK documentation: The first real-world PIM architecture.

4. An example recent study of 3D-stacked PIM for consumer workloads.

5. An example recent study of lightweight PIM functionality on 3D-stacked memory:

6. An example recent study of a PIM accelerator for graph processing.

7. An example recent study of a Processing-using-Memory system.

Performance assessment

Performance assessment information (valid until the course unit is held again)
Performance assessment as a semester course
ECTS credits3 credits
ExaminersJ. 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
PriorityRegistration for the course unit is only possible for the primary target group
Primary target groupElectrical Engin. + Information Technology BSc (228000)
Waiting listuntil 12.03.2021
End of registration periodRegistration only possible until 05.03.2021

Offered in

Electrical Engineering and Information Technology BachelorProjects & SeminarsWInformation