Real-World PIM Tutorial at ASPLOS23

ASPLOS 2023 Tutorial: Real-world Processing-in-Memory Systems for Modern Workloads
Sunday, March 26, 2023 (held during ASPLOS 2023, March 25 – 29, Vancouver, Canada) in person and online.

Tutorial Website:
ASLOS 2023 Workshops and Tutorials:

Tutorial Overview: 

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. But, there is more to come: Academia and Industry are actively exploring other types of PIM by, e.g., exploiting the analog operation of DRAM, SRAM, flash memory and emerging non-volatile memories.

PIM can provide large improvements in both performance and energy consumption, thereby enabling a commercially viable way of dealing with huge amounts of data that is bottlenecking our computing systems. Yet, it is critical to examine and research adoption issues of PIM using especially learnings from real PIM systems that are available today.

This tutorial focuses on the latest advances in PIM technology. 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 using real PIM systems, and (4) shed light on how to enable the adoption of PIM in future computing systems.

Organizers: Juan Gomez Luna, Onur Mutlu, Ataberk Olgun

Tutorial Website, Full program:

Livestream on YouTube

Invited Speakers:

Yongkee Kwon, Eddy (Chanwook) Park, SK Hynix
Title: System architecture and software stack for GDDR6-AiM

We present system architecture, software stack, and performance analysis for SK hynix’s very first GDDR6-based processing-in-memory (PIM) product sample, called Accelerator-in-Memory (AiM).

AiM is designed for the in-memory acceleration of matrix-vector product operations, which are commonly found in machine learning applications. The strength of AiM primarily comes from the two design factors, which are 1) all-bank operation support and 2) extended DRAM command set. All-bank operations allow AiM to fully utilize the abundant internal DRAM bandwidth, which makes it an attractive solution for memory-bound applications. The extended command set allows the host to address these new operations efficiently and provides a clean separation of concerns between the AiM architecture and its software stack design.

We present a dedicated FPGA-based reference platform with a software stack, which is used to validate AiM design and evaluate its system-level performance. We also demonstrate FMC-based AiM extension cards that are compatible with the off-the-shelf FPGA boards and serve as an open research platform allowing potential collaborators and academic institutes to access our hardware and software systems.

Speaker Bios: 

Yongkee Kwon received the B.S. and M.S. degrees in physics from Seoul National University, Seoul, South Korea, in 2003 and 2006, respectively. He is currently an Architect and the Processing-in-Memory (PIM) Project Lead with SK Hynix Inc. His research interests span programming languages, compilers, runtime systems, architecture, and microarchitecture with a focus on memory-centric computing.

Chanwook Park received the B.S. degree in electronics engineering from Dankook University, Seoul, South Korea, in 2005. He is currently a Software Engineer with the Memory Solution Product Development Team, SK Hynix Inc. He joined SK Hynix in 2019, where he has been developing software stack for Hynix processing in memory (PIM). Before joining SK Hynix, he has worked on developing GPU software for Exynos mobile SoC in Samsung Electronics.

Alexandra (Sasha) Fedorova (Professor, UBC)
Title: Processing in Memory in the Wild

Abstract: (by Sasha Fedorova and ChatGPT)

The war was waged upon the Wall of Memory,
By systems community, determined and bold;
They sought a grail that was deemed holy,
To process in memory, and not be controlled.

For years it lingered in plans and schemes,
A concept yet to be brought to life;
But now, at last, it’s more than just dreams,
Memory that computes, free from strife.

Our research sought to discover,
The strengths and weakness of UPMEM’s might;
To build applications with power,
And test them out in PIM’s light.

With findings to share, we present our work,
Our trials and triumphs, all laid bare;
In the realm of processing-in-memory,
Is the future bright, beyond compare?

Speaker Bio:
Alexandra Fedorova received her PhD from Harvard in 2006, where she had the honor to work under the supervision of Margo Seltzer on her thesis Operating System Scheduling for Multicore Processors. During her PhD she interned at Sun Microsystems Labs, where she contributed to development of the Niagara processor simulator and experimented with adopting transactional memory in real applications. Between 2006 and 2015 she was an Assistant and then Associate professor at the School of Computing Science at SFU. She joined the ECE department at the University of British Columbia in 2015. Her research focuses broadly on systems, and she is especially interested in memory and storage management and accelerator-centric computing. Outside of academia, she is a consultant for the MongoDB storage engine team. She is a recipient of the Anita Borg Early Career award and of the Alfred P. Sloan research fellowship.

Photos from the event:



Posted in Tuturial.