Nyong!

What is PIM(process in memory)? 본문

Study/PIM(Process in memory)

What is PIM(process in memory)?

신뇽! 2022. 1. 14. 17:20

PIM이란?

-기존의 Von Neumann architecture에서 연산을 진행하는 CPU와 GPU가 아닌, memory에서 연산을 실행하는 구조.

PIM 구조

-기존의 DRAM의 구조 상에서, 각각의 DRAM BANK에 DPU가 추가된다.

-DPU란 DRAM processing unit으로 DRAM 상에서 연산을 가능하게 한다.

-DPU는 한번의 하나의 process만 실행할 수 있다. multiple CPU에 의한 접근 불가.

-DPU는 다수의 Tasklets로 나뉘어 실행 가능. CPU의 쓰레드.

DIMM
DRAM CHIP DRAM CHIP
BANK BANK BANK BANK BANK BANK BANK BANK
DPU DPU DPU DPU DPU DPU DPU DPU
Tasklets Tasklets Tasklets Tasklets Tasklets Tasklets Tasklets Tasklets

PIM을 사용하는 이유

-CPU computation이 performance boundary가 아닌, memory access가 performance boundary인 경우에 memory상에서 연산을 진행하여 performance 향상.

 

참고자료

PIM에 대한 개념이 매우 잘 정리되어 있는 블로그.

https://lifeisenjoyable.tistory.com/12

 

Processing in Memory (PIM)이란? (1) - 개념과 분류

얼마 전 과학기술정보통신부와 산업통상자원부는 "AI 반도체 선도국가 도약으로 AI·종합반도체 강국 실현" 달성을 위한 전략과 실행 과제를 밝혔는데 여기서 3대 과제 중 하나로 PIM(processing in mem

lifeisenjoyable.tistory.com

ETHZ의 comptuer architecture 강의 중 PIM에 대한 강의. UPMEM의 사용법까지 간단히 나와있다.

https://www.youtube.com/watch?v=-NPqoCpv7KM

UPMEM sdk document

https://sdk.upmem.com/2021.3.0/

 

User Manual — UPMEM DPU SDK 2021.3.0 Documentation

© Copyright 2015-2020, UPMEM SAS - All rights reserved.

sdk.upmem.com