표지

성효진 · 유민수 연구 세계 입문

시스템, 컴파일러, 하드웨어-소프트웨어 경계의 두 연구 흐름.
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 시스템이라는 거대한 산이 결국 이 단어들로 정의되어 있기 때문이다.

그래서 이 책은 두 분을 “비교”하는 책이 아니라 “두 길을 같이 보는” 책이다. 한 길만 본 사람은 자기가 아는 도구로만 생각한다. 두 길을 본 사람은 자기 도구가 무엇을 못 보는지를 안다. 시스템 연구자가 되려는 사람은 후자가 되어야 한다.

빅챕터 1 · 성효진 · 1.1

연구자 프로필

캐시 코히런스의 “반항아”로 시작해, 컴파일러를 손에 잡은 채 메모리의 가장자리(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. CSUIUC2015Sarita V. Adve / 학위논문 DeNovo: Rethinking the Memory Hierarchy for Disciplined Parallelism · GPA 4.0/4.0
M.S. CSEUC San Diego2008Michael B. Taylor / A Portable MATLAB Front-End for Tiled Microprocessors
B.S. CSE서울대학교2004민상렬
B.A. 영문학서울대학교2000이중전공 (영문학 학사가 따로 있다는 점이 가끔 사람들을 놀라게 한다)

경력

2004 – 2006
삼성전자 연구원 — 수원, 블루레이 디스크 표준화 · 플레이어 개발
2008 – 2014
UIUC 박사과정 — DeNovo, DPJ, ParKD
2010 여름
Intel Graduate Intern
2015 – 2019
IBM T.J. Watson Research Center — Postdoc → Research Staff Member · CORAL/Summit 슈퍼컴 OpenMP-on-GPU · PathForward
2019 – 2024
POSTECH 컴퓨터공학과 조교수 (추정)
2024 –
SNU 데이터사이언스대학원 부교수

학술 프로필

핵심 협업 네트워크

이 분의 논문을 읽다 보면 자연스럽게 같이 보이는 사람들이 있다. 동명이인 검증의 단서이기도 하다.

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).
한 줄 요약 — 캐시·OpenMP·TVM·UPMEM·CXL을 한 사람의 이력서 안에 모두 담은 보기 드문 케이스다. 그래서 이 분을 따라가면 “시스템 스택 위아래”를 거의 다 만질 수 있다.

이 챕터에서 가져갈 것

  • “병렬 프로그램이 가진 특성을 활용하면 시스템 자원을 더 단순하게 만들 수 있지 않나?”라는 질문에서 시작했다.
  • 학계 → 산업체(IBM) → 학계로 돌아오면서 컴파일러를 손에 잡는 사람으로 정체성이 굳어졌다.
  • 박사 시기의 캐시 → IBM의 OpenMP → 한국의 ML/PIM 컴파일러로 레이어가 위로 올라가는 모습이 보인다.
빅챕터 1 · 성효진 · 1.2

전체 연구 지도

한 연구자의 논문을 “시간 순”으로 보면 그 연구자의 “인간”이 보이지만, “질문 단위”로 묶으면 그 연구자의 “생각”이 보인다. 이 절은 후자를 한다.

성 교수님의 작업은 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가 “하드웨어를 단순하게 하기 위해 컴파일러에 부담을 주자”라고 했던 그 줄에 정확히 서 있다.

빅챕터 1 · 성효진 · 1.3

연도별 연구 흐름

한 논문을 한 단위로 두고, “어떤 병목을 발견했고, 어떤 기계를 만들었고, 어떤 결과를 냈는가”를 일관된 형식으로 본다.

전체 논문 표는 부록 A에서 정리·검색용으로 제공한다. 이 절은 “읽고 이해하기”용이다.

2009 — DPJ: 결정적 병렬 자바

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)

2013 — DeNovoND

2015 — DeNovoSync, PhD Thesis, IBM 합류

같은 해 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에서 어떻게 효율적으로 실행할까”라는 단일 질문 아래 쌓여 있다.

Integrating GPU Support for OpenMP Offloading Directives into Clang
LLVM-HPC@SC 2015

front-end가 target 영역을 별도 함수로 outline하고 NVPTX backend로 보냄. data mapping은 libomptarget이 처리.

Offloading Support for OpenMP in Clang and LLVM
LLVM-HPC@SC 2016

data movement, async offloading, OpenMP 4.5 모든 절(map, depend, defaultmap)을 정식 구현.

Performance Analysis and Optimization of Clang's OpenMP 4.5 GPU Support
PMBS@SC 2016

가장 큰 병목: OpenMP의 nested parallelism을 GPU의 단순한 SIMT 모델 위에서 어떻게 표현할까.

Implementing Implicit OpenMP Data Sharing on GPUs
LLVM-HPC@SC 2017

private, firstprivate, implicit shared 변수를 GPU에서 효율적으로 구현. CUDA의 stack 변수와 dynamic shared memory 활용.

Leveraging OpenMP 4.5 Support in CLANG for Fortran (XLFLANG)
IWOMP 2017

IBM XL Fortran 코드를 Clang의 OpenMP-on-GPU 흐름으로 가져오는 IR-to-IR 번역기. HPC의 절반은 여전히 Fortran이다.

Benchmarking and Evaluating Unified Memory for OpenMP GPU Offloading
LLVM-HPC@SC 2017

