User Tools

Site Tools


Real-world Processing-in-Memory Systems for Modern Workloads

Tutorial Description

Processing-in-Memory (PIM) is a computing paradigm that aims at overcoming the data movement bottleneck (i.e., the waste of execution cycles and energy resulting from the back-and-forth data movement between memory units and compute units) by making memory compute-capable.

Explored over several decades since the 1960s, PIM systems are becoming a reality with the advent of the first commercial products and prototypes.

A number of startups (e.g., UPMEM, Neuroblade) are already commercializing real PIM hardware, each with its own design approach and target applications. Several major vendors (e.g., Samsung, SK Hynix, Alibaba) have presented real PIM chip prototypes in the last two years. Most of these architectures have in common that they place compute units near the memory arrays. This type of PIM is called processing near memory (PNM).

PIM can provide large improvements in both performance and energy consumption for many modern applications, thereby enabling a commercially viable way of dealing with huge amounts of data that is bottlenecking our computing systems. Yet, it is critical to (1) study and understand the characteristics that make a workload suitable for a PIM architecture, (2) propose optimization strategies for PIM kernels, and (3) develop programming frameworks and tools that can lower the learning curve and ease the adoption of PIM.

This tutorial focuses on the latest advances in PIM technology, workload characterization for PIM, and programming and optimizing PIM kernels. We will (1) provide an introduction to PIM and taxonomy of PIM systems, (2) give an overview and a rigorous analysis of existing real-world PIM hardware, (3) conduct hand-on labs about important workloads (machine learning, sparse linear algebra, bioinformatics, etc.) using real PIM systems, and (4) shed light on how to improve future PIM systems for such workloads.


YouTube livestream


Agenda (June 18, 2023)


  • 8:55am-9:00am, Dr Juan Gómez Luna, “Welcome & Agenda”.
  • 9:00am-10:20am, Prof. Onur Mutlu, “Memory-centric Computing: Introduction to PIM as a Paradigm to Overcome the Data Movement Bottleneck”.
    • PIM taxonomy: PNM (processing near memory) and PUM (processing using memory).
  • 10:20am-11:00pm, Dr. Juan Gómez Luna, “Processing-Near-Memory: Real PNM”.
    • PNM prototypes: Samsung HBM-PIM, SK Hynix AiM, Samsung AxDIMM, Alibaba HB-PNM.
    • UPMEM PIM: Architecture and Programming.
  • Coffee break (11:00am-11:20am)
  • 11:20am-11:50am, Prof. Izzat El Hajj (AUB), “High-throughput Sequence Alignment using Real Processing-in-Memory Systems”.
  • 11:50am-12:30pm, Dr. Christina Giannoula (UofT), “SparseP: Towards Efficient Sparse Matrix Vector Multiplication on Real Processing-In-Memory Systems”.
  • Lunch break (12:30pm-2:00pm)
  • 2:00pm-2:45pm, Dr. Sukhan Lee (Samsung), “Introducing Real-world HBM-PIM Powered System for Memory-bound Applications”.
  • 2:45pm-3:30pm, Dr. Juan Gómez Luna/Ataberk Olgun, “Processing-Using-Memory and PUM Prototypes: Ambit/SIMDRAM, PiDRAM”.
  • Coffee break (3:30pm-4pm)
  • 4:00pm-4:40pm, Dr. Juan Gómez Luna, “Accelerating Modern Workloads on a General-purpose PIM System”.
  • 4:40pm-5:20pm, Dr. Juan Gómez Luna, “Adoption Issues: How to Enable PIM?”
  • 5:20pm-5:30pm, Dr. Juan Gómez Luna, “Introduction/Preparation for Hands-on labs”.
    • Optional - Hands-on Lab: Programming and Understanding a Real PIM Architecture.

Tutorial Materials

Time Speaker Title Materials
8:55am-9:00am Dr. Juan Gómez Luna Welcome & Agenda (PDF) (PPT)
9:00am-10:20am Prof. Onur Mutlu Memory-Centric Computing (PDF) (PPT)
10:20am-11:00am Dr. Juan Gómez Luna Processing-Near-Memory: Real PNM Architectures / Programming General-purpose PIM (PDF) (PPT)
11:20am-11:50am Prof. Izzat El Hajj High-throughput Sequence Alignment using Real Processing-in-Memory Systems (PDF) (PPT)
11:50am-12:30pm Dr. Christina Giannoula SparseP: Towards Efficient Sparse Matrix Vector Multiplication for Real Processing-In-Memory Systems (PDF) (PPT)
2:00pm-2:45pm Dr. Sukhan Lee Introducing Real-world HBM-PIM Powered System for Memory-bound Applications (PDF)
2:45pm-3:30pm Dr. Juan Gómez Luna / Ataberk Olgun Processing-Using-Memory: Exploiting the Analog Operational Properties of Memory Components / PUM Prototypes: PiDRAM (PDF) (PPT) (PDF) (PPT)
4:00pm-4:40pm Dr. Juan Gómez Luna Accelerating Modern Workloads on a General-purpose PIM System (PDF) (PPT)
4:40pm-5:20pm Dr. Juan Gómez Luna Adoption Issues: How to Enable PIM? (PDF) (PPT)
5:20pm-5:30pm Dr. Juan Gómez Luna Hands-on Lab: Programming and Understanding a Real Processing-in-Memory Architecture (Handout)

Learning Materials

  • Gómez-Luna, J., and Mutlu, O., Data-Centric Architectures: Fundamentally Improving Performance and Energy (227-0085-37L), ETH Zürich, Fall 2022.
  • Mutlu, O., Ghose, S., Gómez-Luna, J., and Ausavarungnirun, R. A Modern Primer on Processing in Memory. In Emerging Computing: From Devices to Systems, 2023.
  • Gómez-Luna, J., El Hajj, I., Fernandez, I., Giannoula, C., Oliveira, G. F., and Mutlu, O. (2022). Benchmarking a New Paradigm: Experimental Analysis and Characterization of a Real Processing-in-Memory System. IEEE Access, 2022.
  • Giannoula, C., Fernandez, I., Gómez-Luna, J., Koziris, N., Goumas, G., and Mutlu, O. SparseP: Towards Efficient Sparse Matrix Vector Multiplication on Real Processing-In-Memory Architectures. SIGMETRICS 2022.
  • Olgun, A., Gómez-Luna, J., Kanellopoulos, K., Salami, B., Hassan, H., Ergin, O., and Mutlu, O. PiDRAM: A Holistic End-to-end FPGA-based Framework for Processing-in-DRAM. ACM TACO, 2022.

More Learning Materials

start.txt · Last modified: 2023/08/16 14:15 by ewent

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki