start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
start [2023/10/29 04:31] – [Tutorial Materials] geraldod | start [2024/06/28 19:14] (current) – [Lectures (tentative schedule, time zone: GMT-3)] geraldod | ||
---|---|---|---|
Line 1: | Line 1: | ||
~~NOCACHE~~ | ~~NOCACHE~~ | ||
- | ===== Real-world Processing-in-Memory | + | ===== ISCA 2024 Tutorial on Memory-Centric Computing |
==== Tutorial Description ==== | ==== 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. | + | 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 |
+ | |||
+ | Explored over several decades since the 1960s, PIM systems are now becoming a reality with the advent of the first commercial products and prototypes. | ||
+ | |||
+ | Several startups (e.g., UPMEM, NeuroBlade, Mythic, Syntiant, Aizip, Axelera, d-Matrix, Gyrfalcon Technology, MemComputing, | ||
+ | |||
+ | Recent PIM products and prototypes place compute units near the memory arrays. New memory interfaces like CXL (Compute Express Link) aid the enablement of compute-capable memories. At the same time, 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, and hybrid PIM architectures that combine processing capabilities of different types and at different parts of the memory/ | ||
+ | |||
+ | {{: | ||
- | Explored over several decades since the 1960s, | + | PIM can improve performance and energy efficiency for many modern applications, |
- | A number of startups (e.g., UPMEM, Neuroblade) are already commercializing real PIM hardware, each with its own design approach | + | However, there are many open questions spanning the entire computing stack and many challenges for widespread adoption. For example, it is critical to (1) develop programming frameworks and tools that can lower the learning curve and ease the adoption of PIM systems, (2) develop methods to identify what type of PIM would be useful for what workload, and (3) design system and security mechanisms that enable |
- | {{: | + | This tutorial focuses on the latest advances in PIM technology, spanning both hardware and software, including novel PIM ideas, different tools and frameworks to conduct PIM research, and programming techniques and optimization strategies for PIM kernels. We will (1) provide an introduction to PIM and the taxonomy of PIM systems, (2) give an overview and a rigorous analysis of existing PIM hardware from industry and academia, (3) provide and describe hardware and software infrastructures that can enable new and experienced researchers to conduct research in PIM systems, and (4) shed light on how to improve future PIM systems for emerging memory-bound workloads. The tutorial |
- | PIM can provide large improvements in both performance and energy consumption for many modern applications, | ||
- | |||
- | 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, | ||
==== Livestream ==== | ==== Livestream ==== | ||
- | [[https://ethz.zoom.us/ | + | [[https://www.youtube.com/ |
- | + | {{youtube> | |
- | [[https://youtube.com/ | + | |
- | {{youtube> | + | |
==== Organizers ==== | ==== Organizers ==== | ||
^ Name ^ E-mail ^ | ^ Name ^ E-mail ^ | ||
- | |[[https://ee.ethz.ch/the-department/ | + | |[[https://geraldofojunior.github.io/|Geraldo F. Oliveira]]| <geraldod@safari.ethz.ch> |
- | |[[https://people.inf.ethz.ch/omutlu/index.html|Onur Mutlu]]| <onur.mutlu@safari.ethz.ch> | + | |[[https://ee.ethz.ch/the-department/people-a-z/ |
- | |[[https://ee.ethz.ch/the-department/ | + | |[[http://ataberkolgun.com/|Ataberk Olgun]] | < |
- | |[[https://ee.ethz.ch/the-department/people-a-z/ | + | |[[https://people.inf.ethz.ch/omutlu/index.html|Professor Onur Mutlu]]| <onur.mutlu@safari.ethz.ch> |
- | ===== Agenda (October | + | ===== Agenda (June 29, 2024) ===== |
- | ==== Lectures (tentative schedule, time zone: EDT GMT-4) ==== | + | ==== Lectures (tentative schedule, time zone: GMT-3) ==== |
- | * 7: | + | |
- | * 8: | + | |
- | * PIM taxonomy: PNM (processing near memory) and PUM (processing using memory). | + | |
- | * DAMOV Workload Characterization Methodology. | + | |
- | * 9: | + | |
- | * PNM prototypes: Samsung HBM-PIM, SK Hynix AiM, Samsung AxDIMM, Alibaba HB-PNM. | + | |
- | * UPMEM PIM: Architecture Characterization, | + | |
- | * Coffee break (10:20am-10:40am) | + | * 9:00am-9:20am, Prof. Onur Mutlu / Geraldo F. Oliveira, “Memory-centric Computing: Introduction to PIM as a Paradigm to Overcome the Data Movement Bottleneck.” |
+ | * Workload analysis and system bottlenecks. | ||
+ | * PIM taxonomy: technology, location, and nature of computation (e.g., PNM (processing-near-memory) and PUM (processing-using-memory). | ||
+ | * Advances in different types of PIM at different parts of the memory/ | ||
+ | * 9: | ||
- | * 10:40am-11:20am, Prof. Youngsok Kim (Yonsei University), " | + | * Coffee break (10:00am-10:20am) |
- | * 11: | + | |
- | * Lunch break (12:00pm-1:00pm) | + | * 10:30am-10:50am, Dr. Mohammad Sadr, “Processing-Near-Memory: Real PNM Architectures.” |
- | + | * Example real-world PNM systems: UPMEM PIM, Samsung HBM-PIM & CXL-PNM, SK Hynix AiM & CMS 2.0, Samsung AxDIMM, Alibaba PNM, Mythic. | |
- | * 1:00pm-2:00pm, Geraldo F. Oliveira, "Processing-Using-DRAM: Ambit, SIMDRAM, pLUTo." | + | * 11:00am-11:20am, Geraldo F. Oliveira, "PUM Systems for Bulk Bitwise Operations." |
- | * 2:00pm-3:15pm, Dr. Juan Gómez Luna, “Accelerating Modern Workloads on a General-purpose | + | * PUM systems for bulk bitwise operations in simulated and off-the-shelf memory technologies (DRAM, SRAM, and NVM). |
- | * 3:15pm-3:45pm, Dr. Juan Gómez Luna, “Adoption Issues: How to Enable PIM?” | + | * 11:30am-11:50am, Prof. Saugata Ghose, Invited Talk #2. |
- | * 3:45pm-4:15pm, Dr. Juan Gómez Luna, " | + | * 12:00pm-12:20pm, Geraldo F. Oliveira, " |
- | * 4:15pm-5:00pm, Ataberk Olgun, " | + | * Programming |
- | * 5:00pm-5:10pm, Dr. Juan Gómez Luna, “Introduction/ | + | * Infrastructures for doing PIM Research (simulation, |
- | * Optional - Hands-on Lab: Programming and Understanding a Real PIM Architecture. | + | * Research challenges and opportunities in PIM systems, with a focus on enabling adoption in the real world. |
+ | * 12: | ||
==== Tutorial Materials ==== | ==== Tutorial Materials ==== | ||
+ | |||
^ Time ^ Speaker ^ Title ^ Materials ^ | ^ Time ^ Speaker ^ Title ^ Materials ^ | ||
- | | 7:55am-8:00am | Dr. Juan Gómez Luna | Welcome & Agenda |{{realpimtutorial-micro23-agenda-juan-slides.pdf|(PDF)}} {{realpimtutorial-micro23-agenda-juan-slides.pptx|(PPT)}}| | + | | 09:00am-09:20am |
- | | 8:00am-9:20am | Prof. Onur Mutlu / Geraldo F. Oliveira | Memory-Centric Computing |{{geraldo-_micropimtutorial-2023-memory-centric-computing-beforetalk.pdf|(PDF)}} {{geraldo-_micropimtutorial-2023-memory-centric-computing-beforetalk.pptx|(PPT)}}| | + | | 09:30am-09:50am | Professor Minsoo Rhu | Memory-Centric Computing Systems – For AI and Beyond |
- | | 9:20am-10:20am | + | | 10:00am-10:20am | N/A | Coffee Break | | |
- | | 10:40am-11:20am | Prof. Youngsok Kim | PID-Join: | + | | 10:30am-10:50am | Dr. Mohammad Sadr | Processing-Near-Memory: Real PNM Architectures |
- | | 11:20am-12:00pm | + | | 11:00am-11:20am | Geraldo F. Oliveira | Processing-Using-Memory for Bulk Bitwise Operations |
- | | 1:00pm-2:00pm | + | | 11:30am-11:50am |
- | | 2:00pm-3: | + | | 12:00pm-12:00pm |
- | | 3:15pm-3:45pm | + | | 12:20pm-12:30pm |
- | | 3:45pm-4:15pm | + | |
- | | 4:15pm-5: | + | |
- | | 5:00pm-5:10pm | + | |
==== Learning Materials ==== | ==== Learning Materials ==== | ||
=== Recommended Materials === | === Recommended Materials === | ||
- | * Gómez-Luna, | ||
- | * [[https:// | ||
- | * [[https:// | ||
* Mutlu, O., Ghose, S., Gómez-Luna, | * Mutlu, O., Ghose, S., Gómez-Luna, | ||
- | * [[https:// | ||
* Gómez-Luna, | * Gómez-Luna, | ||
* [[https:// | * [[https:// | ||
Line 87: | Line 80: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * Oliveira, G. F., Gómez-Luna, | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Luo, H., Tu, Y. C., Bostancı, F. N., Olgun, A., Ya, A. G., Mutlu, O. Ramulator 2.0: A Modern, Modular, and Extensible DRAM Simulator. IEEE CAL, 2023. | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Olgun, A., Hassan, H., Yağlıkçı, | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Oliveira, G. F., Olgun, A., Yaglikci, A. G., Bostanci, N., Gomez-Luna, J., Ghose, S., Mutlu, O., MIMDRAM: An End-to-End Processing-Using-DRAM System for High-Throughput, | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Hajinazar, N., Oliveira, G. F., Gregorio, S., Ferreira, J. D., Ghiasi, N. M., Patel, M., Alser, M., Ghose, S., Gomez-Luna, J., Mutlu. O., SIMDRAM: An End-to-End Framework for Bit-Serial SIMD Computing in DRAM, in ASPLOS, 2021. | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Seshadri, V., Lee, D., Mullins, T., Hassan, H., Boroumand, A., Kim, J., Kozuch, M. A., Mutlu, O., Gibbons, P. B., Mowry, T. C., Ambit: In-Memory Accelerator for Bulk Bitwise Operations Using Commodity DRAM Technology, in MICRO, 2017. | ||
+ | * [[https:// | ||
+ | |||
=== More Learning Materials === | === More Learning Materials === | ||
* Mutlu O., Memory-Centric Computing (IMACAW Keynote Talk at DAC 2023), July 2023: | * Mutlu O., Memory-Centric Computing (IMACAW Keynote Talk at DAC 2023), July 2023: | ||
* [[https:// | * [[https:// | ||
- | * Processing-in-memory: A workload-driven perspective | + | * Processing-in-Memory: A Workload-Driven Perspective |
* [[https:// | * [[https:// | ||
* Processing Data Where It Makes Sense: Enabling In-Memory Computation (summary paper about recent research in PIM): | * Processing Data Where It Makes Sense: Enabling In-Memory Computation (summary paper about recent research in PIM): | ||
Line 97: | Line 108: | ||
* Processing-in-Memory course (Spring 2022): | * Processing-in-Memory course (Spring 2022): | ||
* [[https:// | * [[https:// | ||
- | * [[https://sdk.upmem.com/2023.1.0/ | UPMEM SDK documentation: | + | |
+ | | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
start.1698553888.txt.gz · Last modified: 2024/03/21 18:18 (external edit)