NVIDIA Unified Memory가 OpenMP target 데이터 매핑에 어떻게 영향을 주는지 측정. 컴파일러가 미리 옮길지(map), Unified Memory에 맡길지의 트레이드오프.

Automatic Copying of Pointer-Based Data Structures
LCPC 2016

linked list/tree처럼 포인터로 연결된 데이터를 GPU에 자동 복사. data flatten + pointer relocation.

2019 — CogR: ML for systems의 시작

CogR: Exploiting Program Structures for ML-Based Runtime Solutions
PACT 2019 poster

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 프레임워크가 자동으로 쓰도록 컴파일러·런타임을 만든다.

MetaTune
arXiv 2021 · J. Ryu, H. Sung

TVM autotuning에 meta-learning cost model. 새 워크로드에서 zero/few-shot 적응.

Hybrid Register Allocation (Greedy-SO)
LCPC 2021 · Y. Shin, H. Sung

LLVM greedy RA의 spill cost와 패턴 기반 ILP를 결합한 하이브리드 RA. 컴파일러를 손에 잡는 사람만 쓸 수 있는 논문.

NDP in Memory Expander for DNN on GPUs
IEEE CAL 2021 · H. Ham 외

GPU 옆에 NDP가 붙은 메모리 확장기로 DNN 가속. PIMFlow·XLA-NDP·CXL NDP로 가는 다리.

Runtime Support for CNN on Digital DRAM PIM
IEEE CAL 2022 · Y. Shin, J. Park, J. Hong, H. Sung

PIM-DRAM에서 CNN을 실행하기 위한 런타임. PIMFlow의 짧은 버전.

XLA-NDP
IEEE CAL 2023 · J. Park, H. Sung

XLA의 학습 그래프를 GPU와 NDP 메모리에 분할 실행. PIMFlow가 추론 중심이라면 이건 backward graph 분할.

Heterogeneous Neuromorphic Architecture Search
ICCAD 2023 · J. Park, Y. Shin, H. Sung

가변 타일 크기 아날로그 CiM 가속기의 다목적 검색. NavCim의 전조. 코드 — github

PRIMO
ICCAD 2023 · KAIST 김주영팀과 공동

PIM-DRAM 풀스택 ML 워크로드 에뮬레이션 프레임워크.

2024 — CXL NDP, NavCim, IMTP

NavCim
PACT 2024 · J. Park, B. Kim, H. Sung

아날로그 CiM 종합 DSE. 코드 — github.com/wntjd9805/navcim

IMTP
arXiv 2024

UPMEM PIM(상용 PIM) 대상 search-based 텐서 컴파일러. 사실상 “TVM-for-PIM”의 발전형.

2025 — HYPERF, ATiM

HYPERF
HPDC 2025

TVM 텐서 오토튜닝 + OpenMP C/C++ 프론트엔드 결합 HPC 자동튜너. 박사 시기 HPC 경험 + IBM OpenMP + POSTECH TVM이 한 곳에 모인 작품. ETRI/KISTI의 한국 슈퍼컴 AB21 협업의 산물.

2026 — FORTE

FORTE: Online DataFrame Query Optimizer
CGO 2026 · Y. Choi 외, H. Sung

pandas/PySpark 같은 DataFrame 쿼리를 온라인으로 최적화. SNU 데이터사이언스대학원의 정체성과 잘 맞는 “데이터프레임 + 컴파일러” 조합. 컴파일러 사람이 데이터 시스템으로 영역을 넓히는 신호.

이 챕터에서 가져갈 것

  • 성 교수님 논문은 “시간이 지나면서 한 단계씩 위 레이어로 올라가지만 아래 레이어를 잊지 않는” 패턴.
  • 박사 시기엔 캐시, IBM에선 컴파일러, 한국에선 ML 컴파일러 + PIM 컴파일러 + DSE.
  • 모든 작업이 “데이터를 어디 두고 누가 옮길지를 컴파일러가 결정하게 하자”라는 한 줄로 모인다.
빅챕터 1 · 성효진 · 1.4

대표 프로젝트 해부

논문은 “주장”이고 시스템은 “물증”이다. 이 절은 다섯 개의 “물증”을 한 단위로 본다.

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
다섯 개를 모두 따라 만들면, 컴파일러 + 가속기 + 메모리 측 가속 + DSE의 “네 모서리”가 손에 들어온다. 그러면 “시스템 연구자”라는 단어가 추상이 아니라 도구 모음으로 보이기 시작할 것이다.
빅챕터 1 · 성효진 · 1.5

성효진 교수님의 연구 스타일 요약

한 연구자의 “스타일”은 어떤 단어를 반복해서 쓰는지, 어떤 도구를 손에 잡는지, 어떤 종류의 병목에 흥분하는지로 드러난다.

반복 등장하는 문제의식

  1. “위에서 알고 있는 정보를 아래로 보내자” — 언어 → 컴파일러 → 하드웨어로 의미 정보를 전달.
  2. “휴리스틱은 ML 모델로 대체할 수 있다” — register allocator, autotuner, target/host 결정 등.
  3. “데이터를 어디서 계산할 것인가” — 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 같은 결과물을 “사용자”로 활용하면서 “이 컴파일러가 만든 코드를 손으로 짠 코드와 비교”하는 방식이 학습에 좋다.

컴파일러 사람이 GPU 커널을 사랑하는 방식 — 직접 짜기보다 “자동으로 짜게 만드는 도구를 짠다”. 그 도구가 만들어낸 코드를 거꾸로 읽으면, 사람 손이 잘 가는 패턴이 무엇이었는지 보인다.
빅챕터 1 · 성효진 · 1.6

