성효진 · 유민수 연구 세계 입문
시스템, 컴파일러, 하드웨어-소프트웨어 경계의 두 연구 흐름.
GPU 위에 AI가 올라간 시대, 그 사이의 “보이지 않는 변환기”를 만드는 두 연구자의 작업을 한 권으로.
이 문서는 무엇인가
두 분의 공개 자료(논문·연구실 페이지·GitHub·발표)를 모아, 한 명의 시스템 연구자가 어떻게 자기 문제 영역을 키워왔는지를 두 사례로 보여주는 한국어 교재다. 단순 헌사가 아니라, “이 논문이 어떤 병목을 발견해서 어떤 기계를 만들어 어떤 결과를 냈는가”를 핵심 단위로 쓴다.
대상 독자 CUDA · Triton · GPU 커널 · 컴파일러 · AI 시스템으로 진입하려는 학부 고학년 또는 독학자.
자료 기준일 2026년 4월 26일
한눈에 두 분
| 관점 | 성효진 교수 | 유민수 교수 |
|---|---|---|
| 현재 소속 | 서울대 데이터사이언스대학원 부교수 (이전: POSTECH → IBM TJ Watson → UIUC PhD) | KAIST 전기·전자공학부 정년보장 부교수 (2026 Endowed Chair · 이전: NVIDIA Research → UT Austin PhD) |
| 출발점 | 캐시 코히런스 (DeNovo @ UIUC) | GPU 마이크로아키텍처 (CAPRI @ UT Austin) |
| 현재 무게중심 | 컴파일러 + PIM/NDP/CXL | 메모리·가속기 + LLM/추천/AI 에이전트 |
| 손에 잡는 것 | IR과 컴파일러 패스 | RTL과 사이클 정확 시뮬레이터 |
| 대표 한 줄 | “위에서 아는 정보를 아래로 흘려보내자” | “이 워크로드는 메모리 어디에 어떻게 닿는가” |
이 표가 보여주는 건, 두 분이 “같은 산을 다른 길로 오르고 있다”는 사실이다. 산은 “데이터를 누가 어디서 어떻게 움직일까”라는 거대 질문이고, 길은 한쪽이 IR과 컴파일러, 다른 쪽이 마이크로아키텍처와 시뮬레이터다.
왜 이 두 분을 한 권에 묶었을까
이야기의 출발
GPU 위에 AI가 올라간 시대, 모델을 보는 사람과 칩을 보는 사람 사이엔 여전히 깊은 골이 있다. 그 골을 메우는 사람들이 시스템 연구자다. 컴파일러를 짜는 사람, 메모리 시스템을 새로 그리는 사람, 가속기 안에서 데이터가 어떻게 흐르는지 시뮬레이션하는 사람. 이들이 바로 모델과 칩 사이의 “보이지 않는 변환기”다.
성효진 교수님(서울대 데이터사이언스대학원)과 유민수 교수님(KAIST 전기·전자공학부)은 한국에서 이 “하드웨어-소프트웨어 경계”를 가장 적극적으로 다루는 두 연구자다. 출발점은 다르다. 한 분은 캐시 코히런스에서, 다른 한 분은 GPU 마이크로아키텍처에서 시작했다. 그런데 두 분이 어디서 만나는가를 보면, 이 분야가 어디로 가고 있는지가 보인다.
스포일러: 두 분 모두 결국 “데이터를 어디 두고 누가 옮길지” 라는 같은 질문을 다른 도구로 풀고 있다.
이 문서가 약속하는 것
- 시간 순으로만 따라가지 않는다. 연구 질문 단위로 묶어서 읽기 좋게 만든다.
- “병목 → 기계 → 결과”가 한 단위다. 논문 제목 나열은 부록으로 미룬다.
- 출처를 붙인다. 추측은 “추정”이라고 못 박는다.
- 마지막엔 미니 프로젝트와 읽기 로드맵. 그냥 읽기만 하고 끝나지 말자는 뜻이다.
두 분을 함께 읽으면 보이는 것
한쪽은 컴파일러를 손에 잡고 있고, 다른 한쪽은 시뮬레이터와 RTL을 손에 잡고 있다. 그런데 두 사람이 잡는 단어는 신기하게도 같다. region, locality, data movement, capacity, bandwidth. 이건 우연이 아니다. AI 시스템이라는 거대한 산이 결국 이 단어들로 정의되어 있기 때문이다.
그래서 이 책은 두 분을 “비교”하는 책이 아니라 “두 길을 같이 보는” 책이다. 한 길만 본 사람은 자기가 아는 도구로만 생각한다. 두 길을 본 사람은 자기 도구가 무엇을 못 보는지를 안다. 시스템 연구자가 되려는 사람은 후자가 되어야 한다.
연구자 프로필
캐시 코히런스의 “반항아”로 시작해, 컴파일러를 손에 잡은 채 메모리의 가장자리(PIM·NDP·CXL)로 영역을 넓혀온 사람.
지금 어디에 계신가
- 서울대학교 데이터사이언스대학원(GSDS) 부교수. 부임 시점은 2024년 전후로 추정. (출처: hsung.snu.ac.kr, SNU CODE Lab)
- 사무실: 서울대 GSDS Building 43, Room 407 / 1 Gwanak-ro, Gwanak-gu, Seoul
- 연구실 이름: CODE Lab — Computing Optimization and Data-driven Exploration
- 직전 소속: POSTECH 컴퓨터공학과(2019–2024 추정). 같은 약자의 풀네임이 “Compiler Design and Optimization”이었으니, 같은 CODE Lab인데 “재정의된” 셈이다.
참고로 본 문서를 의뢰받았을 때 “연세대 컴퓨터과학과”로 적혀 있었다. 1차 자료를 다 뒤져본 결과 현재 소속은 서울대 GSDS로 일치한다. 본 문서는 SNU를 사실로 채택했다.
학력
| 학위 | 기관 | 연도 | 지도교수 / 비고 |
|---|---|---|---|
| Ph.D. CS | UIUC | 2015 | Sarita V. Adve / 학위논문 DeNovo: Rethinking the Memory Hierarchy for Disciplined Parallelism · GPA 4.0/4.0 |
| M.S. CSE | UC San Diego | 2008 | Michael B. Taylor / A Portable MATLAB Front-End for Tiled Microprocessors |
| B.S. CSE | 서울대학교 | 2004 | 민상렬 |
| B.A. 영문학 | 서울대학교 | 2000 | 이중전공 (영문학 학사가 따로 있다는 점이 가끔 사람들을 놀라게 한다) |
경력
학술 프로필
- DBLP: dblp.org/pid/37/7474
- Google Scholar: scholar.google.com — h-index 8 · 인용 ~997 (2026.04 시점)
- ACM DL: profile/81444596778
- IEEE Xplore: author/38237507800
핵심 협업 네트워크
이 분의 논문을 읽다 보면 자연스럽게 같이 보이는 사람들이 있다. 동명이인 검증의 단서이기도 하다.
UIUC (박사 시절)
Sarita V. Adve · Vikram Adve · Rakesh Komuravelli · Robert Bocchino · Byn Choi · Robert Smolinski. DeNovo / DPJ 그래프의 초창기 멤버.
IBM (4년)
Tong Chen · Alexandre E. Eichenberger · Kevin K. O'Brien · Zehra Sura · Carlo Bertolli · Arpith Jacob · Samuel Antao · Gheorghe-Teodor Bercea. Clang/LLVM의 OpenMP-on-GPU 업스트림 작업이 모두 이 사람들과 같이 만든 것.
POSTECH/SNU (현재)
Eunhyeok Park (POSTECH→SNU) · Gwangsun Kim (CXL) · Hyungkyu Ham, Joo-Young Kim (KAIST EE/CS PIM) · Youngjin Kwon (KAIST CS) · Hyungsoo Jung (서울대 데이터). 산업 전공자라면 “PIM 한국팀 콘소시엄”의 윤곽이 보일 것이다.
학생들 (CODE Lab)
Yongwon Shin · Juseong Park · Yoonho Choi · Jungho Lee · Bosuk Kim · Dukyung Kang. 졸업생 중엔 Hyundai Motors와 Rebellions로 간 분들도 있다.
산학·커뮤니티
- IBM 내부 시스템: CORAL Project (Summit/Sierra 슈퍼컴 LLVM OpenMP 4.5 GPU 지원) 업스트림 직접 기여.
- ETRI/KISTI: 한국 차세대 슈퍼컴 AB21용 OpenCL 컴파일러·런타임 협력.
- 학회 서비스: ASPLOS 2014 Submission Co-chair, CGO 2021 SRC Chair, LCTES 2022 PC, ISPASS 2019 PC.
- 수상: PACT 2011 Best Paper (DeNovo), IEEE Micro Top Picks 2014 (DeNovoND), ACM Doctoral Dissertation Award Nomination (2015), MIT Rising Stars in EECS (2013).
이 챕터에서 가져갈 것
- “병렬 프로그램이 가진 특성을 활용하면 시스템 자원을 더 단순하게 만들 수 있지 않나?”라는 질문에서 시작했다.
- 학계 → 산업체(IBM) → 학계로 돌아오면서 컴파일러를 손에 잡는 사람으로 정체성이 굳어졌다.
- 박사 시기의 캐시 → IBM의 OpenMP → 한국의 ML/PIM 컴파일러로 레이어가 위로 올라가는 모습이 보인다.
전체 연구 지도
한 연구자의 논문을 “시간 순”으로 보면 그 연구자의 “인간”이 보이지만, “질문 단위”로 묶으면 그 연구자의 “생각”이 보인다. 이 절은 후자를 한다.
성 교수님의 작업은 6개 축으로 묶인다. 신기한 건 6축이 시간 순으로 나란히 펼쳐져 있고, 각 축이 “위쪽 레이어가 알고 있는 정보를 아래로 흘려보내자”라는 한 문장으로 환원된다는 것.
축 A — Disciplined Parallelism과 캐시 코히런스 UIUC, 2009-2015
풀려는 문제
멀티코어 CPU의 MESI/MOESI 캐시 코히런스 프로토콜은 “언제 어디서나 데이터 레이스가 일어날 수 있다”라는 가정 아래 설계되어 있다. 그래서 directory, broadcast invalidation, transient state가 잔뜩 필요하다. 만약 프로그래머가 “여기서부터 여기까지는 데이터 레이스가 없다”라고 컴파일러/하드웨어에 알려준다면? 캐시 프로토콜은 훨씬 단순해질 수 있지 않을까.
대표 논문
- DeNovo (PACT 2011, Best Paper) — DPJ의 region/effect 정보를 캐시 프로토콜이 활용.
- DeNovoND (ASPLOS 2013, IEEE Micro Top Picks 2014) — 락 같은 비결정 동기화도 disciplined하게 표현.
- DeNovoSync (ASPLOS 2015) — lockfree 같은 임의 동기화도 writer-initiated invalidation 없이.
- PhD Thesis (UIUC, 2015) — 위 셋을 묶음.
먼저 읽을 것 PACT 2011 → ASPLOS 2013 → ASPLOS 2015 순서
축 B — Deterministic Parallel Programming UIUC, 2009
풀려는 문제
자바/C++ 같은 일반 언어로 멀티코어 프로그램을 짜면 데이터 레이스가 너무 쉽게 일어난다. 컴파일 시점에 데이터 레이스를 차단할 수는 없을까?
대표 논문
- DPJ — A Type and Effect System for Deterministic Parallel Java (OOPSLA 2009). 막내 저자 위치이지만 후속 DeNovo가 이 시스템 위에서 굴러간다.
축 C — OpenMP-on-GPU 컴파일러 IBM, 2015-2019
풀려는 문제
IBM의 슈퍼컴 Summit(POWER9 + Volta)에서 과학 코드들이 OpenMP 4.5의 target 지시문 한 줄로 GPU 가속을 받아야 한다. 그런데 Clang/LLVM의 OpenMP 백엔드는 GPU에서 효율이 매우 떨어졌다.
대표 논문
- Integrating GPU Support for OpenMP into Clang (LLVM-HPC@SC 2015)
- Offloading Support for OpenMP in Clang and LLVM (2016)
- Performance Analysis of Clang's OpenMP 4.5 GPU (2016)
- Implementing Implicit OpenMP Data Sharing on GPUs (2017)
- Efficient Fork-Join on GPUs Through Warp Specialization (HiPC 2017)
- Leveraging OpenMP 4.5 in CLANG for Fortran (IWOMP 2017) — XLFLANG IR-to-IR.
먼저 읽을 것 2017년 두 편 — implicit data sharing + warp specialization. OpenMP의 thread/team 모델을 GPU의 SIMT에 어떻게 떨어뜨릴지가 가장 잘 드러난다.
축 D — ML for Compiler Optimization IBM 후기 + POSTECH, 2019-2022
풀려는 문제
컴파일러는 수많은 휴리스틱(register allocation, autotuning 검색 공간, target/host 결정 등)으로 가득하다. 이걸 ML로 학습시킬 수 없을까?
대표 논문
- CogR (PACT 2019 poster) — IBM 시기, OpenMP target 영역을 CPU/GPU 어디서 실행할지 ML로 결정.
- MetaTune (arXiv 2021) — TVM의 cost model을 meta-learning으로 빠르게 적응.
- One-Shot Tuner (CC 2022) — NAS 기반 단일 패스 cost model.
- Greedy-SO (LCPC 2021) — LLVM의 RA를 패턴 가이드형으로 하이브리드.
축 E — PIM/NDP 컴파일러와 런타임 POSTECH, 2021-
풀려는 문제
PIM(Processing-in-Memory)과 NDP(Near-Data Processing)는 “데이터를 옮기지 말고 메모리 옆에서 계산하자”라는 발상이다. 그런데 PyTorch나 TVM 같은 ML 프레임워크가 PIM을 어떻게 자동으로 활용할까? PIM과 GPU를 함께 쓰면 누가 무엇을 맡을까?
대표 논문
- NDP in Memory Expander for DNN on GPUs (IEEE CAL 2021) — Hyungkyu Ham 외와.
- Runtime Support for CNN on Digital DRAM PIM (IEEE CAL 2022).
- PIMFlow (CGO 2023) — TVM에 PIM-DRAM 백엔드 통합.
- XLA-NDP (IEEE CAL 2023) — XLA를 NDP에 맞춰 학습 그래프 분할.
- PRIMO (ICCAD 2023) — KAIST 김주영팀과 PIM-DRAM 풀스택 에뮬레이션.
- IMTP / ATiM (arXiv 2024 / ISCA 2025) — UPMEM PIM용 search-based 텐서 컴파일러.
- CXL NDP (MICRO 2024) — Gwangsun Kim 그룹과 CXL 메모리 확장기 NDP.
먼저 읽을 것 PIMFlow → ATiM
축 F — 가속기 DSE POSTECH/SNU, 2023-
풀려는 문제
신경망 가속기를 새로 설계할 때 타일 크기·레지스터 파일 크기·dataflow 같은 변수가 너무 많다. 자동으로 탐색할 방법은? 그리고 “모델 + 가속기 동시” 검색까지 할 수 있을까?
대표 논문
- Heterogeneous ACiM Search (ICCAD 2023).
- NavCim (PACT 2024) — 아날로그 CiM 종합 DSE.
여섯 축이 한 줄로 모이면
시간 순으로 보면 한 칸씩 추상화 레이어가 위로 올라간다. 캐시 → 동기화 → OpenMP 컴파일러 → ML 컴파일러 → PIM 컴파일러 → DSE. 그러나 모든 축의 공통어는 같다. “프로그래머·컴파일러가 알고 있는 의미적 정보를 아래쪽 시스템에 흘려보내자.” RISC가 “하드웨어를 단순하게 하기 위해 컴파일러에 부담을 주자”라고 했던 그 줄에 정확히 서 있다.
연도별 연구 흐름
한 논문을 한 단위로 두고, “어떤 병목을 발견했고, 어떤 기계를 만들었고, 어떤 결과를 냈는가”를 일관된 형식으로 본다.
전체 논문 표는 부록 A에서 정리·검색용으로 제공한다. 이 절은 “읽고 이해하기”용이다.
2009 — DPJ: 결정적 병렬 자바
한 줄 요약 — 자바에 region·effect 타입을 도입해 컴파일 시점에 데이터 레이스를 차단.
문제의식 — 일반 자바 멀티스레드는 데이터 레이스가 너무 쉽게 일어남.
핵심 아이디어 — 객체 필드를 region으로 쪼개고, 메서드 effect를 “읽음/쓰기 + 어느 region”으로 명시. 컴파일러가 region 충돌을 정적으로 검사.
왜 중요한가 — 이 “region-effect” 표현은 후속 DeNovo의 하드웨어 캐시 프로토콜이 활용하는 입력이 된다. PL → 컴파일러 → 하드웨어로 정보가 흘러내려가는 첫 단계.
출처 — ACM DL
2010 — DeNovo 첫 발표 + ParKD
- DeNovo: Rethinking Hardware for Disciplined Parallelism (HotPar 2010) — DeNovo의 첫 워크샵 발표.
- Parallel SAH k-D Tree Construction (ParKD) (HPG 2010) — DeNovo 평가용 워크로드 중 하나. 코드 github.com/bchoi/ParKD.
2011 — DeNovo 본편 (PACT, Best Paper)
한 줄 요약 — DPJ의 region/effect 정보를 활용해 MESI보다 단순하고 트래픽이 적은 캐시 코히런스 프로토콜.
문제의식 — MESI/MOESI는 directory · transient state · invalidation broadcast가 잔뜩 필요. 가정이 너무 비관적이라서 그렇다.
핵심 아이디어
- DPJ region으로 “언제 누구에게 쓰기 권한이 있는가”를 안다.
- parallel phase 시작 시점에 self-invalidation: 캐시는 자기 라인을 직접 무효화하고 새로 읽음. invalidation 메시지가 필요 없음.
- shared state가 사라지므로 transient state도 사라지고 directory도 작아진다.
실험 — SIMICS+GEMS로 DeNovo 캐시 구현. 32-core에서 MESI 대비 트래픽 30~80% 감소.
DeNovo는 캐시 코히런스의 “MESI에 대한 반항”이다. MESI가 “모두를 의심하라”라면 DeNovo는 “서로 약속한 것만 지키자”다.
출처 — ACM DL
2013 — DeNovoND
한 줄 요약 — 락 같은 비결정 동기화도 disciplined하게 다루면 효율적인 코히런스가 가능.
문제의식 — PACT 2011은 deterministic 코드만 가정. 현실 시스템 코드는 lock·atomic·CAS를 쓴다.
핵심 아이디어 — 락이 데이터 레이스를 “컨테인”한다는 사실을 이용. 락 release 시점에 self-invalidation을 트리거.
출처 — ACM DL
2015 — DeNovoSync, PhD Thesis, IBM 합류
임의 lockfree 동기화(Treiber stack, MS-queue 등)도 writer-initiated invalidation 없이 동작 — 더 이상 “writer가 다른 코어 캐시를 비우라고 메시지를 보내지 않아도” 코히런스 유지. self-invalidation의 일반화.
출처 — ACM DL
같은 해 PhD Thesis DeNovo: Rethinking the Memory Hierarchy for Disciplined Parallelism을 마무리. ACM Doctoral Dissertation Award Nomination, UIUC Kuck Outstanding Thesis Runner-up. 그리고 IBM TJ Watson에 합류해 CORAL 프로젝트(Summit/Sierra)에 투입.
2015 – 2017 — IBM CORAL: OpenMP 4.5 GPU 컴파일러
이 시기 논문은 한 묶음으로 읽어야 의미가 있다. 모두 “OpenMP 4.5 target 지시문을 NVIDIA GPU에서 어떻게 효율적으로 실행할까”라는 단일 질문 아래 쌓여 있다.
front-end가 target 영역을 별도 함수로 outline하고 NVPTX backend로 보냄. data mapping은 libomptarget이 처리.
data movement, async offloading, OpenMP 4.5 모든 절(map, depend, defaultmap)을 정식 구현.
가장 큰 병목: OpenMP의 nested parallelism을 GPU의 단순한 SIMT 모델 위에서 어떻게 표현할까.
private, firstprivate, implicit shared 변수를 GPU에서 효율적으로 구현. CUDA의 stack 변수와 dynamic shared memory 활용.
OpenMP의 fork-join을 GPU에서 warp specialization으로 구현. master warp · worker warp 분담.
GPU엔 “team”이라는 개념이 없다. OpenMP의 team을 CTA에 매핑하는 단순한 방식은 nested parallelism을 못 다룬다. warp specialization은 SIMT 위에 fork-join을 “얹는” 영리한 방법.
IBM XL Fortran 코드를 Clang의 OpenMP-on-GPU 흐름으로 가져오는 IR-to-IR 번역기. HPC의 절반은 여전히 Fortran이다.
NVIDIA Unified Memory가 OpenMP target 데이터 매핑에 어떻게 영향을 주는지 측정. 컴파일러가 미리 옮길지(map), Unified Memory에 맡길지의 트레이드오프.
linked list/tree처럼 포인터로 연결된 데이터를 GPU에 자동 복사. data flatten + pointer relocation.
2019 — CogR: ML for systems의 시작
OpenMP target을 CPU vs GPU 어디서 실행할지 ML로 결정. 입력은 “프로그램 구조 + 입력 크기”. 이게 향후 MetaTune·One-Shot Tuner로 이어지는 발화 지점.
2019 – 2024 — POSTECH 시기: 두 줄거리
POSTECH 5년의 작업은 두 갈래로 흐른다. (1) 컴파일러를 ML 컴파일러로 확장하면서 autotuning과 cost model에 ML을 도입한다. (2) PIM/NDP가 등장하면서, 그 PIM을 ML 프레임워크가 자동으로 쓰도록 컴파일러·런타임을 만든다.
TVM autotuning에 meta-learning cost model. 새 워크로드에서 zero/few-shot 적응.
LLVM greedy RA의 spill cost와 패턴 기반 ILP를 결합한 하이브리드 RA. 컴파일러를 손에 잡는 사람만 쓸 수 있는 논문.
NAS 기반 단일 패스 cost model로 TVM autotuning 시간을 단축. 사용자가 가장 많이 욕하는 “튜닝이 너무 오래 걸린다”를 정조준.
코드/아티팩트 — Zenodo 6337971
GPU 옆에 NDP가 붙은 메모리 확장기로 DNN 가속. PIMFlow·XLA-NDP·CXL NDP로 가는 다리.
PIM-DRAM에서 CNN을 실행하기 위한 런타임. PIMFlow의 짧은 버전.
TVM 안에 PIM-DRAM 백엔드를 통합해 GPU+PIM 협업을 자동화. ONNX/TF → Relay → PIM/GPU 분할 → 각 백엔드 코드 생성. PIM과 GPU가 동시에 실행되는 파이프라인까지 컴파일러가 자동 생성.
XLA의 학습 그래프를 GPU와 NDP 메모리에 분할 실행. PIMFlow가 추론 중심이라면 이건 backward graph 분할.
가변 타일 크기 아날로그 CiM 가속기의 다목적 검색. NavCim의 전조. 코드 — github
PIM-DRAM 풀스택 ML 워크로드 에뮬레이션 프레임워크.
2024 — CXL NDP, NavCim, IMTP
한 줄 요약 — CXL 메모리 확장기 안에 NDP를 넣어 “오버헤드 적은 일반 목적 가속”을 제공.
문제의식 — PIM은 ASIC을 메모리에 박아 워크로드 종속이 강함. CXL은 일반 목적 메모리 확장. 둘을 결합할 수 없을까.
핵심 아이디어 — CXL 트랜잭션 안에 일반 목적 명령(ALU, gather/scatter)을 끼워넣고 host와 capacity-coherent하게 동작.
출처 — arXiv:2404.19381
아날로그 CiM 종합 DSE. 코드 — github.com/wntjd9805/navcim
UPMEM PIM(상용 PIM) 대상 search-based 텐서 컴파일러. 사실상 “TVM-for-PIM”의 발전형.
2025 — HYPERF, ATiM
TVM 텐서 오토튜닝 + OpenMP C/C++ 프론트엔드 결합 HPC 자동튜너. 박사 시기 HPC 경험 + IBM OpenMP + POSTECH TVM이 한 곳에 모인 작품. ETRI/KISTI의 한국 슈퍼컴 AB21 협업의 산물.
UPMEM DRAM-PIM 대상 search-based 텐서 컴파일러. IMTP의 정식판.
출처 — arXiv:2412.19630
유 교수님의 uPIMulator(HPCA 2024 Best Paper)와 같은 UPMEM 생태계 위에 컴파일러 측 작업을 놓는 것 — 한국 시스템 연구의 PIM 두 축이 만나는 지점이다.
2026 — FORTE
pandas/PySpark 같은 DataFrame 쿼리를 온라인으로 최적화. SNU 데이터사이언스대학원의 정체성과 잘 맞는 “데이터프레임 + 컴파일러” 조합. 컴파일러 사람이 데이터 시스템으로 영역을 넓히는 신호.
이 챕터에서 가져갈 것
- 성 교수님 논문은 “시간이 지나면서 한 단계씩 위 레이어로 올라가지만 아래 레이어를 잊지 않는” 패턴.
- 박사 시기엔 캐시, IBM에선 컴파일러, 한국에선 ML 컴파일러 + PIM 컴파일러 + DSE.
- 모든 작업이 “데이터를 어디 두고 누가 옮길지를 컴파일러가 결정하게 하자”라는 한 줄로 모인다.
대표 프로젝트 해부
논문은 “주장”이고 시스템은 “물증”이다. 이 절은 다섯 개의 “물증”을 한 단위로 본다.
4-1. DeNovo 캐시 코히런스
| 무엇을 | MESI보다 단순한 캐시 코히런스 프로토콜 |
|---|---|
| 왜 | MESI는 모든 공유접근이 임의라고 가정 → directory + transient state + invalidation broadcast가 필요 |
| 입력 | DPJ region/effect annotation이 있는 병렬 프로그램 |
| 출력 | 같은 프로그램이 더 적은 코히런스 트래픽으로 실행 |
| 아키텍처 | 캐시는 region tag 보유. read-only는 자유 캐싱, parallel phase 시작 시 self-invalidate. directory 대신 owner table |
| 결과 | MESI 대비 트래픽 30~80% 감소, on-chip 면적도 줄어듦 |
| 코드 | UIUC RSim group — 공개 자료가 파편화. 학생이 SIMICS+GEMS로 reimplement해야 |
| 재현 난이도 | 어려움. gem5 ruby 모듈 위에 재구현하면 좋은 학기 프로젝트 |
| 쪼개면 | (1) MESI를 gem5에 직접 작성 → (2) DeNovo의 self-invalidation 추가 → (3) DPJ 같은 deterministic-region 트레이스 생성기 |
4-2. PIMFlow
| 무엇을 | TVM에 PIM-DRAM 백엔드를 통합하고 GPU/PIM 분할 실행을 자동 결정 |
|---|---|
| 왜 | PIM의 가장 큰 약점 — “PyTorch에서 어떻게 쓰지?”. 칩을 만들어도 모델을 매핑 못 시킴 |
| 입력 | ONNX/TF 모델 → TVM Relay |
| 출력 | GPU(CUDA) + PIM 코드, 그리고 두 디바이스 분할/동시 실행 계획 |
| 아키텍처 | TVM Relay → 분할 결정기(layer별 PIM-suit 판정) → PIM/GPU 코드 생성기 → 런타임이 두 디바이스 협조 |
| 코드 | github.com/yongwonshin/PIMFlow |
| 재현 난이도 | 중간. TVM 빌드 + PIM 시뮬레이터(Newton/PIMSimulator) 필요 |
| 쪼개면 | (1) TVM Relay + 자체 dummy 백엔드 → (2) layer 단위 “GPU vs PIM” 결정 휴리스틱 → (3) cost model을 ML로 학습 |
4-3. One-Shot Tuner
| 무엇을 | NAS 기반 단일 패스 cost model로 TVM autotuning 시간 단축 |
|---|---|
| 왜 | TVM 사용자가 가장 자주 부딪히는 벽 — 한 모델당 수 시간 ~ 며칠 |
| 아키텍처 | NAS controller가 schedule transformation 시퀀스 생성 → cost model 점수 → 단일 패스로 최적 후보 선정 |
| 결과 | AutoTVM/Ansor 대비 튜닝 시간 수배~수십배 단축 |
| 코드 | Zenodo 6337971 |
| 쪼개면 | (1) AutoTVM XGBoost cost model 직접 학습 → (2) NAS 기반 single-pass 변형 → (3) MetaTune의 meta-learning 결합 |
4-4. ATiM (UPMEM PIM 컴파일러)
| 무엇을 | UPMEM PIM 보드 대상 search-based 텐서 컴파일러 |
|---|---|
| 왜 | UPMEM DPU는 SIMD 없고 코어 단순. PyTorch 모델을 어떻게 매핑할까? |
| 아키텍처 | TVM TensorIR → UPMEM-aware schedule space (banking, DPU 분할, host-DPU 통신) → search → DPU 코드 |
| 결과 | 사람 손 코드와 비슷하거나 능가 |
| 재현 난이도 | 중간. UPMEM 시뮬 또는 실제 보드 필요 |
| 쪼개면 | (1) UPMEM 보드에서 dot product 손코딩 → (2) TVM TensorIR로 표현 → (3) schedule search 도입 |
4-5. NavCim (Analog CiM DSE)
| 무엇을 | 아날로그 CiM(Compute-in-Memory) 종합 DSE 도구 |
|---|---|
| 왜 | 아날로그 CiM은 cell array 크기, ADC 정밀도, 노이즈 마진 등 변수가 너무 많음 |
| 아키텍처 | 모델 → mapping search → NeuroSim 평가 → Pareto front |
| 코드 | github.com/wntjd9805/navcim |
| 쪼개면 | (1) NeuroSim 빌드 + 단일 layer 시뮬 → (2) tile size grid search → (3) NSGA-II multi-objective DSE |
성효진 교수님의 연구 스타일 요약
한 연구자의 “스타일”은 어떤 단어를 반복해서 쓰는지, 어떤 도구를 손에 잡는지, 어떤 종류의 병목에 흥분하는지로 드러난다.
반복 등장하는 문제의식
- “위에서 알고 있는 정보를 아래로 보내자” — 언어 → 컴파일러 → 하드웨어로 의미 정보를 전달.
- “휴리스틱은 ML 모델로 대체할 수 있다” — register allocator, autotuner, target/host 결정 등.
- “데이터를 어디서 계산할 것인가” — GPU / PIM / NDP / CXL 사이의 분할.
선호하는 시스템 레이어
캐시 코히런스(박사) → 컴파일러 백엔드(IBM) → 컴파일러 프런트엔드 + 런타임(POSTECH/SNU) → DSE(2023+).
레이어가 위로 올라가면서도 “이 위 레이어가 아래 레이어에 무엇을 알려주면 더 빨라지는가”라는 같은 문제를 반복해서 푼다.
자주 쓰는 방법론
- 시뮬레이터 + 오픈 컴파일러 — SIMICS/GEMS/gem5, LLVM, TVM. 손에 잡고 직접 수정.
- 벤치마크 정의 → 측정 → 병목 식별 → 컴파일러 패스 추가 — 매우 일관된 워크플로.
- ML 모델로 휴리스틱 학습 — meta-learning, NAS, RL.
어떤 종류의 병목을 중요하게 보는가
- 하드웨어가 알 수 없는 의미적 정보(region, effect, workload structure)가 위에 있는데 못 쓰고 있는 상황.
- 컴파일러가 동일한 일을 매번 처음부터 다시 하는 상황(autotuning).
- 새 하드웨어(PIM/NDP/CXL/Analog CiM)가 등장했지만 ML 프레임워크가 못 쓰는 상황.
논문들이 어떤 스토리로 이어지는가
박사 (UIUC)
DeNovo → DeNovoND → DeNovoSync. 한 그래프로 묶인다.
IBM
Clang/LLVM OpenMP-on-GPU 시리즈. 한 그래프로 묶인다.
한국 (현재)
ML 컴파일러 + PIM 컴파일러 + DSE — 세 가닥 그래프.
그래프 사이의 다리
ML for systems (CogR → MetaTune → One-Shot Tuner)와 “데이터 이동을 컴파일러가 관리한다” (OpenMP target data → PIMFlow → CXL NDP).
관심 있는 학생이 준비할 것
- 컴파일러 — LLVM/TVM 빌드 + IR pass 작성 경험.
- 컴퓨터구조 — 캐시/메모리/MMU/coherence.
- ML 시스템 — autotuning, cost model, NAS 기초.
- 가속기 시뮬레이션 — gem5, NeuroSim, SystemC 중 하나.
- 언어 — Python + C++ + (가능하면) CUDA.
CUDA / Triton / GPU 커널 지망자에게
성 교수님 작업은 “커널을 짜는 사람”보다 “커널을 자동으로 짜는 시스템을 만드는 사람”의 시각이다. 즉 Triton 자체보다는 “Triton의 schedule space를 어떻게 검색할까”에 가까운 영역. CUDA를 짜고 싶다면 PIMFlow 같은 결과물을 “사용자”로 활용하면서 “이 컴파일러가 만든 코드를 손으로 짠 코드와 비교”하는 방식이 학습에 좋다.
앞으로의 방향 — 명시 자료 + 추정
한 연구자의 “다음”을 정확히 점치는 사람은 본인뿐이다. 이 절은 공개 자료에서 확인되는 방향과 “흐름상 자연스러운 추정”을 분리한다.
명시 자료에서 확인되는 방향
- CXL 메모리 확장기 + NDP 컴파일러 — MICRO 2024 논문이 시작점. CXL 풀(pool)을 ML 프레임워크가 어떻게 자동 활용할지가 다음 단계.
- 상용 PIM 생태계 — ATiM(ISCA 2025)이 UPMEM 대상이므로, SK Hynix HBM-PIM 등 다른 상용 PIM 백엔드로 확장될 가능성이 높음.
- HPC 자동튜닝 — HYPERF(HPDC 2025) 흐름 연장. 한국 슈퍼컴 AB21용 OpenCL 컴파일러·런타임 후속.
- ML for Systems · Systems for ML — SNU 데이터사이언스 세미나의 슬로건이자 향후 연구 라인의 방향타.
최근 흐름상 자연스러운 다음 문제 추정
- LLM serving 컴파일러 — vLLM/SGLang/TensorRT-LLM이 KV cache, paged attention, speculative decoding을 손으로 짠다. 이걸 컴파일러가 자동화할 가능성. IMTP/ATiM이 그 시그널.
- Analog CiM + DNN training — NavCim이 inference만 다루는데, training으로 넓힐 가능성.
- DataFrame + 컴파일러 — FORTE(CGO 2026)는 SNU GSDS 정체성과 강하게 맞물림. 데이터프레임 컴파일 기반 가속이 후속으로.
산업 변화와의 연결 추정
- 삼성/SK 하이닉스 PIM 상용화 — 두 회사 모두 HBM-PIM 제품을 갖추고 있음. 컴파일러 측 협력이 거의 확실.
- CXL 2.0/3.0 풀링 — 데이터센터 표준이 CXL로 옮겨가면서 NDP가 보편 모델이 됨.
- NVIDIA Grace, AMD MI300, Intel Gaudi — 메모리 측에 점점 큰 SoC가 붙고 있어, OpenMP
target류의 컴파일러 경험이 다시 중요해짐.
학생이 준비하면 좋은 구현 프로젝트
- TVM Relay + UPMEM 백엔드를 직접 작성해 dot product/conv1d 두 종을 매핑 — 1개월
- DeNovo coherence를 gem5 ruby 위에 reimplement — 3개월
- CXL Type-3 메모리 확장기 시뮬레이터에 NDP 모듈 추가 — 3개월+
이 연구자를 이해하는 한 문장
성효진 교수님은 “위쪽 레이어가 알고 있는 의미적 정보를 아래쪽 시스템에 흘려보내, 컴파일러가 직접 데이터의 위치와 흐름을 결정하게 만드는 사람”이다.
연구자 프로필
석사 때 JPEG2000 ASIC을 만들던 사람이 박사 때 GPU 분기 마이크로아키텍처를 풀고, NVIDIA에서 vDNN과 SCNN을 만들고, 한국으로 돌아와 추천시스템 가속과 PIM의 한국 학술 라인을 세운 사람.
지금 어디에 계신가
- KAIST 전기 및 전자공학부 정년보장 부교수 (2025년 7월 정년보장). 2026년 2월 KAIST Endowed Chair Professor(석좌교수) 임명. 출처: KAIST EE 프로필.
- 겸임 — KAIST 반도체시스템공학과, AI 대학원, AI 반도체 대학원.
- 연구실 — VIA · Vertically Integrated Architecture Research Group. sites.google.com/view/kaist-via
- 사무실 — KAIST N1 Building #809.
학력
| 학위 | 기관 | 연도 | 지도교수 / 비고 |
|---|---|---|---|
| Ph.D. Computer Engineering | UT Austin | 2014 | Mattan Erez / Performance-Efficient Mechanisms for Managing Irregularity in Throughput Processors |
| M.S. 전기공학 | KAIST | 2009 | 박인철 (In-Cheol Park) / JPEG2000 비트플레인 코더 |
| B.S. 전자공학 | 서강대학교 | 2007 | Summa Cum Laude · 수석 졸업 |
경력
학술 프로필
- VIA Research Group — sites.google.com/view/kaist-via
- 개인 홈페이지 — minsoorhu.github.io
- DBLP — dblp.org/pid/02/8105
- Google Scholar — h-index 30 · 인용 ~5,833 (2026.04 시점)
- VIA GitHub 조직 — github.com/VIA-Research (uPIMulator, vTrain 등 공개)
- ORCID 0000-0003-3303-8681
핵심 협업 네트워크
UT Austin 박사 시절
Mattan Erez (지도) · Michael Sullivan · Jingwen Leng · Seong-Lyong Gong · Jungrae Kim. GPU 마이크로아키텍처 / DRAM 라인.
NVIDIA Research
Stephen W. Keckler · William J. Dally · Mike O'Connor · Niladrish Chatterjee · Joel Emer · Angshuman Parashar · Jeff Pool. 가속기 라인의 “올스타” 라인업.
KAIST · 서울대 협업
John Kim (KAIST EE NoC) · Jongse Park (KAIST CS) · Youngjin Kwon (KAIST CS) · 안정호 Jung Ho Ahn (서울대). FHE 가속기 BTS/ARK 라인은 안정호 그룹과의 합작.
해외 협업
Microsoft Research Asia (Pre-gated MoE, ZipFlow) · Meta (Kiwan Maeng, Edward Suh) · Harvard (David Brooks, Gu-Yeon Wei) · NAVER Cloud / SqueezeBits (Gaudi 평가).
VIA 그룹 학생들
박사과정 12명, 석사과정 11명 규모. 졸업생 행보 — Youngeun Kwon → NVIDIA, Yujeong Choi → Google, Bongjoon Hyun → Samsung Electronics DS, Ranggi Hwang → UNIST 교수, Yunjae Lee → Samsung DS. 한국 시스템 학술의 “송출망” 노드 중 하나로 자리잡았다.
수상과 학회 서비스
- HPCA-30 Best Paper Award (2024, Edinburgh) — uPIMulator. 한국 연구진 최초의 top-tier 컴퓨터 아키텍처 best paper.
- IEEE Micro Top Picks Honorable Mention 3회 — TensorDIMM (2020) · NeuMMU (2021) · uPIMulator (2025).
- 2024 KAIST 10대 연구성과 (uPIMulator).
- ISCA / HPCA / MICRO Hall of Fame 모두 입성.
- MICRO 2025 Program Co-Chair — 아시아 대학 교수 최초.
- IEEE Transactions on Computers Associate Editor (2024–).
- Google Research Scholar Award (2023), Facebook Faculty Research Award (2020).
- 2024 IITP SW Star Lab — “Secure and Private AI System” 8년 지원.
이 챕터에서 가져갈 것
- 유 교수님은 GPU 마이크로아키텍처에서 출발해 차츰 GPU 위에 얹는 것들(DL 학습·추천·LLM·에이전트)로 영역을 위로 옮긴 사람.
- NVIDIA에서 vDNN과 SCNN을 만든 경험이 한국 작업의 톤을 결정한다 — “DL 학습/추론의 메모리 병목”을 본능적으로 본다.
- 그가 만드는 시스템은 거의 항상 하드웨어 프로토타입 또는 사이클 정확 시뮬레이터가 함께 나온다 — 컴파일러 중심인 성 교수님 그룹과의 결정적 차이.
전체 연구 지도
한 사람이 어떻게 60+편의 논문을 일관된 “이야기”로 묶을 수 있는지 보여주는 좋은 사례.
9개 축으로 묶이는데, 첫 축이 GPU 마이크로아키텍처라면 마지막 축은 AI 에이전트 인프라다. 그 사이에 DL 메모리, 추천, NPU 서빙, PIM, 보안, GNN, LLM이 차곡차곡 쌓인다.
축 A — GPU 마이크로아키텍처 UT Austin / NVIDIA, 2012-2018
풀려는 문제
GPU의 SIMT는 “warp 안의 32개 thread가 같은 명령을 실행”. 그런데 if-else로 분기하면 SIMD 자원의 절반이 놀게 된다. 이 “control divergence”와 “memory divergence”가 GPU의 두 큰 비효율.
대표 논문
- CAPRI (ISCA 2012) — 분기 컴팩션 예측.
- Dual-Path Execution (HPCA 2013) — if/else 동시 실행.
- SIMD Lane Permutation (ISCA 2013) — warp lane 재배치.
- Locality-Aware Memory Hierarchy (MICRO 2013).
- (NVIDIA 시기) vDNN · SCNN · cDMA.
축 B — DL 학습 메모리 시스템 NVIDIA + KAIST, 2016-2022
풀려는 문제
DNN 모델이 커지면서 GPU 메모리는 너무 작다. 모델 크기·활성화·gradient를 어떻게 메모리에 다 담을까?
대표 논문
- vDNN (MICRO 2016) → cDMA (HPCA 2018) → Beyond the Memory Wall (MICRO 2018) → Tensor Casting (HPCA 2021) → Training from GPU Scratch (ISCA 2022).
먼저 읽을 것 vDNN — DeepSpeed ZeRO-Offload, FSDP CPU offload의 학술적 시작점.
축 C — 추천시스템 가속 KAIST 2018-
풀려는 문제
Meta/Google의 추천시스템은 테라바이트급 embedding table을 다룬다. embedding은 메모리 바운드, MLP는 compute 바운드 — 두 성격이 한 모델 안에 공존.
대표 논문
- TensorDIMM (MICRO 2019) — embedding NMP DIMM.
- Centaur (ISCA 2020) — chiplet sparse-dense 가속기.
- Tensor Casting (HPCA 2021) — embedding 학습 가속.
- Training from GPU Scratch (ISCA 2022).
- PreSto (ISCA 2024) — SSD 내부 전처리.
- ElasticRec (ISCA 2024) — 마이크로서비스 서빙.
- LazyDP (ASPLOS 2024) — DP 추천 학습.
- Hera (PACT 2025) — 이기종 멀티 테넌트 서빙.
- HSTU 분석 (IEEE CAL 2025) — Meta 생성형 추천 워크로드.
먼저 읽을 것 TensorDIMM → Centaur → Tensor Casting
축 D — NPU 스케줄링과 서빙 KAIST 2020-
풀려는 문제
클라우드 GPU/NPU에서 여러 추론 요청을 SLA 맞춰 처리. 단순 batch보다 똑똑한 스케줄링. NPU에 preemption은 없거나 느림. 멀티 테넌시는?
대표 논문
- PREMA (HPCA 2020) — preemptible NPU 다중 태스크.
- NeuMMU (ASPLOS 2020) — NPU MMU.
- LazyBatching (HPCA 2021) — SLA-aware 배칭.
- PARIS/ELSA (DAC 2022) — MIG GPU elastic 스케줄링.
- ElasticRec (ISCA 2024).
- PREBA (DAC 2026) — MIG 기반 추론 서버 HW/SW 코디자인.
축 E — PIM/NMP 시리즈 KAIST 2019-
풀려는 문제
메모리 대역폭은 “memory wall”의 본질. 데이터를 메모리 옆에서 처리하면 wall을 넘는다. 그런데 상용 PIM(UPMEM)은 어떻게 생겼고, 학술 PIM과는 무엇이 다른가?
대표 논문
- TensorDIMM (MICRO 2019).
- Beyond the Memory Wall (MICRO 2018) — memory-centric HPC 비전.
- TRiM (MICRO 2021) — tensor reduction in memory.
- uPIMulator / Pathfinding PIM (HPCA 2024 Best Paper) — UPMEM 풀스택 시뮬레이터.
- PIM-MMU (MICRO 2024) — host-PIM 데이터 전송 가속.
- PIM-malloc (HPCA 2026) — PIM용 동적 메모리 할당자.
먼저 읽을 것 uPIMulator → PIM-MMU
축 F — 보안 가속기: FHE / DP KAIST 2022-
풀려는 문제
FHE(완전동형암호)와 DP(차분 프라이버시)는 “계산은 하되 raw 데이터를 보지 않는다”의 두 큰 도구. 둘 다 일반 CPU/GPU에서 100~10,000배 느림.
대표 논문
- BTS (ISCA 2022) — bootstrappable FHE 가속기.
- ARK (MICRO 2022) — FHE 가속기, 키 재사용.
- DiVa (MICRO 2022) — DP-SGD 가속기.
- LazyDP (ASPLOS 2024).
- GPU-based PIR (ASPLOS 2024) — Harvard/Meta 협업, on-device ML 추론.
축 G — GNN과 그래프 KAIST 2022-
대표 논문
- SmartSAGE (ISCA 2022) — in-storage GNN 학습.
- Understanding NVM for GNN (IEEE CAL 2021).
- GROW (HPCA 2023) — GCN sparse-dense GEMM 가속기.
축 H — LLM과 MoE 추론 KAIST 2024-
풀려는 문제
LLM 추론은 새로운 메모리 병목(KV cache, expert weights)을 만든다. 학습 비용은 천문학적이고, 추론은 throughput 대 latency의 줄다리기.
대표 논문
- Pre-gated MoE (ISCA 2024) — MoE expert pre-gating, MSRA 협업.
- vTrain (MICRO 2024) — LLM 학습 비용 시뮬레이션.
- Debunking the CUDA Myth (ISCA 2025) — Intel Gaudi vs NVIDIA GPU.
- PASCAL (HPCA 2026) — reasoning LLM phase-aware 스케줄링.
- SpecMoE (DAC 2026) — self-assisted speculative decoding for MoE.
- KV Cache Quantization for Multimodal LLM (IEEE CAL 2026).
축 I — AI 에이전트 인프라 KAIST 2026-
풀려는 문제
AI 에이전트는 LLM을 “여러 번 부른다”. test-time scaling, reasoning trace, tool call이 모두 일반 LLM 추론과 다른 워크로드.
대표 논문
- Cost of Dynamic Reasoning (HPCA 2026) — AI 에이전트 인프라 비용 분석.
- Agent-X (MobiSys 2026) — on-device 에이전트 풀파이프라인 가속.
- PREBA (DAC 2026).
축 J — 새 워크로드 특성화 KAIST 2024-, 부속
3D Gaussian Splatting, T2I Diffusion, Vision Mamba SSM, HSTU 등 새 모델이 나올 때마다 워크로드 특성을 분석하고 후속 가속기 작업으로 이어진다. 이 “특성화 → 가속기 → 시스템” 사이클이 VIA의 표준 작업 패턴.
아홉 축이 한 줄로 모이면
시간 순으로 “GPU 마이크로아키텍처 → DL 메모리 → 추천 → NPU 서빙 → PIM → 보안 → GNN → LLM → 에이전트”로 펼쳐진다. 각 축은 구체적 시스템(하드웨어 프로토타입 또는 사이클 정확 시뮬레이터)으로 마무리된다. 모든 축을 관통하는 단어는 “데이터의 양과 위치”다.
연도별 연구 흐름
한 사람이 14년 동안 한 건씩 쌓아 올린 “이야기”를 시간 순으로 따라간다.
전체 표는 부록 A에서. 이 절은 “읽고 이해하기”용.
2009 — JPEG2000 비트플레인 코더 KAIST 석사 시기
- Memory-less Bit-Plane Coder Architecture for JPEG2000 with Concurrent Column-Stripe Coding (ICIP 2009)
- Architecture Design of a High-Performance Dual-Symbol Binary Arithmetic Coder for JPEG2000 (ICIP 2009)
- A Novel Trace-Pipelined Binary Arithmetic Coder Architecture (SiPS 2009)
- Optimization of Arithmetic Coding for JPEG2000 (IEEE TCSVT 2010)
박인철 교수님 지도로 JPEG2000 영상부호화 ASIC 설계. 이 시기 경험이 RTL 감각을 만들고, 박사 시기 GPU 마이크로아키텍처와 자연스럽게 연결된다.
“석사 때 ASIC을 설계한 사람이 박사 때 GPU 아키텍처로 가는 길” — RTL을 손에 잡아본 사람만이 가능한 종류의 박사 연구가 있다는 점이 잘 보이는 사례.
2012 — CAPRI: 분기 컴팩션 예측
한 줄 요약 — GPU 분기 발생 시 “warp을 다시 묶으면 효율 회복할 수 있을지” 미리 예측.
문제의식 — SIMT에서 분기 시 thread들이 갈라지면 SIMD 자원 활용도가 떨어짐.
핵심 아이디어 — compaction prediction. 분기 시점에 thread 분포를 보고 “지금 묶으면 효과적일까”를 예측. 비효율적 compaction을 피하므로 오히려 빨라짐.
왜 중요한가 — GPU 분기 처리에 “예측”이라는 일반 마이크로아키텍처 기법을 도입한 작업.
2013 — Dual-Path · SIMD Permutation · Locality-Aware Memory
분기 발생 시 if/else를 “양쪽 동시에” 실행. stack 기반 reconvergence 대신 dual-path queue.
warp 내부 lane을 permute해 SIMD 자원 활용 극대화.
GPU의 메모리 계층을 locality 인식으로 재설계. 박사 학위논문의 “memory irregularity” 절을 정리한 작품.
2014 – 2015 — UT Austin 졸업 + NVIDIA 합류
- GPUVolt (ISLPED 2014) — GPU 전압 노이즈 특성화/완화. J. Leng / V. Reddi와 공동.
- Priority-Based Cache Allocation for Throughput Processors (HPCA 2015) — NVIDIA Research(D.R. Johnson, M. O'Connor, S.W. Keckler)와의 첫 외부 협업.
- CLEAN-ECC (MICRO 2015) — adaptive granularity 메모리 ECC.
2016 — vDNN
한 줄 요약 — DNN 학습 시 활성화/가중치를 GPU↔CPU로 자동 swap-in/out.
문제의식 — VGG-16 등 큰 모델은 batch 256일 때 28GB 활성화 필요. 당시 Titan X는 12GB. GPU 메모리가 학습의 가장 큰 제약이었다.
핵심 아이디어
- forward 단계의 layer L 활성화는 backward에 다시 쓸 때까지 GPU에 있을 필요 없음 → CPU로 prefetch out.
- backward 시점에 다시 prefetch in.
- cuDNN 알고리즘 선택을 메모리 사용량 기반으로 동적으로.
결과 — AlexNet 89%, VGG-16 95% 메모리 절감. batch 256 28GB를 12GB에서 학습.
왜 중요한가 — DeepSpeed ZeRO-Offload, FSDP CPU offload의 학술적 시작점. 인용 600+.
출처 — arXiv:1602.08124
2017 — SCNN, Architecting DRAM, GPUpd
한 줄 요약 — weight + activation sparsity를 모두 활용하는 PT-IS-CP-sparse 데이터플로우 CNN 가속기.
인용 1,700+, sparse DNN 가속기 분야의 정전(canonical) 논문. 후속 “sparse accelerator”들이 SCNN의 데이터플로우 이름을 그대로 인용한다.
출처 — ACM DL
2018 — cDMA, Beyond the Memory Wall
vDNN의 swap traffic을 activation sparsity(주로 ReLU)로 압축. NVIDIA 시기의 마지막 1저자 작품.
KAIST 부임 후 첫 메이저 논문. DNN이 capacity-bound임을 분석하고 “memory-centric HPC” 비전을 제시. TensorDIMM(MICRO 2019)으로 가는 다리.
2019 — TensorDIMM
한 줄 요약 — 추천시스템 embedding을 위한 NMP DIMM.
문제의식 — 추천 모델의 embedding lookup은 큰 테이블에서 임의 행을 읽고 합하는 패턴. GPU의 high-bandwidth random access를 다 잡아먹는다.
핵심 아이디어 — DIMM 안에 작은 reduction unit을 넣어 lookup + sum까지 메모리 측에서 끝냄.
왜 중요한가 — 한국 PIM/NMP 학술 라인의 출발점.
2020 — Centaur, NeuMMU, PREMA
추천 모델의 sparse(embedding)과 dense(MLP)를 chiplet으로 분리. chiplet 통합이 “이종 워크로드를 다른 칩에서 처리”의 자연스러운 방식임을 보임.
NPU의 가상-물리 주소 변환 병목. NPU에 “OS 추상화”를 학술적으로 처음 다룬 작업.
NPU 다중 추론 작업의 SLA-aware 선점형 스케줄링.
2021 — TRiM, Tensor Casting, LazyBatching, Trident
DRAM 인터페이스 안에 tensor reduction(예: embedding sum) 통합 NMP.
추천 학습에서 sparse embedding 업데이트 가속. 알고리즘-아키텍처 코디자인. 1.9–21배 향상.
NVIDIA Triton Inference Server의 학술적 토대.
GPU 캐시 timing attack으로 AES 키 복원. 보안 라인의 시작.
2022 — DiVa, ARK, SmartSAGE, GPU Scratch, BTS, PARIS/ELSA
이 해부터 KAIST VIA가 “여러 축이 동시에 굴러가는” 그룹으로 자리 잡는다.
DP-SGD의 clipping과 노이즈 추가가 가장 비싼 두 단계임을 분석하고 RTL로 가속.
FHE의 keyswitch와 NTT 가속.
SSD 안에서 그래프 샘플링.
GPU 메모리에서 training data를 “scratch” 처럼 사용. embedding을 메모리 외부에 두고 training.
CKKS bootstrapping을 처음으로 가속.
NVIDIA Ampere MIG GPU의 elastic 스케줄링.
2023 — GROW, HAMMER
self-attention 근사. mean redistribution + linearization.
2024 — 전성기 한 해
이 해는 VIA 그룹의 절정 — MICRO/ISCA/HPCA/ASPLOS top-tier 4개에서 동시에 큰 성과.
UPMEM 상용 PIM의 풀스택 사이클 정확 시뮬레이터. 한국 연구진 최초의 top-tier 컴퓨터 아키텍처 best paper. 국내 architecture 학술의 큰 분기점.
uPIMulator 후속. host-PIM 데이터 전송 가속 MMU.
LLM 학습 비용을 모델/하드웨어/병렬화 전략에 대해 빠르게 평가. GPT-3급 학습을 “모의 실행”으로 추정.
MoE 추론에서 expert 선택을 한 단계 앞에서 미리 결정. 메모리/지연 효율화.
추천 모델 학습 데이터 전처리를 SSD 안에서 수행.
마이크로서비스 기반 추천 서빙 — embedding/MLP 분리해 elastic scaling.
DP 추천 모델 학습의 알고리즘-소프트웨어 코디자인.
실제 GPU NoC를 측정해 종래 학술 모델과의 차이를 드러냄.
2025 — Debunking the CUDA Myth, Hera, Mamba-X
Intel Gaudi NPU와 NVIDIA GPU를 LLM 서빙 워크로드에서 정량 비교. “CUDA 만이 답인가?”에 대한 실증적 응답.
이기종(GPU/CPU) 자원에서 멀티 테넌트 추천 서빙.
Vision Mamba SSM 가속기 for edge.
Meta의 generative 추천 모델 워크로드 분석.
2026 — AI 에이전트와 reasoning LLM의 시대
PIM 동적 메모리 할당. 정적 할당 한계를 넘는 첫 작업.
reasoning LLM(o1/Claude류)의 prefill / decode / long-think 단계를 인식해 스케줄링.
AI 에이전트와 test-time scaling의 인프라 비용 분석. 차세대 “AI 인프라”의 대표 워크로드를 학술적으로 처음 다룬 그룹 중 하나.
모바일 디바이스에서 AI 에이전트의 풀파이프라인 가속.
self-assisted speculative decoding으로 MoE 추론 가속.
MIG 기반 추론 서버 HW/SW 코디자인.
GPU compressed data movement 컴파일러 프레임워크.
이 챕터에서 가져갈 것
- 2018 KAIST 부임 이후 매년 ISCA/MICRO/HPCA/ASPLOS top-tier에 1~3편씩 꾸준히.
- “워크로드 특성화 → 시스템 제안 → 시뮬레이터/프로토타입 → 후속 확장” 사이클이 매우 안정.
- 특히 2024년에 PIM/LLM/추천/보안 4축이 동시에 정점.
대표 프로젝트 해부
VIA 그룹의 시스템들은 “학술 시뮬레이터 + 알고리즘”이라는 한 쌍으로 거의 항상 함께 다닌다. 여기 9개를 한 단위로 본다.
4-1. vDNN — DL 학습 메모리 가상화
| 무엇을 | DNN 학습 시 forward 활성화를 GPU↔CPU로 자동 swap |
|---|---|
| 왜 | GPU 메모리 < 모델/배치 요구량 |
| 입력 | DNN 학습 그래프 + cuDNN |
| 출력 | 더 큰 모델/배치를 같은 GPU에서 학습 |
| 아키텍처 | offload 결정기(layer 단위) + prefetch 큐 + cuDNN 알고리즘 동적 선택 |
| 결과 | AlexNet 89%, VGG-16 95% 메모리 절감, batch 256 28GB를 12GB GPU에서 |
| 코드 | NVIDIA closed (학술 reimpl 필요). PyTorch hook으로 reimpl 가능 |
| 쪼개면 | (1) PyTorch hook 단순 offload → (2) prefetch overlap → (3) cuDNN algorithm 선택까지 |
4-2. SCNN — Sparse CNN 가속기
| 무엇을 | weight + activation sparsity를 모두 활용하는 dataflow CNN 가속기 |
|---|---|
| 왜 | sparse CNN은 GPU에서 효율 떨어짐 (irregular access) |
| 아키텍처 | PT-IS-CP-sparse 데이터플로우. PE 어레이 + accumulator buffer |
| 재현 | RTL 또는 사이클 정확 시뮬(Timeloop+Accelergy) 필요 |
| 쪼개면 | (1) Timeloop으로 dataflow 평가 → (2) PT-IS-CP-sparse를 Timeloop에 표현 |
4-3. TensorDIMM — Embedding NMP
| 무엇을 | embedding lookup + sum을 DIMM 안에서 처리하는 NMP DIMM |
|---|---|
| 왜 | 추천 embedding의 random access가 GPU/CPU 메모리 대역폭을 잠식 |
| 아키텍처 | DIMM 컨트롤러 안에 작은 reduction PE + host 측에 NMP 명령 인터페이스 |
| 재현 | 학술 시뮬레이터(DRAMSim3 + custom NMP 모듈) |
| 쪼개면 | (1) Ramulator 빌드 → (2) NMP reduction 모듈 추가 → (3) DLRM 워크로드 트레이스 평가 |
4-4. Centaur — Chiplet Recommendation Accelerator
| 무엇을 | chiplet 기반 sparse(embedding) - dense(MLP) 가속기 |
|---|---|
| 왜 | sparse와 dense가 한 모델 안에 공존 — 단일 칩으로는 균형이 안 맞음 |
| 입력 | Facebook DLRM 모델 |
| 의미 | chiplet integration을 ML 가속기에 처음 본격 적용 |
4-5. PREMA — Preemptible NPU Scheduling
| 무엇을 | SLA-aware하게 다중 추론 요청을 처리하는 선점형 NPU 스케줄러 |
|---|---|
| 왜 | NPU는 preemption이 비싸지만 클라우드는 다중 테넌트 |
| 핵심 아이디어 | 짧은 “사이드 잡”과 긴 “메인 잡”을 함께 실행하면서 SLA 위반 최소화 |
| 의미 | NPU 멀티 테넌시 학술의 출발점. LazyBatching → ElasticRec → Hera → PREBA로 이어짐 |
4-6. uPIMulator — Commercial PIM Simulator
| 무엇을 | UPMEM 상용 PIM의 풀스택 사이클 정확 시뮬레이터 |
|---|---|
| 왜 | 상용 PIM은 닫힌 박스. 학자가 쓸 수 있는 시뮬레이터가 없었음 |
| 의미 | HPCA 2024 Best Paper. 한국 architecture 학술의 큰 모멘텀 |
| 코드 | github.com/VIA-Research/uPIMulator |
| 쪼개면 | (1) UPMEM dot product DPU 코드 분석 → (2) 시뮬레이터 위에서 다른 워크로드 실행 → (3) 시뮬레이터 internal 수정 (예: 다른 토폴로지) |
4-7. vTrain — LLM 학습 비용 시뮬레이터
| 무엇을 | LLM 학습의 시간/비용/throughput을 모델·하드웨어·병렬화 전략에 따라 빠르게 추정 |
|---|---|
| 왜 | GPT-3급 학습은 “실험”이 어렵고, 실패하면 수백억 손실 |
| 입력 | LLM 구성, GPU 종류, 병렬화(TP/DP/PP/EP) 전략 |
| 출력 | 시간/cost 예측 |
| 의미 | 산업체와 정부 의사결정에 직접 영향 |
| 코드 | github.com/VIA-Research/vTrain |
4-8. Pre-gated MoE — MoE 추론 코디자인
| 무엇을 | MoE 추론에서 expert 선택을 한 단계 미리 예측 |
|---|---|
| 왜 | MoE expert weight가 GPU 메모리에 다 안 들어가는 경우, expert 선택을 “지금 알면” fetch가 너무 늦음 |
| 핵심 아이디어 | 알고리즘: 한 layer 앞에서 다음 layer expert 예측. 시스템: 그 예측에 따라 weight prefetch |
| 의미 | MoE 메모리/지연 트레이드오프를 알고리즘+시스템으로 푼 대표 사례 |
4-9. PASCAL & Cost of Dynamic Reasoning
| 무엇을 | reasoning LLM (o1, Claude reasoning)의 phase(prefill/decode/think)를 구분해 스케줄링하고 인프라 비용을 분석 |
|---|---|
| 왜 | reasoning은 일반 LLM과 달리 “think” 단계가 매우 길고 KV cache가 몇 배 더 큼 |
| 의미 | 차세대 “AI 인프라”의 대표 워크로드를 학술적으로 처음 다룬 그룹 중 하나 |
유민수 교수님의 연구 스타일 요약
한 사람이 매년 top-tier에 1~3편씩 8년간 쌓을 수 있다면, 그 사람의 작업 스타일은 “학습 가능한 패턴”이 되어 있을 것이다.
반복 등장하는 문제의식
- “이 워크로드는 메모리 어디에 어떻게 닿는가” — 거의 모든 작업이 워크로드 특성화에서 시작.
- “데이터 위치를 옮기면 시스템이 빨라진다” — GPU↔CPU(vDNN) → memory측(NMP) → storage측(SmartSAGE/PreSto) → CXL pool(추후 추정).
- “알고리즘 + 아키텍처 코디자인” — Pre-gated MoE, Tensor Casting, LazyDP. 알고리즘 자체를 바꿔 시스템을 더 효율적으로 만든다.
선호하는 시스템 레이어
GPU 마이크로아키텍처(박사) → DL 가속기/메모리(NVIDIA) → NPU/추천/PIM/FHE/DP 가속기(KAIST) → LLM 인프라/AI 에이전트 인프라(2024+).
자주 쓰는 방법론
- 워크로드 특성화 → 시스템 제안 — 한 작업의 첫 단계가 “핵심 병목이 뭔지” 측정.
- 사이클 정확 시뮬레이터 또는 RTL 프로토타입 — 거의 모든 작업이 정량 평가용 구체 인프라를 동반.
- 알고리즘+시스템 공동 설계 — 알고리즘 자체를 바꿔 시스템을 더 효율적으로.
어떤 종류의 병목을 중요하게 보는가
- 메모리 capacity — 모델이 GPU에 안 들어감.
- 메모리 bandwidth — embedding/expert lookup이 대역폭 잠식.
- 이종 워크로드의 자원 미스매치 — sparse/dense, prefill/decode가 한 칩에 같이.
- 새로운 워크로드의 인프라 비용 — reasoning LLM, AI 에이전트.
논문들이 어떤 스토리로 이어지는가
NVIDIA 메모리 라인
vDNN(2016) → cDMA(2018) → Beyond the Memory Wall(2018). “GPU 메모리 capacity 문제”의 정의와 첫 해결책.
추천시스템 라인
TensorDIMM(2019) → Centaur(2020) → Tensor Casting(2021) → Training from Scratch(2022) → PreSto/ElasticRec/LazyDP(2024) → Hera/HSTU(2025).
NPU/GPU 서빙 라인
PREMA(2020) → LazyBatching(2021) → PARIS/ELSA(2022) → ElasticRec(2024) → Hera(2025) → PREBA(2026).
PIM 라인
uPIMulator(2024) → PIM-MMU(2024) → PIM-malloc(2026). 점점 더 OS 친화적으로.
LLM/MoE/에이전트 라인
vTrain(2024) → Pre-gated MoE(2024) → Debunking CUDA(2025) → PASCAL / Cost of Dynamic Reasoning / Agent-X / SpecMoE(2026).
보안 가속 라인
BTS(2022) → ARK(2022) → DiVa(2022) → LazyDP(2024) → GPU-PIR(2024). FHE와 DP 두 갈래.
관심 있는 학생이 준비할 것
- 컴퓨터구조 — Hennessy & Patterson 6판, 캐시·메모리·branch predictor 깊이 있게.
- GPU 아키텍처 — PMPP 책, GPGPU-Sim 사용 경험.
- 디지털 회로 / Verilog — RTL 설계 경험.
- 시뮬레이터 빌드/수정 경험 — gem5, GPGPU-Sim, Ramulator, NVMain, uPIMulator 중 하나.
- 머신러닝 시스템 — PyTorch internals, vLLM, FlashAttention.
- 언어 — Python + C++/CUDA + (가능하면) SystemVerilog.
CUDA / Triton / GPU 커널 지망자에게
유 교수님 작업은 “커널이 어디에 닿는가”를 묻는 사람의 시각이다. Triton 커널을 짜는 사람도 “이 커널의 메모리 access 패턴이 GPU의 캐시/HBM/CXL과 어떻게 상호작용하는지”를 이해해야 한다. uPIMulator나 vTrain을 사용해 “이 커널이 메모리에 닿을 때 어떤 일이 일어나는가”를 정량적으로 보는 훈련이 효과적.
앞으로의 방향 — 명시 자료 + 추정
2026년 한 해 출판물만 봐도 그룹의 다음 큰 그림이 거의 그대로 드러난다 — AI 에이전트, reasoning LLM, 풀스택 PIM, 멀티 인스턴스 GPU 서빙.
명시 자료에서 확인되는 방향
- AI 에이전트 인프라 — HPCA 2026의 Cost of Dynamic Reasoning, Agent-X, PASCAL이 동시에 출판. 명시적으로 “AI 에이전트와 reasoning LLM 인프라가 다음 단계”라고 선언하는 셈.
- PIM 풀스택 — uPIMulator → PIM-MMU → PIM-malloc 순서로 점점 더 OS 친화적인 PIM 인프라.
- 2024 SW Star Lab “Secure and Private AI System” — 8년 지원. FHE/DP 가속기 라인이 더 깊어짐.
- MICRO 2025 Program Co-Chair — 학회 흐름을 본인이 형성할 수 있는 위치.
최근 흐름상 자연스러운 다음 문제 추정
- Reasoning LLM serving 풀스택 — PASCAL은 스케줄링만 다룸. KV cache 관리, expert offloading, speculative decoding을 통합한 reasoning serving 시스템이 다음 단계로 보임.
- Multi-modal LLM 서빙 가속 — KV Cache Quantization for Multimodal LLM(IEEE CAL 2026) 시그널.
- CXL + AI 인프라 — CXL이 NVIDIA Grace, AMD MI300X 등에서 주류가 되면 KAIST 그룹의 메모리 라인이 자연스럽게 CXL로 확장.
- Agentic AI workload + 모바일/엣지 가속 — Agent-X(MobiSys 2026) 시그널.
산업 변화와의 연결 추정
- NVIDIA Blackwell + Rubin 세대 GPU — vTrain 후속으로 next-gen GPU 학습 시뮬이 자연스러운 확장.
- Samsung HBM-PIM, SK Hynix AiM — 한국 PIM 양산이 시작되면 컴파일러/런타임/MMU 측에서 협력이 더 깊어질 것.
- Reasoning + Tool Use + Agent benchmarks — 학계가 이제 막 정량화하기 시작했으므로 “SLA-aware agent serving”류 작업이 늘어날 것.
학생이 준비하면 좋은 구현 프로젝트
- uPIMulator를 빌드하고 자기만의 ML 워크로드(예: small transformer)를 UPMEM에 매핑 — 1개월
- vTrain으로 GPT-3급 학습을 다양한 병렬화 전략으로 시뮬해 비용 곡선 그리기 — 2주
- PyTorch 위에 vDNN-like activation offloading을 reimplement — 3주
- NeuMMU의 NPU MMU 시뮬을 gem5에 추가해 NPU 가상메모리 평가 — 3개월
이 연구자를 이해하는 한 문장
유민수 교수님은 “새로 등장하는 거대한 ML 워크로드가 메모리·자원·보안 어디서 막히는지를 사이클 정확 시뮬과 RTL 프로토타입으로 측정하고, 알고리즘과 아키텍처를 함께 바꿔 그 막힘을 풀어내는 사람”이다.
두 분의 공통분모
출발점이 다른데 어떻게 같은 단어를 쓰게 되는가. AI 시스템이라는 산이 두 길의 정상에서 같은 풍경을 만들어내고 있기 때문이다.
공통분모 ① — 하드웨어/소프트웨어 경계의 이주민
두 분 모두 “한 레이어 안에 갇혀 있는 사람”이 아니다.
- 성효진 — PL(DPJ) → 하드웨어(DeNovo) → 컴파일러(IBM/TVM/PIM) → DSE.
- 유민수 — RTL(JPEG2000) → 마이크로아키텍처(GPU) → 가속기/시스템(NMP/PIM/NPU) → 인프라(LLM/에이전트).
두 분 모두 “나는 컴파일러 사람이다”거나 “나는 RTL 사람이다”에 머물지 않는다. 위·아래를 자유롭게 오가는 능력이 두 분의 가장 큰 공통점.
공통분모 ② — 시스템 병목을 “정보의 비대칭”으로 본다
두 분이 풀고자 하는 병목은 신기하게도 “위쪽 레이어가 알고 있는 정보를 아래쪽이 모른다”거나, 그 반대로 “아래쪽이 알고 있는 정보를 위쪽이 활용하지 못한다”는 형태가 많다.
- 성효진: DPJ region을 캐시가 모른다 → DeNovo가 알려준다. PIM의 능력을 TVM이 모른다 → PIMFlow가 알려준다.
- 유민수: 활성화의 “언제 다시 쓰는지”를 GPU가 모른다 → vDNN이 알려준다. MoE expert의 “다음 layer 선택”을 시스템이 모른다 → Pre-gated MoE가 미리 알려준다.
공통분모 ③ — 실험과 구현 중심성
두 분 모두 “수학적으로 멋지지만 만들어보지 못한 작업”을 거의 하지 않는다. 거의 모든 논문이 시뮬레이터, RTL, 컴파일러 패스, 또는 프레임워크 통합 같은 “손에 잡히는 산출물”을 동반한다.
공통분모 ④ — 컴파일러·런타임·아키텍처를 한 단어로 본다
예를 들어 “데이터 이동”이라는 단어 하나가 두 분 모두에게 — 컴파일러 입장(누가 옮길지 결정), 런타임 입장(언제 옮길지 결정), 아키텍처 입장(어떻게 옮기는 게 효율적일지)으로 동시에 보인다. 그래서 두 분 모두 한 작업의 다음 작업이 자연스럽게 옆 레이어로 이어진다.
공통분모 ⑤ — AI 시스템 시대와의 접점
두 분의 최근 작업은 AI 시스템 표면 아래의 “느린 부분”을 똑같이 두드린다.
- 성효진: ML 컴파일러 (autotuning), PIM-DRAM, CXL NDP, DataFrame 컴파일.
- 유민수: LLM serving, MoE 추론, AI agent 인프라, FHE/DP.
두 분 모두 “LLM을 더 빠르게 돌리는 방법”에 직접 일하지만, 한 분은 컴파일러 측에서, 한 분은 시스템/시뮬 측에서 접근한다.
차이점 — 한 표로
공통점만 보면 두 분이 “같은 사람”처럼 보이지만, 실제로는 “손에 잡는 도구”가 결정적으로 다르다. 같은 산을 다른 길로 오르는 두 사람의 도구함을 정리한다.
비교 표
| 비교 항목 | 성효진 | 유민수 | 독학자에게 주는 의미 |
|---|---|---|---|
| 주된 시스템 레이어 | 컴파일러(IR, pass) + 런타임 | 마이크로아키텍처 + 사이클 정확 시뮬 | 한쪽은 IR을, 다른 한쪽은 RTL/시뮬을 손에 잡는다 |
| 주요 문제의식 | 위쪽 정보를 아래로 흘려보내자 | 이 워크로드가 메모리 어디에 닿는가 | 둘은 “정보의 이동”과 “데이터의 이동”에서 만난다 |
| 자주 등장하는 기술 | LLVM · TVM · OpenMP · NeuroSim · NAS · meta-learning | gem5 · GPGPU-Sim · Ramulator · UPMEM SDK · CUDA · RTL | 커리어 초기엔 한쪽을 잡고 가다가, 결국 둘을 다 다뤄야 한다 |
| 구현 난이도 | 중상 (TVM/LLVM 패스 작성) | 상 (시뮬레이터 수정, RTL 설계) | 유 교수님 라인이 진입 장벽이 더 높지만, 학술 영향력의 “표면적”도 더 크다 |
| 필요한 선수지식 | 컴파일러, PL, 런타임, ML 시스템 | 컴퓨터구조, 디지털 회로, GPU 아키텍처, OS | 학부 과목 분포가 다르다 |
| GPU 커널 엔지니어 경로와의 관련성 | “커널을 자동으로 짜는 도구를 짜는 사람” | “커널이 칩 안에서 어떻게 움직이는지 측정하는 사람” | 커널을 짜고 싶다면 두 시각 다 필요 |
| 대학원 연구 주제 확장성 | 컴파일러 → ML 컴파일러 → DataFrame → DSE | 가속기 → LLM 인프라 → AI 에이전트 | 둘 다 “현재 핫한 영역”에 자연스럽게 닿는다 |
| 산업 적용 가능성 | 컴파일러 회사(Modular, OctoML, NVIDIA), PIM 컴파일러 (UPMEM, SK Hynix) | NVIDIA / Samsung / SK Hynix / Rebellions / FuriosaAI / 클라우드 인프라 | 한국 AI 반도체 스타트업 진로는 유 교수님 쪽이 더 직선적 |
| 대표 산출물 형태 | 오픈소스 컴파일러 · 패스 · 시뮬 | 오픈소스 시뮬레이터 · RTL 디자인 | 한쪽은 “코드를 만드는 코드”, 한쪽은 “기계를 묘사하는 기계” |
| 대표 작품 | DeNovo · PIMFlow · One-Shot Tuner · ATiM · CXL NDP | vDNN · SCNN · TensorDIMM · uPIMulator · vTrain · Pre-gated MoE | 대표 작품 5개씩 따라 만들면 자연스럽게 “두 도구함”을 손에 들게 된다 |
| 외부 협업 톤 | 같은 한국 PIM/CXL 학자들과의 컨소시엄형 | NVIDIA · MSRA · Meta · Harvard · NAVER 등 글로벌 매트릭스형 | 현 단계 그룹 규모와 연조의 차이 |
| 한 줄 요약 | “컴파일러가 데이터를 결정한다” | “이 칩이 데이터를 어떻게 다루는가” | 같은 명사(데이터)를 다른 동사(결정 vs 다룬다)로 잡는다 |
차이가 만들어내는 “스타일” 차이
- 성효진 그룹의 논문은 자주 컴파일러 패스나 IR 변환의 이름이 제목에 붙는다 (PIMFlow, ATiM, NavCim, MetaTune, One-Shot Tuner).
- 유민수 그룹의 논문은 자주 시스템/시뮬 이름이 제목에 붙는다 (vDNN, TensorDIMM, Centaur, uPIMulator, vTrain, PASCAL, Hera).
이 “이름의 형식”만 봐도 두 사람이 “세상을 어떤 단위로 보는가”가 드러난다.
읽기 로드맵 — 네 가지 루트
두 분의 논문 100여 편을 다 읽으려는 사람은 거의 없다. 자기 목적에 맞는 “경로 설계”가 필요하다.
루트 ① — 입문 루트
배경 개념을 먼저 잡고 싶은 사람용. 너무 어려운 수식/구현은 피한다.
읽기 순서
- Beyond the Memory Wall (유민수, MICRO 2018) — “memory-centric HPC” 비전.
- vDNN (유민수, MICRO 2016) — DL 학습 메모리 문제의 정의.
- DeNovo (성효진, PACT 2011) — 캐시 코히런스의 “재정의”.
- Implementing Implicit OpenMP Data Sharing on GPUs (성효진, LLVM-HPC 2017) — OpenMP가 GPU에 어떻게 떨어지는가.
- uPIMulator (Pathfinding PIM) (유민수, HPCA 2024) — 상용 PIM이라는 새 영역.
이 5편을 읽으면 “시스템 연구자가 일하는 좌표계”가 거의 보인다.
루트 ② — 시스템 구현 루트
실제 코드/프로토타입/벤치마크를 따라가며 읽고 싶은 사람용.
읽기 순서
- vDNN — PyTorch hook으로 한 번 reimpl.
- PIMFlow (성효진, CGO 2023) — TVM 빌드하고 PIM 백엔드 구조 파악.
- uPIMulator — 시뮬레이터 빌드해 UPMEM 워크로드 실행.
- vTrain — LLM 학습 비용 시뮬 돌려보기.
- One-Shot Tuner — Zenodo artifact로 TVM 위에 cost model 학습.
- NavCim — NeuroSim 빌드해 아날로그 CiM 평가.
여기까지 다 만져보면 “학술 시뮬레이터 6개 빌드 경험”이라는 이력이 생긴다. 대학원 컨택할 때 가장 강한 무기.
루트 ③ — GPU/컴파일러/AI 시스템 루트
CUDA · Triton · vLLM · TensorRT-LLM 쪽으로 진입하려는 사람용.
읽기 순서
- vDNN + cDMA (유민수) — DL 학습 메모리 가상화.
- SCNN (유민수) — sparse dataflow.
- One-Shot Tuner + MetaTune (성효진) — autotuning 자동화.
- PIMFlow + ATiM (성효진) — 컴파일러가 PIM/UPMEM을 백엔드로 다루는 법.
- Pre-gated MoE (유민수) — MoE 추론 알고리즘+시스템 코디자인.
- vTrain + PASCAL (유민수) — LLM 학습/추론 인프라.
- Cost of Dynamic Reasoning + Agent-X (유민수) — AI 에이전트 인프라.
이 순서로 읽으면 “학습 메모리 → sparse dataflow → autotuning → PIM 컴파일 → MoE → LLM training/serving → AI agent”까지 한 라인이 그어진다.
루트 ④ — 대학원 컨택 준비 루트
두 연구실 중 한 곳에 지원하거나 컨택하려는 사람용.
성효진 교수님 그룹 컨택용
- DeNovo — 박사 시기의 “이 사람 생각의 원형”.
- Efficient Fork-Join through Warp Specialization + OpenMP Implicit Data Sharing — IBM 시기 대표작 두 편.
- One-Shot Tuner — 한국 시기 컴파일러 대표작.
- PIMFlow + ATiM — PIM 컴파일러 라인.
- CXL NDP + NavCim — 가장 최근 라인.
컨택 메일에 “이 5편 중 어느 편의 어느 부분에 끌렸고, 그래서 어떤 follow-up을 생각해 봤다”까지 쓸 수 있으면 거의 무조건 답이 온다.
유민수 교수님 그룹 컨택용
- vDNN + SCNN — NVIDIA 시기 두 대표작.
- TensorDIMM + Centaur — KAIST 추천 라인 시작점.
- uPIMulator — HPCA Best Paper. 이 논문을 안 읽고 컨택하면 안 됨.
- vTrain + Pre-gated MoE — LLM 라인.
- Cost of Dynamic Reasoning + Agent-X — 가장 최근 라인.
VIA 그룹은 학생이 많아 경쟁이 치열. 시뮬레이터 빌드 경험(uPIMulator, vTrain)을 컨택 메일에 명시하면 가장 효과적.
독학자용 미니 프로젝트 8선
읽고 끝나는 책은 죽은 책이다. 두 분의 작업에서 추출한 8개 미니 프로젝트를 “1주 / 1개월 / 3개월” 세 단계로 펼친다.
P1. vDNN 류 활성화 오프로딩 재구현 유민수 라인
- 관련 — vDNN (MICRO 2016)
- 목표 — PyTorch 위에서 forward activation을 GPU↔CPU로 자동 swap
- 배경 — PyTorch hook, CUDA stream
- 1주 — 모든 layer activation을 무조건 .cpu()/.cuda()로 옮김. 메모리 사용량 측정.
- 1개월 — layer 별 “이걸 옮길지” 휴리스틱(다음 사용까지의 거리, 크기)을 만들어 적용. prefetch overlap.
- 3개월 — cuDNN 알고리즘을 메모리 조건에 따라 동적으로 선택. ResNet/VGG/BERT 학습으로 평가.
- 결과물 — 깃허브 레포 + 블로그 “PyTorch에서 vDNN을 200줄로 짜보기”.
P2. TVM PIM 백엔드 미니 버전 성효진 라인
- 관련 — PIMFlow (CGO 2023), ATiM (ISCA 2025)
- 목표 — TVM Relay에 dummy PIM 백엔드를 만들어 conv2d/embedding을 “PIM 코드”(시뮬용)로 출력
- 배경 — TVM TensorIR, Relay, Python 데코레이터
- 1주 — TVM 빌드 + Relay 모델 → 자체 IR 변환 함수.
- 1개월 — embedding lookup을 “PIM-friendly”와 “GPU-friendly”로 분리해 layer 분할 결정.
- 3개월 — UPMEM SDK로 실제 PIM 코드를 출력해 dot product/embedding을 보드에서 실행.
- 결과물 — 미니 PIMFlow + 블로그.
P3. uPIMulator로 small transformer 매핑 유민수 라인
- 관련 — uPIMulator (HPCA 2024)
- 목표 — UPMEM PIM 위에 작은 transformer block을 매핑하고 시뮬
- 배경 — UPMEM SDK, 사이클 정확 시뮬레이터 사용
- 1주 — 시뮬레이터 빌드 + 예제 워크로드 실행.
- 1개월 — small attention(64-dim, seq 32)을 DPU 코드로 작성, host-DPU 통신 최적화.
- 3개월 — multi-DPU 분할 전략 비교, 시뮬 결과로 “PIM이 transformer에 적합한 부분/부적합한 부분” 보고서.
- 결과물 — 시뮬 결과 그래프 모음 + 블로그.
P4. DeNovo 캐시 코히런스 gem5 reimpl 성효진 라인
- 관련 — DeNovo (PACT 2011), DeNovoND, DeNovoSync
- 목표 — gem5의 ruby 모듈 위에 self-invalidation 기반 단순 코히런스 프로토콜
- 배경 — gem5, ruby, MESI
- 1주 — gem5 빌드, ruby MESI tutorial.
- 1개월 — region-tag를 캐시에 추가, parallel phase boundary에서 self-invalidate.
- 3개월 — 간단한 deterministic 워크로드(예: stencil)로 트래픽 비교, 결과 그래프.
- 결과물 — gem5 패치 + 학기 프로젝트 보고서.
P5. vTrain로 LLM 학습 cost curve 그리기 유민수 라인
- 관련 — vTrain (MICRO 2024)
- 목표 — GPT-3급 학습을 다양한 병렬화 전략으로 시뮬해 “비용 곡선”을 그리기
- 1주 — vTrain 빌드, 기본 시뮬 실행.
- 1개월 — TP × DP × PP 격자에서 throughput · cost 그리드 서치.
- 3개월 — 새 모델(예: 100B MoE)에 대한 “GPU H100 vs B200 vs MI300” 비용 비교 보고서.
- 결과물 — 블로그 + 시각화.
P6. One-Shot Tuner reimpl 성효진 라인
- 관련 — One-Shot Tuner (CC 2022), MetaTune (arXiv 2021)
- 목표 — TVM AutoTVM에 NAS 기반 single-pass cost model을 얹기
- 1주 — AutoTVM의 XGBoost cost model 학습.
- 1개월 — schedule transformation을 NAS controller로 생성.
- 3개월 — meta-learning으로 새 워크로드에 zero-shot 적응.
- 결과물 — 깃허브 레포 + 튜닝 시간 비교 그래프.
P7. Pre-gated MoE 알고리즘만 reimpl 유민수 라인
- 관련 — Pre-gated MoE (ISCA 2024)
- 목표 — Mixtral 같은 작은 MoE 모델로 expert pre-gating 알고리즘 재현
- 1주 — Mixtral 8×7B 모델 로딩, expert routing 결과 측정.
- 1개월 — 한 layer 앞에서 다음 layer expert 예측기를 학습.
- 3개월 — 예측기 → prefetch 시뮬 → 메모리/지연 절감 비교 보고서.
- 결과물 — 깃허브 + 블로그 “MoE serving의 prefetch 패턴”.
P8. CXL NDP 시뮬 모듈 성효진 라인
- 관련 — Low-Overhead General-Purpose NDP in CXL (MICRO 2024)
- 목표 — CXL Type-3 시뮬레이터에 NDP ALU 모듈을 추가
- 1주 — CXL 시뮬레이터(예: gem5 CXL 모듈) 빌드.
- 1개월 — gather/scatter NDP 명령 추가.
- 3개월 — DLRM embedding 트레이스로 평가, host-only 대비 비교.
- 결과물 — gem5 패치 + 보고서.
프로젝트 고르는 법
- 학부생/처음: P1(vDNN), P5(vTrain) 추천. PyTorch만 있어도 된다.
- 컴파일러 지망자: P2(TVM PIM), P6(One-Shot Tuner) 추천.
- 아키텍처 지망자: P3(uPIMulator), P4(gem5 DeNovo), P8(CXL NDP) 추천.
- LLM 시스템 지망자: P5(vTrain), P7(Pre-gated MoE) 추천.
전체 논문 목록
두 분의 검증된 논문을 한 표에 모았다. 표는 검색·정렬·인용 용도. 본문 챕터에서 다룬 “이야기”는 빅챕터 1·2를 보라.
자료 기준일 2026-04-26 · 데이터 원본은 data/papers.csv에도 정리. 원본 링크는 각 행의 “PDF/URL” 열.
A.1 성효진 교수님 — 27편
| 연도 | 제목 | venue | 주제 | 우선순위 | 링크 |
|---|---|---|---|---|---|
| 2009 | DPJ — A Type and Effect System for Deterministic Parallel Java | OOPSLA | PL/병렬 | 중 | ACM |
| 2010 | Parallel SAH k-D Tree Construction | HPG | 병렬알고리즘 | 저 | code |
| 2010 | DeNovo: Rethinking Hardware for Disciplined Parallelism | HotPar | HW/캐시 | 상 | |
| 2011 | DeNovo (Best Paper) | PACT | HW/캐시 | 최우선 | ACM |
| 2013 | DeNovoND | ASPLOS | HW/캐시 | 최우선 | ACM |
| 2014 | DeNovoND (IEEE Micro Top Picks 재게재) | IEEE Micro | HW/캐시 | 상 | — |
| 2015 | DeNovoSync | ASPLOS | HW/동기화 | 최우선 | ACM |
| 2015 | PhD Thesis — DeNovo | UIUC | HW/캐시 | 최우선 | — |
| 2015 | Integrating GPU Support for OpenMP into Clang | LLVM-HPC@SC | 컴파일러/GPU | 상 | ACM |
| 2015 | Performance Analysis of OpenMP on a GPU (CORAL Proxy) | PMBS@SC | 컴파일러/GPU | 중 | ACM |
| 2016 | Offloading Support for OpenMP in Clang and LLVM | LLVM-HPC@SC | 컴파일러/GPU | 상 | — |
| 2016 | Performance Analysis & Optimization of Clang's OpenMP 4.5 GPU | PMBS@SC | 컴파일러/GPU | 중 | — |
| 2016 | Automatic Copying of Pointer-Based Data Structures | LCPC | 컴파일러 | 중 | Springer |
| 2017 | Efficient Fork-Join on GPUs (Warp Specialization) | HiPC | GPU/병렬 | 상 | — |
| 2017 | Leveraging OpenMP 4.5 in CLANG for Fortran (XLFLANG) | IWOMP | 컴파일러 | 중 | Springer |
| 2017 | Implementing Implicit OpenMP Data Sharing on GPUs | LLVM-HPC@SC | 컴파일러/GPU | 상 | ACM |
| 2017 | Benchmarking Unified Memory for OpenMP GPU | LLVM-HPC@SC | 컴파일러/GPU | 중 | — |
| 2019 | CogR (poster) | PACT | ML/runtime | 상 | IBM |
| 2021 | Greedy-SO Hybrid Register Allocation | LCPC | 컴파일러 | 중 | Springer |
| 2021 | MetaTune | arXiv | ML/컴파일러 | 상 | arXiv |
| 2021 | NDP in Memory Expander for DNN on GPUs | IEEE CAL | NDP/GPU | 상 | — |
| 2022 | One-Shot Tuner | CC | ML/컴파일러 | 상 | ACM |
| 2022 | Runtime Support for CNN on Digital DRAM PIM | IEEE CAL | PIM/runtime | 상 | — |
| 2023 | PIMFlow | CGO | PIM/컴파일러 | 최우선 | ACM |
| 2023 | XLA-NDP | IEEE CAL | NDP/컴파일러 | 상 | — |
| 2023 | Hetero ACiM Search | ICCAD | DSE/CIM | 중 | — |
| 2023 | PRIMO | ICCAD | PIM/시뮬 | 중 | — |
| 2024 | CXL NDP (MICRO Best Paper Track) | MICRO | NDP/CXL | 최우선 | arXiv |
| 2024 | NavCim | PACT | DSE/CIM | 상 | — |
| 2024 | Non-Invasive NDP for DNN Training on GPUs | IEEE Access | NDP/GPU | 중 | — |
| 2024 | IMTP | arXiv | PIM/컴파일러 | 상 | arXiv |
| 2025 | ATiM | ISCA | PIM/컴파일러 | 최우선 | — |
| 2025 | HYPERF | HPDC | HPC/컴파일러 | 상 | — |
| 2026 | FORTE | CGO | 데이터/컴파일러 | 중 | — |
A.2 유민수 교수님 — 60+편
JPEG2000 / 박사 시기 — 8편 (2009-2015)
| 2009 | Memory-less Bit-Plane Coder for JPEG2000 | ICIP | — |
| 2009 | Dual-Symbol Binary Arithmetic Coder for JPEG2000 | ICIP | — |
| 2009 | Trace-Pipelined Binary Arithmetic Coder | SiPS | — |
| 2010 | Optimization of Arithmetic Coding for JPEG2000 | IEEE TCSVT | — |
| 2012 | CAPRI | ISCA | GPU/제어 |
| 2013 | Dual-Path Execution Model | HPCA | GPU/제어 |
| 2013 | SIMD Lane Permutation | ISCA | GPU/SIMD |
| 2013 | Locality-Aware Memory Hierarchy | MICRO | GPU/메모리 |
| 2014 | GPUVolt | ISLPED | GPU/전력 |
| 2015 | Priority-Based Cache Allocation | HPCA | GPU/캐시 |
| 2015 | CLEAN-ECC | MICRO | 메모리/ECC |
NVIDIA · KAIST 초기 — 8편 (2016-2020)
| 2016 | vDNN | MICRO | DL/메모리 | arXiv |
| 2017 | SCNN | ISCA | DL가속/Sparse | ACM |
| 2017 | Energy-Efficient DRAM for GPUs | HPCA | GPU/메모리 | — |
| 2017 | GPUpd Multi-GPU | MICRO | GPU/멀티 | — |
| 2018 | cDMA | HPCA | DL/메모리 | — |
| 2018 | Beyond the Memory Wall | MICRO | DL/메모리 | — |
| 2018 | Memory-Centric HPC for DNN | IEEE CAL | DL/메모리 | — |
| 2018 | Accelerator-centric DL Systems | ASP-DAC | DL/시스템 | — |
| 2019 | TensorDIMM | MICRO | NMP/추천 | ACM |
| 2019 | Disaggregated Memory for DL | IEEE Micro | DL/메모리 | — |
| 2020 | Centaur | ISCA | 추천/가속 | — |
| 2020 | NeuMMU | ASPLOS | NPU/MMU | — |
| 2020 | PREMA | HPCA | NPU/스케줄 | — |
KAIST 중기 — 14편 (2021-2023)
| 2021 | TRiM | MICRO | NMP/Tensor |
| 2021 | Tensor Casting | HPCA | 추천/가속 |
| 2021 | LazyBatching | HPCA | ML서빙 |
| 2021 | Trident GPU Side-channel | HPCA | GPU/보안 |
| 2021 | 3D Point Cloud DL 분석 | IEEE CAL | DL/특성화 |
| 2021 | NVM for GNN training | IEEE CAL | GNN/메모리 |
| 2022 | DiVa | MICRO | DP/가속 |
| 2022 | ARK FHE | MICRO | FHE/가속 |
| 2022 | SmartSAGE | ISCA | GNN/스토리지 |
| 2022 | Training from GPU Scratch | ISCA | 추천/메모리 |
| 2022 | BTS FHE | ISCA | FHE/가속 |
| 2022 | PARIS/ELSA | DAC | ML서빙 |
| 2023 | GROW | HPCA | GNN/가속 |
| 2023 | HAMMER | IEEE CAL | Transformer/근사 |
2024 — 절정의 한 해 (10편)
| 2024 | uPIMulator (HPCA Best Paper) | HPCA | PIM | arXiv |
| 2024 | Pre-gated MoE | ISCA | MoE | arXiv |
| 2024 | PreSto | ISCA | 추천/스토리지 | — |
| 2024 | ElasticRec | ISCA | 추천/서빙 | — |
| 2024 | LazyDP | ASPLOS | DP/추천 | — |
| 2024 | GPU-based PIR | ASPLOS | 프라이버시 | — |
| 2024 | vTrain | MICRO | LLM/시뮬 | code |
| 2024 | PIM-MMU | MICRO | PIM/MMU | — |
| 2024 | GPU NoC Characterization | MICRO | GPU/NoC | — |
| 2024 | FPGA Preprocessing for Recsys | IEEE CAL | 추천/FPGA | — |
2025 — 4편
| 2025 | Debunking the CUDA Myth (Gaudi) | ISCA | NPU/평가 | arXiv |
| 2025 | Hera | PACT | 추천/서빙 | — |
| 2025 | Mamba-X | ICCAD | SSM/가속 | — |
| 2025 | HSTU 분석 | IEEE CAL | 추천/특성화 | — |
| 2025 | 3DGS Pipeline 분석 | IEEE CAL | 3DGS/특성화 | — |
| 2024 | Text-to-Image Diffusion 분석 | IEEE CAL | DL/특성화 | — |
주요 용어 사전
두 분의 논문을 읽다 보면 만나는 용어들을 “시스템에서 실제로 무슨 일이 일어나는가”로 풀어 적었다.
컴파일러 · 런타임
| 용어 | 풀이 |
|---|---|
| compiler pass | 컴파일러가 IR을 한 번 훑어 바꾸는 한 단계. LLVM에선 FunctionPass·ModulePass 등으로 구분. “loop unrolling pass” = loop을 펼치는 한 단계. |
| IR (Intermediate Representation) | 컴파일러 내부에서 쓰는 중간 코드. LLVM IR · TVM Relay/TIR 등. |
| runtime | 프로그램이 실행되는 동안 “옆에서” 도와주는 시스템. CUDA runtime, cuDNN runtime, TVM runtime. |
| scheduler | 여러 작업의 실행 순서를 정하는 소프트웨어. OS scheduler, GPU scheduler, NPU scheduler. |
| autotuning | 가능한 코드 변환 조합을 자동으로 시도해 가장 빠른 것을 찾는 과정. AutoTVM, Ansor. |
| cost model | “이 코드 변형이 얼마나 빠를지”를 예측하는 함수. ML 기반(MetaTune) 또는 분석 모델 기반. |
| register allocation | 변수에게 CPU 레지스터를 배분하는 컴파일러 단계. 레지스터가 모자라면 “spill”되어 메모리로. |
| OpenMP target | OpenMP 4.5의 GPU offload 지시문. #pragma omp target으로 표기. |
메모리 · 캐시
| 용어 | 풀이 |
|---|---|
| memory hierarchy | register → L1 → L2 → L3 → DRAM → SSD로 점점 “느리지만 큰” 메모리들이 쌓인 구조. |
| cache coherence | 여러 코어가 같은 데이터를 자기 캐시에 들고 있을 때, “누가 최신인가”를 맞추는 약속. MESI/MOESI가 대표 프로토콜. |
| self-invalidation | 다른 코어가 “내 캐시를 비우라”고 메시지를 보내는 대신, 자기 캐시를 자발적으로 비우는 방식. DeNovo의 핵심. |
| NUMA | Non-Uniform Memory Access. CPU에 따라 “가까운 메모리”와 “먼 메모리”가 다른 멀티소켓 구조. |
| HBM | High Bandwidth Memory. GPU 옆에 적층된 고대역폭 DRAM. 한 stack 당 ~1TB/s. |
| DRAM bank | DRAM 칩 내부의 분할된 단위. 동시 접근이 가능한 병렬 단위. |
| memory wall | “CPU 속도는 빠르게 증가하는데 메모리 대역폭은 그만큼 안 따라온다”는 고전 문제. |
GPU
| 용어 | 풀이 |
|---|---|
| SIMT | Single Instruction Multiple Thread. GPU의 32-thread warp이 한 명령을 동시에 실행. |
| warp | 32 thread 묶음. NVIDIA GPU의 SIMD 단위. |
| CTA / thread block | warp들의 묶음. 같은 SM 안에서 실행되며 shared memory를 공유. |
| control divergence | warp 안의 thread들이 if/else로 갈라져 SIMD 자원 일부가 노는 현상. |
| memory divergence | warp 안 thread들이 메모리 다른 곳을 읽어 coalesce가 안 되는 현상. |
| tensor core | NVIDIA Volta+ GPU의 행렬곱 전용 유닛. FP16/INT8 행렬곱을 한 cycle에. |
| cuDNN | NVIDIA의 DNN primitive 라이브러리. conv/relu/batchnorm 같은 layer 단위 GPU 커널 모음. |
| warp specialization | 한 CTA 안의 warp들에게 다른 역할을 부여 (master/worker 등). OpenMP fork-join을 GPU에 떨어뜨릴 때 쓰임. |
가속기 · 시스템 레벨
| 용어 | 풀이 |
|---|---|
| accelerator | 특정 워크로드를 빠르게 처리하기 위한 전용 칩. NPU·TPU·SCNN·TensorDIMM 등. |
| NPU | Neural Processing Unit. 신경망용 가속기. |
| chiplet | 한 패키지 안에 여러 개의 작은 다이를 묶은 구성. AMD MI300, Centaur가 예. |
| PIM (Processing-in-Memory) | 메모리 칩 안에 작은 연산 유닛을 넣어 “데이터 옆에서” 계산. UPMEM이 대표 상용 사례. |
| NDP (Near-Data Processing) | PIM과 유사하지만 메모리 “옆”에 더 가까운 가속. NMP·NDP·CXL NDP 등. |
| NMP (Near-Memory Processing) | 메모리 buffer/DIMM 컨트롤러 측에 작은 가속을 넣음. TensorDIMM이 예. |
| CXL (Compute Express Link) | CPU-가속기-메모리를 잇는 차세대 인터커넥트. 메모리 풀링과 NDP가 가능. |
| co-design | 알고리즘과 하드웨어를 따로 설계하지 않고, 서로의 제약/기회를 보며 같이 설계. |
| dataflow | 가속기에서 데이터가 PE 어레이를 어떻게 흐르는가의 구조. weight-stationary, output-stationary, row-stationary 등. |
측정 · 평가
| 용어 | 풀이 |
|---|---|
| throughput | 단위 시간당 처리량. “초당 몇 개 추론” 같은. |
| latency | 한 요청이 들어와서 응답이 나가기까지의 시간. |
| bandwidth | 단위 시간당 옮길 수 있는 데이터 양. GB/s. |
| profiling | 실행 중에 “어디가 얼마나 시간을 쓰는가”를 측정. nvprof, Nsight, perf 등. |
| benchmark | 비교 가능한 표준 워크로드. SPEC CPU, MLPerf 등. |
| SLA (Service-Level Agreement) | “이 서비스는 99% 요청이 100ms 안에 응답”이라는 약속. ML 서빙 스케줄링의 제약. |
| cycle accurate simulator | 하드웨어를 cycle 단위까지 정확히 흉내내는 시뮬. gem5, GPGPU-Sim, uPIMulator. |
병렬·동기화·OS·분산
| 용어 | 풀이 |
|---|---|
| data race | 두 thread가 동기화 없이 같은 데이터를 동시에 접근(하나는 쓰기). 결과가 비결정적. |
| synchronization | thread/process가 “어디까지 진행했는가”를 맞추는 메커니즘. lock, atomic, barrier. |
| consistency model | “메모리 쓰기가 다른 thread에게 어떤 순서로 보이는가”의 약속. SC, TSO, PSO, Release 등. |
| region / effect | “이 메서드는 어느 영역(region)을 어떻게 다루는가(effect)”를 명시하는 PL 개념. DPJ의 핵심. |
| virtualization | 하나의 자원을 여러 사용자에게 “각자 전용처럼” 보이게 하는 추상화. vDNN의 “virtualized DNN”도 이 의미. |
| storage stack | 응용 → 파일시스템 → 블록 → SSD 컨트롤러 → flash까지의 레이어 묶음. |
| distributed system | 여러 머신으로 나뉘어 돌아가는 시스템. LLM 학습의 TP/DP/PP/EP가 분산 구성의 예. |
AI 시스템 특화
| 용어 | 풀이 |
|---|---|
| KV cache | LLM 추론 시 attention의 Key/Value를 저장해 재사용하는 캐시. 길어질수록 메모리를 많이 먹음. |
| MoE (Mixture of Experts) | 여러 “expert” 네트워크 중 일부만 켜는 구조. 학습/추론 시 expert 선택이 동적. |
| speculative decoding | 작은 모델로 미리 토큰을 “추측”하고, 큰 모델로 검증해 가속. |
| FHE (Fully Homomorphic Encryption) | 암호화된 채로 연산이 가능한 암호. 100~10,000배 느려짐. BTS/ARK가 대표 가속기. |
| DP-SGD | Differentially Private SGD. 학습 gradient에 노이즈를 더해 프라이버시 보장. |
| embedding | 희소 카테고리(상품 ID, 단어)를 dense 벡터로 표현. 추천시스템의 핵심 자료구조. |
| test-time scaling | 같은 모델로 “생각 시간을 더 들여서” 정확도를 올리는 방식. reasoning LLM의 핵심. |
선수 과목 지도
두 분의 논문을 따라 읽으려면 어느 과목을 어디까지 알아야 하는지를 “읽고 싶은 논문” 단위로 묶어 정리한다.
C.1 컴퓨터구조
왜 필요한가
두 분의 논문 거의 전부에 해당. 캐시·메모리 계층·CPU 파이프라인을 모르면 “병목”이라는 단어 자체가 추상적이다.
최소로 알아야 할 개념
- 5단계 파이프라인 · branch prediction
- L1/L2/L3 캐시 · MESI/MOESI
- 가상 메모리 · TLB · page table
- DRAM bank · row buffer · refresh
- Amdahl/Gustafson 법칙
이 과목이 절실한 논문
DeNovo 시리즈, NeuMMU, Locality-Aware Memory Hierarchy, CLEAN-ECC, GPU NoC Characterization.
추천 교재 / 강의
- Hennessy & Patterson, Computer Architecture: A Quantitative Approach (6판)
- Patterson & Hennessy, Computer Organization and Design
- CMU 15-740/418 (Onur Mutlu, Carnegie Mellon)
C.2 운영체제
왜 필요한가
NPU MMU, PIM-malloc, 스케줄링 논문은 OS 추상화를 그대로 가져온다. 가상메모리·프로세스·스레드·드라이버를 모르면 못 따라간다.
최소로 알아야 할 개념
- 프로세스 vs 스레드, context switch
- 가상메모리 · page fault · COW
- scheduler — round robin, CFS, priority
- I/O · DMA · 인터럽트
이 과목이 절실한 논문
NeuMMU, PREMA, LazyBatching, PIM-MMU, PIM-malloc, ElasticRec, Hera.
추천
- Bryant & O'Hallaron, Computer Systems: A Programmer's Perspective (CSAPP)
- Operating Systems: Three Easy Pieces (OSTEP) — 무료 PDF
C.3 컴파일러
왜 필요한가
성효진 교수님 작업의 절반 이상이 컴파일러 패스. LLVM/TVM 빌드 경험이 곧 컨택 메일의 강도를 결정한다.
최소
- lexing, parsing, AST, IR
- SSA · use-def chain
- data-flow analysis (liveness, available expression)
- register allocation (graph coloring, linear scan)
- loop transformations (unroll, tile, fusion)
이 과목이 절실한 논문
모든 OpenMP-on-GPU 시리즈, PIMFlow, ATiM, One-Shot Tuner, Greedy-SO, MetaTune, ZipFlow, FORTE.
추천
- Aho/Sethi/Ullman, Compilers: Principles, Techniques, and Tools (Dragon Book)
- LLVM Tutorial — llvm.org/docs/tutorial
- TVM Documentation — tvm.apache.org/docs
C.4 프로그래밍 언어 / 타입시스템
왜 필요한가
DPJ 같은 type-and-effect 시스템을 이해하려면 PL의 기초가 필요. 본격적인 PL 연구를 안 하더라도 “region/effect/ownership” 같은 용어가 자유롭게 쓰이는 영역.
최소
- type system 기초 (System F, subtyping)
- effect system, region-based memory
- operational semantics
추천
- Pierce, Types and Programming Languages (TAPL)
- Cornell CS 4110 / CMU 15-312
C.5 병렬·분산 컴퓨팅
왜 필요한가
OpenMP, MPI, CUDA를 손에 잡지 않으면 두 분의 “병렬” 논문 절반 이상이 흐릿하게 보인다.
최소
- OpenMP
parallel for,target,map - CUDA grid/block/thread, shared memory, warp
- MPI send/recv, allreduce
- 병렬화 패턴: TP, DP, PP, EP
이 과목이 절실한 논문
OpenMP-on-GPU 시리즈, GPU 마이크로아키텍처 논문, vTrain, Pre-gated MoE, PASCAL.
추천
- Hwu et al., Programming Massively Parallel Processors (PMPP) 4판
- CUDA C++ Programming Guide
C.6 데이터베이스 · 스토리지
왜 필요한가
SmartSAGE, PreSto, FORTE처럼 “스토리지 측 처리”와 “DataFrame 컴파일” 라인을 따라가려면.
최소
- B-tree, LSM-tree
- SSD 내부 (FTL, GC)
- DataFrame / 관계형 쿼리 옵티마이저
추천
- Database System Concepts (Korth)
- CMU 15-721 (Andy Pavlo)
C.7 GPU 프로그래밍
왜 필요한가
두 분 모두 GPU와 관련된 작업이 가장 많다. CUDA 손코딩 경험은 거의 모든 토론에서 “기본기”로 가정된다.
최소
- CUDA C 기본 (커널, 메모리, stream)
- shared memory, warp shuffle, atomic
- cuBLAS · cuDNN 호출 경험
- Triton 또는 CUTLASS
추천
- NVIDIA CUDA C++ Programming Guide
- Triton Tutorials — triton-lang.org
- FlashAttention 논문/코드 (Tri Dao)
C.8 머신러닝 시스템
왜 필요한가
두 분의 최근 작업은 모두 ML 시스템이다. PyTorch internals, vLLM, FlashAttention, DeepSpeed의 “이름”을 들어본 정도가 아니라 “구조”를 안다는 게 중요하다.
최소
- PyTorch — autograd, hook, custom autograd
- distributed training (DDP, FSDP, DeepSpeed ZeRO)
- LLM serving (vLLM, paged attention, continuous batching)
- quantization (INT8, FP8, AWQ, GPTQ)
추천
- CMU 15-442 / Stanford CS 229S (ML Systems 강의들)
- vLLM Documentation — docs.vllm.ai
- DeepSpeed papers (ZeRO, ZeRO-Offload, ZeRO-Infinity)
학습 우선순위 추천
- 컴퓨터구조 → CSAPP → CUDA → 컴파일러 (이 순서가 가장 보편)
- 그 다음 ML 시스템과 PIM/CXL을 “현장 이슈”로 따라가며 배움
- 대학원 컨택 직전에 “시뮬레이터 빌드 1회”로 전체 그림을 마무리
출처와 한계
이 문서가 어떤 자료를 어떻게 썼고, 무엇을 못 봤고, 무엇을 추정으로 표시했는지 한 곳에 모은다. 학술 문서의 정직함은 “모르는 걸 모른다고 말하는 곳”에서 나온다.
D.1 1차 자료 — 성효진 교수님
공식 페이지
- SNU 개인 — hsung.snu.ac.kr
- SNU CODE Lab — codelab.snu.ac.kr
- POSTECH 구버전 — hsung.postech.ac.kr
- POSTECH CV (2022.04) — PDF
학술 프로필
- DBLP — dblp.org/pid/37/7474
- Google Scholar — Scholar
- ACM DL — ACM
- IEEE Xplore — IEEE
박사 시기 / DeNovo
- Sarita Adve UIUC — faculty page
- DeNovo 프로젝트 (RSim) — denovo
주요 코드 / 리포지토리
- PIMFlow — github
- NavCim — github
- Hetero-NeuroSim — github
- One-Shot Tuner artifact — Zenodo
- ParKD (UIUC) — github
D.2 1차 자료 — 유민수 교수님
공식 페이지
- VIA Research Group — sites.google.com/view/kaist-via
- VIA Publications — publications
- VIA People — people
- 개인 홈페이지 — minsoorhu.github.io
- KAIST EE 프로필 — ee.kaist
- KAIST Pure — pure.kaist
- NVIDIA Research 구프로필 — research.nvidia.com
학술 프로필
- DBLP — dblp.org/pid/02/8105
- Google Scholar — Scholar
- Semantic Scholar — Semantic Scholar
코드
- VIA Research GitHub — github.com/VIA-Research
- uPIMulator — github
- vTrain — github
KAIST EE 보도자료
D.3 학회 / 데이터베이스
- DBLP — dblp.org
- Google Scholar — scholar.google.com
- arXiv (cs.AR / cs.DC / cs.PL) — arxiv.org
- ACM DL — dl.acm.org
- IEEE Xplore — ieeexplore.ieee.org
D.4 분야 입문용 외부 자료
- Hennessy & Patterson, Computer Architecture: A Quantitative Approach (6판)
- Patterson & Hennessy, Computer Organization and Design
- Aho/Sethi/Ullman, Compilers: Principles, Techniques, and Tools
- Bryant & O'Hallaron, Computer Systems: A Programmer's Perspective
- Hwu et al., Programming Massively Parallel Processors
- LLVM Tutorial — llvm.org/docs/tutorial
- TVM Documentation — tvm.apache.org/docs
- CUDA C++ Programming Guide — docs.nvidia.com
- Triton — triton-lang.org
- vLLM Documentation — docs.vllm.ai
- UPMEM SDK — sdk.upmem.com
D.5 자료의 한계 · 주의사항
1. 성효진 교수님의 현재 소속 정정
이 문서를 의뢰받았을 때 “연세대학교 컴퓨터과학과”로 적혀 있었으나, 1차 자료(개인 홈페이지·DBLP·SNU CODE Lab·2025-2026 논문 affiliation) 모두 SNU 데이터사이언스대학원 부교수로 일치한다. 본 문서는 SNU를 사실로 채택했다. POSTECH → SNU 이직 시점은 정확히 명시된 자료가 없어 2024년 전후로 추정.
2. 동명이인 처리
같은 한국어 이름을 가진 다른 분야 연구자(의학·사회학 등)의 논문은 모두 제외했다. 검증 키는 (a) 소속(SNU GSDS / IBM TJ Watson · KAIST EE / NVIDIA Research), (b) 분야(systems/architecture), (c) 공저자 네트워크(Sarita Adve/Mattan Erez 라인).
3. 인용·h-index 수치
Google Scholar 기준 2026-04 캡처. 매월 변동.
4. 2026년 논문
일부는 학회 일정상 venue/date가 변경 가능. 본 문서에선 arXiv·VIA 그룹 페이지에 명시된 venue를 그대로 사용했다.
5. 닫힌 저장소
IBM 내부 도구(XLFLANG, CogR 일부)와 NVIDIA Research 산하 시스템(SCNN, vDNN의 NVIDIA 내부 코드)은 공개되지 않으므로, 학생이 재구현하려면 논문만 보고 reimplement해야 한다.
6. “추정” 표시 원칙
본문에서 향후 연구 방향을 “명시 자료 / 흐름상 자연스러운 추정”으로 분리한 부분은 모두 추정 라벨을 붙였다. 본인 발언이 아닌 부분은 모두 본 편찬자의 추정.
7. 다른 그룹의 작업과의 혼동 주의
- DeepRecSys (ISCA 2020) — Harvard/Facebook (Udit Gupta 등). KAIST VIA 작업 아님.
- RecPipe (MICRO 2021) — Harvard/Facebook 작업. KAIST 작업 아님.
- GradPIM (HPCA 2021) — 서울대 이진호 그룹. KAIST 작업 아님.
유 교수님 그룹의 추천/PIM 라인이 위 작업들과 동일한 문제 영역을 다루므로 혼동 가능. 본 문서에선 모두 명확히 구분했다.
D.6 데이터 파일 (별첨)
data/papers.csv— 두 분 논문 메타데이터 표data/projects.csv— 시스템/프로젝트 표data/sources.md— 1차 자료 URL 모음
이 HTML이 단일 정적 페이지로 작동하도록 모든 본문 콘텐츠는 페이지 안에 인라인되어 있다. 별첨 파일들은 “표 형식 원본”이 필요할 때 참고용이며, HTML을 보는 데는 필요 없다.
맺음말
한 사람의 연구를 잘 읽었다는 것의 가장 정직한 증거는, 그 사람의 “다음 논문 제목”을 미리 짐작할 수 있게 되는 것이다. 이 문서를 다 읽은 사람이 두 분의 다음 논문 제목을 절반쯤 맞출 수 있다면, 이 책의 일은 끝난 것이다.
그리고 한 가지 — 이 문서는 두 분에 대한 평가가 아니라 두 분의 작업을 따라가기 위한 지도다. 실제 연구는 이 지도 너머에서 시작된다. 좋은 여행이 되길.