Currently I'm doing my masters program at KAIST Graduate School of Computing, under the advisement of
Prof. Jeehoon Kang, of KAIST Concurrency & Parallelsim Lab.
My interests are: AI systems, compilers, programming languages and machine learning.
I want to build a compiler, runtime and programming model that fill the gap between large AI models and heterogeneous hardwares, e.g., NPU and PIM.
single-page CV
CV.pdf
Contact
- Email : haechan.an_at_kaist.ac.kr
- Github : AnHaechan
Research Topic: AI compilers for NPU/PIM accelerators
Deep learning models, such as generative AI, are increasingly demanding more computation, memory and bandwidth. To efficiently handle those resource demands, (1) various specialized accelerators have been proposed and (2) the model executions are being distributed to multiple hardwares. The benefit of using multiple heterogeneous accelerators can only be utilized by a software stack, including specialized compiler and runtime, which bridge the high-level application and low-level hardwares. However, currently there are limited compiler support that can automatically generate efficient execution plans for varying models, given multiple different accelerators including NPU(Neural Processing Unit) and PIM(Processing In Memory). My research goal is to design such AI compilers for distributed & heterogeneous accelerators.
Experiences
- 2021.01-2021.10, Undergraduate Internship, at KAIST PLRG : worked on the instrumentation of JNI programs for bug-catching using dataflow analysis : worked on finding Rust type patterns for shared mutable states in TockOS; contributed just a small bit on this work
- 2022.01-2022.02, Startup : developed data pipeline and web frontend
- 2022.03-2022.06, Undergraduate Internship, at KAIST Prosys Lab : studied static program analysis and program synthesis; wrapped up it with my Bachelor's thesis
- 2022.07-, Undergraduate Internship & Master's Student, at KAIST Concurrency and Parallelism Lab : worked on serving ML pipelines on NPU/GPU servers, with adpative scheduling (~5 mo) : worked on automatic program verification/formal proof automation with language models augmented with theorem provers (~1 yr) : currently working on AI compilers. Especially for optimizing LLM inference on NPU/PIM devices. (~1 yr)
Programming languages / Dev tools
- General purpose: Python (proficient)
- Systems progamming: Rust (proficient), C and C++
- Functional programming: Ocaml
- Interactive theorem proving: Coq
- Machine learning: PyTorch
- Dev tools: Familar with basic dev tools, including Linux, Git, Docker, ssh and GCP
Publications / Delieverables
- Been granted a patent on ML pipeline serving system for NPU/GPU servers , contributed as the third author
- Submitted a technical report on survey of AI compilers for distributed & heterogenous accelerators (proprietary)
- Created a lecture slide for AI compilers, contributing to KAIST CS492: Microarchitecture Design
- Wrote a guide to TorchInductor, the backend AI compiler for PyTorch 2.
- (WIP) Leading a project on building a NPU-PIM compiler and IR for LLM inferece
Education
- 2018.03-2023.02, KAIST School of Computing (Undergraduate), GPA 4.04/4.3
- 2019.12-2020.01, Yonsei University (Exchange student)
- 2023.03-, KAIST Graduate School of Computing (Masters student)
Teaching experiences
- TA of CS420: Compiler Design, 2023 Spring
- TA of CS220: Programming Principles, 2023 Fall
External experiences
- participated in SK Hynix's workshop on AiM(Accelerator-in-Memory) theory & practice
- participated in Modulabs & Rebellions' PyTorch + NPU lab
Honours
- School of Computing, Dean's List, 2019 Spring
- School of Computing, Department Valedictorian, 2019 Fall
- School of Computing, Dean's List, 2020 Fall
- Graduation from School of Computing with Summa Cum Laude, 2022 Fall
- School of Computing, Excellent TAs, 2023 Spring
- School of Computing, Excellent TAs, 2023 Fall
Languages
- Korean (native, CEFR C2)
- English (advanced, ~CEFR C1)
- Comfortable with communicating at workplace and discussing academic subjects
- Working to reach the level of fluency
- Japanese (intermediate, ~CEFR B1)
- Comfortable with daily conversations
- Chinese (started to learn recently)
Personal blogging
- CS classic papers
- Productivity tips that worked for me (TODO: add link)
Other interests
- Traveling around the world
- Learning new languages, culture and history
- Playing football and watching European football (huge fan of FC Barcelona)
- Occationally drinking beers, or playing video games with friends after work