앞으로의 방향 — 명시 자료 + 추정

한 연구자의 “다음”을 정확히 점치는 사람은 본인뿐이다. 이 절은 공개 자료에서 확인되는 방향과 “흐름상 자연스러운 추정”을 분리한다.

명시 자료에서 확인되는 방향

  • 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 류의 컴파일러 경험이 다시 중요해짐.

학생이 준비하면 좋은 구현 프로젝트

  1. TVM Relay + UPMEM 백엔드를 직접 작성해 dot product/conv1d 두 종을 매핑 — 1개월
  2. DeNovo coherence를 gem5 ruby 위에 reimplement — 3개월
  3. CXL Type-3 메모리 확장기 시뮬레이터에 NDP 모듈 추가 — 3개월+

이 연구자를 이해하는 한 문장

성효진 교수님은 “위쪽 레이어가 알고 있는 의미적 정보를 아래쪽 시스템에 흘려보내, 컴파일러가 직접 데이터의 위치와 흐름을 결정하게 만드는 사람”이다.

빅챕터 2 · 유민수 · 2.1

연구자 프로필

석사 때 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 EngineeringUT Austin2014Mattan Erez / Performance-Efficient Mechanisms for Managing Irregularity in Throughput Processors
M.S. 전기공학KAIST2009박인철 (In-Cheol Park) / JPEG2000 비트플레인 코더
B.S. 전자공학서강대학교2007Summa Cum Laude · 수석 졸업

경력

2007 – 2009
KAIST 석사 · 박인철 그룹 · JPEG2000 ASIC
2009 – 2014
UT Austin 박사 · Mattan Erez 그룹 · GPU 마이크로아키텍처
2014 – 2017
NVIDIA Research · Research Scientist → Senior Research Scientist · Stephen W. Keckler / Bill Dally / Mike O'Connor 그룹과 협업
2017 – 2018
POSTECH 컴퓨터공학과 조교수 (1년)
2018 – 2025
KAIST EE 조교수 → 부교수
2022 – 2023
Meta AI Visiting/Research Scientist · 추천 시스템 협업
2025 –
KAIST EE 정년보장 부교수 → 2026 Endowed Chair Professor

학술 프로필

핵심 협업 네트워크

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년 지원.
한국 architecture 분야에서 “top-tier에 매년 1~3편씩, 수상 라인업까지 갖춘” 거의 유일한 스타일을 만든 사람. 그래서 이 연구실 자료는 학생들에게 “구체적으로 일이 어떻게 굴러가는가”의 표준이 된다.

이 챕터에서 가져갈 것

  • 유 교수님은 GPU 마이크로아키텍처에서 출발해 차츰 GPU 위에 얹는 것들(DL 학습·추천·LLM·에이전트)로 영역을 위로 옮긴 사람.
  • NVIDIA에서 vDNN과 SCNN을 만든 경험이 한국 작업의 톤을 결정한다 — “DL 학습/추론의 메모리 병목”을 본능적으로 본다.
  • 그가 만드는 시스템은 거의 항상 하드웨어 프로토타입 또는 사이클 정확 시뮬레이터가 함께 나온다 — 컴파일러 중심인 성 교수님 그룹과의 결정적 차이.
빅챕터 2 · 유민수 · 2.2

전체 연구 지도

한 사람이 어떻게 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 → 에이전트”로 펼쳐진다. 각 축은 구체적 시스템(하드웨어 프로토타입 또는 사이클 정확 시뮬레이터)으로 마무리된다. 모든 축을 관통하는 단어는 “데이터의 양과 위치”다.

빅챕터 2 · 유민수 · 2.3

연도별 연구 흐름

한 사람이 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: 분기 컴팩션 예측

2013 — Dual-Path · SIMD Permutation · Locality-Aware Memory

Dual-Path Execution Model for Efficient GPU Control Flow
HPCA 2013

분기 발생 시 if/else를 “양쪽 동시에” 실행. stack 기반 reconvergence 대신 dual-path queue.

Maximizing SIMD Resource Utilization in GPGPUs with SIMD Lane Permutation
ISCA 2013

warp 내부 lane을 permute해 SIMD 자원 활용 극대화.

A Locality-Aware Memory Hierarchy for Energy-Efficient GPU Architectures
MICRO 2013

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

2017 — SCNN, Architecting DRAM, GPUpd

Architecting an Energy-Efficient DRAM System for GPUs
HPCA 2017
GPUpd: Multi-GPU Architecture Using Cooperative Projection
MICRO 2017 · 김장우 POSTECH 그룹과 공동

2018 — cDMA, Beyond the Memory Wall

Compressing DMA Engine (cDMA): Leveraging Activation Sparsity for Training
HPCA 2018

vDNN의 swap traffic을 activation sparsity(주로 ReLU)로 압축. NVIDIA 시기의 마지막 1저자 작품.

2019 — TensorDIMM

2020 — Centaur, NeuMMU, PREMA

NeuMMU: Architectural Support for Efficient Address Translations in NPUs
ASPLOS 2020 · IEEE Micro Top Picks Honorable Mention

NPU의 가상-물리 주소 변환 병목. NPU에 “OS 추상화”를 학술적으로 처음 다룬 작업.

PREMA: A Predictive Multi-task Scheduling Algorithm For Preemptible NPUs
HPCA 2020

NPU 다중 추론 작업의 SLA-aware 선점형 스케줄링.

2021 — TRiM, Tensor Casting, LazyBatching, Trident

TRiM: Scalable Tensor Reduction in Memory
MICRO 2021 · 서울대 안정호 그룹과 공동

DRAM 인터페이스 안에 tensor reduction(예: embedding sum) 통합 NMP.

Tensor Casting: Co-Designing Algorithm-Architecture for Personalized Recommendation Training
HPCA 2021

추천 학습에서 sparse embedding 업데이트 가속. 알고리즘-아키텍처 코디자인. 1.9–21배 향상.

LazyBatching: SLA-aware Batching for Cloud ML Inference
HPCA 2021

NVIDIA Triton Inference Server의 학술적 토대.

Trident: GPU Cache Timing Attack for AES Key Recovery
HPCA 2021 · Northeastern 공동

GPU 캐시 timing attack으로 AES 키 복원. 보안 라인의 시작.

2022 — DiVa, ARK, SmartSAGE, GPU Scratch, BTS, PARIS/ELSA

이 해부터 KAIST VIA가 “여러 축이 동시에 굴러가는” 그룹으로 자리 잡는다.

DiVa: An Accelerator for Differentially Private ML
MICRO 2022

DP-SGD의 clipping과 노이즈 추가가 가장 비싼 두 단계임을 분석하고 RTL로 가속.

ARK: FHE Accelerator with Inter-Operation Key Reuse
MICRO 2022 · 서울대 안정호 그룹과

FHE의 keyswitch와 NTT 가속.

SmartSAGE: Training Large-scale GNN using In-Storage Processing
ISCA 2022

SSD 안에서 그래프 샘플링.

Training Personalized Recommendation Systems from (GPU) Scratch
ISCA 2022

GPU 메모리에서 training data를 “scratch” 처럼 사용. embedding을 메모리 외부에 두고 training.

BTS: Accelerator for Bootstrappable FHE
ISCA 2022 · 서울대 안정호 그룹과

CKKS bootstrapping을 처음으로 가속.

PARIS and ELSA: Elastic Scheduling for Reconfigurable Multi-GPU Inference Servers
DAC 2022

NVIDIA Ampere MIG GPU의 elastic 스케줄링.

2023 — GROW, HAMMER

GROW: Row-Stationary Sparse-Dense GEMM Accelerator for GCN
HPCA 2023
HAMMER: Hardware-friendly Approximate Computing for Self-attention
IEEE CAL 2023 · KAIST 박종세 공동

self-attention 근사. mean redistribution + linearization.

2024 — 전성기 한 해

이 해는 VIA 그룹의 절정 — MICRO/ISCA/HPCA/ASPLOS top-tier 4개에서 동시에 큰 성과.

PIM-MMU
MICRO 2024

uPIMulator 후속. host-PIM 데이터 전송 가속 MMU.

PreSto
ISCA 2024

추천 모델 학습 데이터 전처리를 SSD 안에서 수행.

ElasticRec
ISCA 2024

마이크로서비스 기반 추천 서빙 — embedding/MLP 분리해 elastic scaling.

LazyDP
ASPLOS 2024 · Cornell/Penn State 공동

DP 추천 모델 학습의 알고리즘-소프트웨어 코디자인.

GPU-based Private Information Retrieval for On-Device ML
ASPLOS 2024 · Harvard/Meta 공동
Uncovering Real GPU NoC Characteristics
MICRO 2024 · UBC Tor Aamodt와 공동

실제 GPU NoC를 측정해 종래 학술 모델과의 차이를 드러냄.

2025 — Debunking the CUDA Myth, Hera, Mamba-X

Hera
PACT 2025

이기종(GPU/CPU) 자원에서 멀티 테넌트 추천 서빙.

Mamba-X
ICCAD 2025

Vision Mamba SSM 가속기 for edge.

A Characterization of HSTU
IEEE CAL 2025

Meta의 generative 추천 모델 워크로드 분석.

2026 — AI 에이전트와 reasoning LLM의 시대

PIM-malloc
HPCA 2026

PIM 동적 메모리 할당. 정적 할당 한계를 넘는 첫 작업.

Agent-X
MobiSys 2026

모바일 디바이스에서 AI 에이전트의 풀파이프라인 가속.

SpecMoE
DAC 2026

self-assisted speculative decoding으로 MoE 추론 가속.

PREBA
DAC 2026

MIG 기반 추론 서버 HW/SW 코디자인.

KV Cache Quantization in Multimodal LLM
IEEE CAL 2026
ZipFlow
arXiv 2026 · Microsoft 협업

GPU compressed data movement 컴파일러 프레임워크.

이 챕터에서 가져갈 것

  • 2018 KAIST 부임 이후 매년 ISCA/MICRO/HPCA/ASPLOS top-tier에 1~3편씩 꾸준히.
  • “워크로드 특성화 → 시스템 제안 → 시뮬레이터/프로토타입 → 후속 확장” 사이클이 매우 안정.
  • 특히 2024년에 PIM/LLM/추천/보안 4축이 동시에 정점.
빅챕터 2 · 유민수 · 2.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 인프라”의 대표 워크로드를 학술적으로 처음 다룬 그룹 중 하나
VIA 그룹을 한 번에 이해하고 싶다면 — uPIMulator(2024)와 vTrain(2024)을 같이 빌드해 봐라. 한쪽은 “메모리 측 가속의 풀스택”을, 다른 한쪽은 “LLM 학습 인프라의 풀스택”을 보여준다.
빅챕터 2 · 유민수 · 2.5

유민수 교수님의 연구 스타일 요약

한 사람이 매년 top-tier에 1~3편씩 8년간 쌓을 수 있다면, 그 사람의 작업 스타일은 “학습 가능한 패턴”이 되어 있을 것이다.

반복 등장하는 문제의식

  1. “이 워크로드는 메모리 어디에 어떻게 닿는가” — 거의 모든 작업이 워크로드 특성화에서 시작.
  2. “데이터 위치를 옮기면 시스템이 빨라진다” — GPU↔CPU(vDNN) → memory측(NMP) → storage측(SmartSAGE/PreSto) → CXL pool(추후 추정).
  3. “알고리즘 + 아키텍처 코디자인” — 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을 사용해 “이 커널이 메모리에 닿을 때 어떤 일이 일어나는가”를 정량적으로 보는 훈련이 효과적.

아키텍처 사람이 GPU 커널을 사랑하는 방식 — 직접 짜기보다 “이 커널이 칩 안에서 어떤 흔적을 남기는가”를 본다. 그 흔적이 시뮬레이터 출력에 그래프로 찍힐 때 “모델 → 칩” 사이의 거리가 비로소 보인다.
빅챕터 2 · 유민수 · 2.6

앞으로의 방향 — 명시 자료 + 추정

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”류 작업이 늘어날 것.

학생이 준비하면 좋은 구현 프로젝트

  1. uPIMulator를 빌드하고 자기만의 ML 워크로드(예: small transformer)를 UPMEM에 매핑 — 1개월
  2. vTrain으로 GPT-3급 학습을 다양한 병렬화 전략으로 시뮬해 비용 곡선 그리기 — 2주
  3. PyTorch 위에 vDNN-like activation offloading을 reimplement — 3주
  4. NeuMMU의 NPU MMU 시뮬을 gem5에 추가해 NPU 가상메모리 평가 — 3개월

이 연구자를 이해하는 한 문장

유민수 교수님은 “새로 등장하는 거대한 ML 워크로드가 메모리·자원·보안 어디서 막히는지를 사이클 정확 시뮬과 RTL 프로토타입으로 측정하고, 알고리즘과 아키텍처를 함께 바꿔 그 막힘을 풀어내는 사람”이다.

빅챕터 3 · 두 세계 비교 · 3.1

두 분의 공통분모

출발점이 다른데 어떻게 같은 단어를 쓰게 되는가. 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을 더 빠르게 돌리는 방법”에 직접 일하지만, 한 분은 컴파일러 측에서, 한 분은 시스템/시뮬 측에서 접근한다.

두 분이 같은 학회(MICRO/ISCA/HPCA/ASPLOS) 같은 세션에 자주 같이 등장하는 이유 — 같은 산을 다른 길로 오르고 있기 때문이다. 학회는 그 산의 정상이다.
빅챕터 3 · 두 세계 비교 · 3.2

차이점 — 한 표로

공통점만 보면 두 분이 “같은 사람”처럼 보이지만, 실제로는 “손에 잡는 도구”가 결정적으로 다르다. 같은 산을 다른 길로 오르는 두 사람의 도구함을 정리한다.

비교 표

비교 항목 성효진 유민수 독학자에게 주는 의미
주된 시스템 레이어 컴파일러(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).

이 “이름의 형식”만 봐도 두 사람이 “세상을 어떤 단위로 보는가”가 드러난다.

컴파일러 사람은 “이 단계는 몇 줄의 패스로 풀 수 있는가”를 묻는다. 아키텍처 사람은 “이 워크로드는 몇 cycle, 몇 GB/s로 설명되는가”를 묻는다. 둘은 같은 시스템을 다른 좌표로 본다.
빅챕터 3 · 두 세계 비교 · 3.3

읽기 로드맵 — 네 가지 루트

두 분의 논문 100여 편을 다 읽으려는 사람은 거의 없다. 자기 목적에 맞는 “경로 설계”가 필요하다.

루트 ① — 입문 루트

배경 개념을 먼저 잡고 싶은 사람용. 너무 어려운 수식/구현은 피한다.

읽기 순서

  1. Beyond the Memory Wall (유민수, MICRO 2018) — “memory-centric HPC” 비전.
  2. vDNN (유민수, MICRO 2016) — DL 학습 메모리 문제의 정의.
  3. DeNovo (성효진, PACT 2011) — 캐시 코히런스의 “재정의”.
  4. Implementing Implicit OpenMP Data Sharing on GPUs (성효진, LLVM-HPC 2017) — OpenMP가 GPU에 어떻게 떨어지는가.
  5. uPIMulator (Pathfinding PIM) (유민수, HPCA 2024) — 상용 PIM이라는 새 영역.

이 5편을 읽으면 “시스템 연구자가 일하는 좌표계”가 거의 보인다.

루트 ② — 시스템 구현 루트

실제 코드/프로토타입/벤치마크를 따라가며 읽고 싶은 사람용.

읽기 순서

  1. vDNN — PyTorch hook으로 한 번 reimpl.
  2. PIMFlow (성효진, CGO 2023) — TVM 빌드하고 PIM 백엔드 구조 파악.
  3. uPIMulator — 시뮬레이터 빌드해 UPMEM 워크로드 실행.
  4. vTrain — LLM 학습 비용 시뮬 돌려보기.
  5. One-Shot Tuner — Zenodo artifact로 TVM 위에 cost model 학습.
  6. NavCim — NeuroSim 빌드해 아날로그 CiM 평가.

여기까지 다 만져보면 “학술 시뮬레이터 6개 빌드 경험”이라는 이력이 생긴다. 대학원 컨택할 때 가장 강한 무기.

루트 ③ — GPU/컴파일러/AI 시스템 루트

CUDA · Triton · vLLM · TensorRT-LLM 쪽으로 진입하려는 사람용.

읽기 순서

  1. vDNN + cDMA (유민수) — DL 학습 메모리 가상화.
  2. SCNN (유민수) — sparse dataflow.
  3. One-Shot Tuner + MetaTune (성효진) — autotuning 자동화.
  4. PIMFlow + ATiM (성효진) — 컴파일러가 PIM/UPMEM을 백엔드로 다루는 법.
  5. Pre-gated MoE (유민수) — MoE 추론 알고리즘+시스템 코디자인.
  6. vTrain + PASCAL (유민수) — LLM 학습/추론 인프라.
  7. Cost of Dynamic Reasoning + Agent-X (유민수) — AI 에이전트 인프라.

이 순서로 읽으면 “학습 메모리 → sparse dataflow → autotuning → PIM 컴파일 → MoE → LLM training/serving → AI agent”까지 한 라인이 그어진다.

루트 ④ — 대학원 컨택 준비 루트

두 연구실 중 한 곳에 지원하거나 컨택하려는 사람용.

성효진 교수님 그룹 컨택용

  1. DeNovo — 박사 시기의 “이 사람 생각의 원형”.
  2. Efficient Fork-Join through Warp Specialization + OpenMP Implicit Data Sharing — IBM 시기 대표작 두 편.
  3. One-Shot Tuner — 한국 시기 컴파일러 대표작.
  4. PIMFlow + ATiM — PIM 컴파일러 라인.
  5. CXL NDP + NavCim — 가장 최근 라인.

컨택 메일에 “이 5편 중 어느 편의 어느 부분에 끌렸고, 그래서 어떤 follow-up을 생각해 봤다”까지 쓸 수 있으면 거의 무조건 답이 온다.

유민수 교수님 그룹 컨택용

  1. vDNN + SCNN — NVIDIA 시기 두 대표작.
  2. TensorDIMM + Centaur — KAIST 추천 라인 시작점.
  3. uPIMulator — HPCA Best Paper. 이 논문을 안 읽고 컨택하면 안 됨.
  4. vTrain + Pre-gated MoE — LLM 라인.
  5. Cost of Dynamic Reasoning + Agent-X — 가장 최근 라인.

VIA 그룹은 학생이 많아 경쟁이 치열. 시뮬레이터 빌드 경험(uPIMulator, vTrain)을 컨택 메일에 명시하면 가장 효과적.

컨택 메일을 잘 쓰는 한 가지 비결 — “당신이 만든 시스템 X를 직접 빌드해 봤고, Y라는 부분이 흥미로웠다”라고 쓰는 것. 추상적 칭찬 100마디보다 구체적 reimpl 한 번이 강하다.
빅챕터 3 · 두 세계 비교 · 3.4

독학자용 미니 프로젝트 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) 추천.
8개 다 하지 않아도 된다. 하나를 끝까지 따라가면 “시뮬레이터를 빌드한 사람”이 되고, 그게 이력서에서 가장 강한 한 줄이 된다.
부록 A

전체 논문 목록

두 분의 검증된 논문을 한 표에 모았다. 표는 검색·정렬·인용 용도. 본문 챕터에서 다룬 “이야기”는 빅챕터 1·2를 보라.

자료 기준일 2026-04-26 · 데이터 원본은 data/papers.csv에도 정리. 원본 링크는 각 행의 “PDF/URL” 열.

A.1 성효진 교수님 — 27편

연도제목venue주제우선순위링크
2009DPJ — A Type and Effect System for Deterministic Parallel JavaOOPSLAPL/병렬ACM
2010Parallel SAH k-D Tree ConstructionHPG병렬알고리즘code
2010DeNovo: Rethinking Hardware for Disciplined ParallelismHotParHW/캐시PDF
2011DeNovo (Best Paper)PACTHW/캐시최우선ACM
2013DeNovoNDASPLOSHW/캐시최우선ACM
2014DeNovoND (IEEE Micro Top Picks 재게재)IEEE MicroHW/캐시
2015DeNovoSyncASPLOSHW/동기화최우선ACM
2015PhD Thesis — DeNovoUIUCHW/캐시최우선
2015Integrating GPU Support for OpenMP into ClangLLVM-HPC@SC컴파일러/GPUACM
2015Performance Analysis of OpenMP on a GPU (CORAL Proxy)PMBS@SC컴파일러/GPUACM
2016Offloading Support for OpenMP in Clang and LLVMLLVM-HPC@SC컴파일러/GPU
2016Performance Analysis & Optimization of Clang's OpenMP 4.5 GPUPMBS@SC컴파일러/GPU
2016Automatic Copying of Pointer-Based Data StructuresLCPC컴파일러Springer
2017Efficient Fork-Join on GPUs (Warp Specialization)HiPCGPU/병렬
2017Leveraging OpenMP 4.5 in CLANG for Fortran (XLFLANG)IWOMP컴파일러Springer
2017Implementing Implicit OpenMP Data Sharing on GPUsLLVM-HPC@SC컴파일러/GPUACM
2017Benchmarking Unified Memory for OpenMP GPULLVM-HPC@SC컴파일러/GPU
2019CogR (poster)PACTML/runtimeIBM
2021Greedy-SO Hybrid Register AllocationLCPC컴파일러Springer
2021MetaTunearXivML/컴파일러arXiv
2021NDP in Memory Expander for DNN on GPUsIEEE CALNDP/GPU
2022One-Shot TunerCCML/컴파일러ACM
2022Runtime Support for CNN on Digital DRAM PIMIEEE CALPIM/runtime
2023PIMFlowCGOPIM/컴파일러최우선ACM
2023XLA-NDPIEEE CALNDP/컴파일러
2023Hetero ACiM SearchICCADDSE/CIM
2023PRIMOICCADPIM/시뮬
2024CXL NDP (MICRO Best Paper Track)MICRONDP/CXL최우선arXiv
2024NavCimPACTDSE/CIM
2024Non-Invasive NDP for DNN Training on GPUsIEEE AccessNDP/GPU
2024IMTParXivPIM/컴파일러arXiv
2025ATiMISCAPIM/컴파일러최우선
2025HYPERFHPDCHPC/컴파일러
2026FORTECGO데이터/컴파일러

A.2 유민수 교수님 — 60+편

JPEG2000 / 박사 시기 — 8편 (2009-2015)
2009Memory-less Bit-Plane Coder for JPEG2000ICIP
2009Dual-Symbol Binary Arithmetic Coder for JPEG2000ICIP
2009Trace-Pipelined Binary Arithmetic CoderSiPS
2010Optimization of Arithmetic Coding for JPEG2000IEEE TCSVT
2012CAPRIISCAGPU/제어
2013Dual-Path Execution ModelHPCAGPU/제어
2013SIMD Lane PermutationISCAGPU/SIMD
2013Locality-Aware Memory HierarchyMICROGPU/메모리
2014GPUVoltISLPEDGPU/전력
2015Priority-Based Cache AllocationHPCAGPU/캐시
2015CLEAN-ECCMICRO메모리/ECC
NVIDIA · KAIST 초기 — 8편 (2016-2020)
2016vDNNMICRODL/메모리arXiv
2017SCNNISCADL가속/SparseACM
2017Energy-Efficient DRAM for GPUsHPCAGPU/메모리
2017GPUpd Multi-GPUMICROGPU/멀티
2018cDMAHPCADL/메모리
2018Beyond the Memory WallMICRODL/메모리
2018Memory-Centric HPC for DNNIEEE CALDL/메모리
2018Accelerator-centric DL SystemsASP-DACDL/시스템
2019TensorDIMMMICRONMP/추천ACM
2019Disaggregated Memory for DLIEEE MicroDL/메모리
2020CentaurISCA추천/가속
2020NeuMMUASPLOSNPU/MMU
2020PREMAHPCANPU/스케줄
KAIST 중기 — 14편 (2021-2023)
2021TRiMMICRONMP/Tensor
2021Tensor CastingHPCA추천/가속
2021LazyBatchingHPCAML서빙
2021Trident GPU Side-channelHPCAGPU/보안
20213D Point Cloud DL 분석IEEE CALDL/특성화
2021NVM for GNN trainingIEEE CALGNN/메모리
2022DiVaMICRODP/가속
2022ARK FHEMICROFHE/가속
2022SmartSAGEISCAGNN/스토리지
2022Training from GPU ScratchISCA추천/메모리
2022BTS FHEISCAFHE/가속
2022PARIS/ELSADACML서빙
2023GROWHPCAGNN/가속
2023HAMMERIEEE CALTransformer/근사
2024 — 절정의 한 해 (10편)
2024uPIMulator (HPCA Best Paper)HPCAPIMarXiv
2024Pre-gated MoEISCAMoEarXiv
2024PreStoISCA추천/스토리지
2024ElasticRecISCA추천/서빙
2024LazyDPASPLOSDP/추천
2024GPU-based PIRASPLOS프라이버시
2024vTrainMICROLLM/시뮬code
2024PIM-MMUMICROPIM/MMU
2024GPU NoC CharacterizationMICROGPU/NoC
2024FPGA Preprocessing for RecsysIEEE CAL추천/FPGA
2025 — 4편
2025Debunking the CUDA Myth (Gaudi)ISCANPU/평가arXiv
2025HeraPACT추천/서빙
2025Mamba-XICCADSSM/가속
2025HSTU 분석IEEE CAL추천/특성화
20253DGS Pipeline 분석IEEE CAL3DGS/특성화
2024Text-to-Image Diffusion 분석IEEE CALDL/특성화
2026 — AI 에이전트의 해 (8편)
2026Cost of Dynamic ReasoningHPCAAI agentarXiv
2026PASCALHPCALLM/스케줄arXiv
2026PIM-mallocHPCAPIM/메모리arXiv
2026Agent-XMobiSys모바일 에이전트
2026SpecMoEDACMoE/추론
2026PREBADACGPU/MIG
2026KV Cache Quantization MM-LLMIEEE CALLLM/멀티모달
2026ZipFlowarXivGPU/컴파일러arXiv
부록 B

주요 용어 사전

두 분의 논문을 읽다 보면 만나는 용어들을 “시스템에서 실제로 무슨 일이 일어나는가”로 풀어 적었다.

컴파일러 · 런타임

용어풀이
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 targetOpenMP 4.5의 GPU offload 지시문. #pragma omp target으로 표기.

메모리 · 캐시

용어풀이
memory hierarchyregister → L1 → L2 → L3 → DRAM → SSD로 점점 “느리지만 큰” 메모리들이 쌓인 구조.
cache coherence여러 코어가 같은 데이터를 자기 캐시에 들고 있을 때, “누가 최신인가”를 맞추는 약속. MESI/MOESI가 대표 프로토콜.
self-invalidation다른 코어가 “내 캐시를 비우라”고 메시지를 보내는 대신, 자기 캐시를 자발적으로 비우는 방식. DeNovo의 핵심.
NUMANon-Uniform Memory Access. CPU에 따라 “가까운 메모리”와 “먼 메모리”가 다른 멀티소켓 구조.
HBMHigh Bandwidth Memory. GPU 옆에 적층된 고대역폭 DRAM. 한 stack 당 ~1TB/s.
DRAM bankDRAM 칩 내부의 분할된 단위. 동시 접근이 가능한 병렬 단위.
memory wall“CPU 속도는 빠르게 증가하는데 메모리 대역폭은 그만큼 안 따라온다”는 고전 문제.

GPU

용어풀이
SIMTSingle Instruction Multiple Thread. GPU의 32-thread warp이 한 명령을 동시에 실행.
warp32 thread 묶음. NVIDIA GPU의 SIMD 단위.
CTA / thread blockwarp들의 묶음. 같은 SM 안에서 실행되며 shared memory를 공유.
control divergencewarp 안의 thread들이 if/else로 갈라져 SIMD 자원 일부가 노는 현상.
memory divergencewarp 안 thread들이 메모리 다른 곳을 읽어 coalesce가 안 되는 현상.
tensor coreNVIDIA Volta+ GPU의 행렬곱 전용 유닛. FP16/INT8 행렬곱을 한 cycle에.
cuDNNNVIDIA의 DNN primitive 라이브러리. conv/relu/batchnorm 같은 layer 단위 GPU 커널 모음.
warp specialization한 CTA 안의 warp들에게 다른 역할을 부여 (master/worker 등). OpenMP fork-join을 GPU에 떨어뜨릴 때 쓰임.

가속기 · 시스템 레벨

용어풀이
accelerator특정 워크로드를 빠르게 처리하기 위한 전용 칩. NPU·TPU·SCNN·TensorDIMM 등.
NPUNeural 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가 동기화 없이 같은 데이터를 동시에 접근(하나는 쓰기). 결과가 비결정적.
synchronizationthread/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 cacheLLM 추론 시 attention의 Key/Value를 저장해 재사용하는 캐시. 길어질수록 메모리를 많이 먹음.
MoE (Mixture of Experts)여러 “expert” 네트워크 중 일부만 켜는 구조. 학습/추론 시 expert 선택이 동적.
speculative decoding작은 모델로 미리 토큰을 “추측”하고, 큰 모델로 검증해 가속.
FHE (Fully Homomorphic Encryption)암호화된 채로 연산이 가능한 암호. 100~10,000배 느려짐. BTS/ARK가 대표 가속기.
DP-SGDDifferentially Private SGD. 학습 gradient에 노이즈를 더해 프라이버시 보장.
embedding희소 카테고리(상품 ID, 단어)를 dense 벡터로 표현. 추천시스템의 핵심 자료구조.
test-time scaling같은 모델로 “생각 시간을 더 들여서” 정확도를 올리는 방식. reasoning LLM의 핵심.
부록 C

선수 과목 지도

두 분의 논문을 따라 읽으려면 어느 과목을 어디까지 알아야 하는지를 “읽고 싶은 논문” 단위로 묶어 정리한다.

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.

추천

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)

학습 우선순위 추천

  1. 컴퓨터구조 → CSAPP → CUDA → 컴파일러 (이 순서가 가장 보편)
  2. 그 다음 ML 시스템과 PIM/CXL을 “현장 이슈”로 따라가며 배움
  3. 대학원 컨택 직전에 “시뮬레이터 빌드 1회”로 전체 그림을 마무리
부록 D

출처와 한계

이 문서가 어떤 자료를 어떻게 썼고, 무엇을 못 봤고, 무엇을 추정으로 표시했는지 한 곳에 모은다. 학술 문서의 정직함은 “모르는 걸 모른다고 말하는 곳”에서 나온다.

D.1 1차 자료 — 성효진 교수님

공식 페이지

학술 프로필

박사 시기 / DeNovo

주요 코드 / 리포지토리

D.2 1차 자료 — 유민수 교수님

공식 페이지

학술 프로필

코드

KAIST EE 보도자료

  • vTrain — link
  • HPCA Best Paper — link
  • ISCA Hall of Fame — link
  • SW Star Lab — link

D.3 학회 / 데이터베이스

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을 보는 데는 필요 없다.

맺음말

한 사람의 연구를 잘 읽었다는 것의 가장 정직한 증거는, 그 사람의 “다음 논문 제목”을 미리 짐작할 수 있게 되는 것이다. 이 문서를 다 읽은 사람이 두 분의 다음 논문 제목을 절반쯤 맞출 수 있다면, 이 책의 일은 끝난 것이다.

그리고 한 가지 — 이 문서는 두 분에 대한 평가가 아니라 두 분의 작업을 따라가기 위한 지도다. 실제 연구는 이 지도 너머에서 시작된다. 좋은 여행이 되길.