-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
191 lines (182 loc) · 10.1 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> CV : Haechan An </title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<header>
<h1> Haechan An </h1>
</header>
<!--
<nav>
</nav>
-->
<main>
<p>
<img src="./img/haechan_25.jpg" width="10%"/>
</p>
<p>
Currently I'm doing my masters program at KAIST Graduate School of Computing, under the advisement of
<a href = "https://cp.kaist.ac.kr/jeehoon.kang/"> Prof. Jeehoon Kang, of KAIST Concurrency & Parallelsim Lab</a>. </br>
My interests are: AI systems, compilers, programming languages and machine learning.</br>
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.
<br>
<br>
</p>
<p>
<h3> Contact </h3>
<ul>
<li> Email : haechan.an_at_kaist.ac.kr </li>
<li> Github : AnHaechan </li>
</ul>
</p>
<p>
<h3> Current Research Topic </h3>
<p>
<h5>AI compilers for NPU & PIM accelerators</h5>
Deep learning models, such as generative AI, are increasingly demanding more computation, memory and bandwidth.
</br>
To efficiently handle those resource demands, (1) various specialized accelerators have been proposed
and (2) the model executions are being distributed to multiple hardwares.
</br>
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.
</br>
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).
</br>
My research goal is to design such <b>"AI compilers for distributed & heterogeneous accelerators"</b>.
</p>
</p>
<p>
<h3> Experiences </h3>
<ul>
<li> 2021.01-2021.10, Undergraduate Internship, at <a href ="https://plrg.kaist.ac.kr/home">KAIST PLRG</a> </li>
: worked on the instrumentation of JNI programs for bug-catching using dataflow analysis </br>
: worked on finding Rust type patterns for shared mutable states in TockOS; contributed just a small bit on <a href = https://www.sciencedirect.com/science/article/pii/S0167642324000753?via%3Dihub> this work </a> </br>
<li> 2022.01-2022.02, Startup </li>
: developed data pipeline and web frontend </br>
<li> 2022.03-2022.06, Undergraduate Internship, at <a href ="https://prosys.kaist.ac.kr/">KAIST Prosys Lab</a> </li>
: studied static program analysis and program synthesis; wrapped up it with <a href = https://drive.google.com/file/d/1NlnUOkdNGbU7ZY5Za-QfbXbk44ynreds/view?usp=sharing> my Bachelor's thesis </a></br>
<li> 2022.07-, Undergraduate Internship & <b>Master's Student</b>, at <a href ="https://cp.kaist.ac.kr/">KAIST Concurrency and Parallelism Lab</a> </li>
: <b> worked on serving ML pipelines on NPU & GPU servers, with adpative scheduling (~5 mo); the paper is under revision </b> </br>
: <b> worked on automatic program verification / proof synthesis by using language models augmented with theorem provers (~11 mo) </b> </br>
: <b> currently working on AI compilers. Especially for optimizing LLM inference on distributed and heterogeneous hardwares, including NPU & PIM. (2024.03-) </b> </br>
</ul>
</p>
<p>
<h3> Programming languages / Dev tools </h3>
<ul>
<li> General purpose: <b>Python (proficient)</b></li>
<li> Systems progamming: <b>Rust (proficient), C and C++</b></li>
<li> Functional programming: <b>Ocaml</b></li>
<li> Interactive theorem proving: <b>Coq</b></li>
<li> Machine learning: <b>PyTorch</b> </li>
<li> Dev tools: Familar with basic dev tools, including <b> Linux, Git, Docker, ssh and GCP</b>
</ul>
</p>
<p>
<h3> Publications / Delieverables </h3>
<ul>
<li> One paper (contributed as third author) is under revision, on the field of AI inference serving </li>
<li> Submitted a survey report on AI compilers for distributed & heterogenous accelerators (proprietary) </li>
<li> Created <a href = https://docs.google.com/presentation/d/1RZdV3Z-Q1NEbpU1-qk9C97yE1QvwNLJ9Gc7JLaFLZCw/edit?usp=sharing>a lecture slide for AI compilers, contributing to KAIST CS492: Microarchitecture Design</a> </li>
<li> (WIP) Writing an introduction to TorchInductor, the backend ML compiler for PyTorch 2. (TODO: add link) </li>
<li> (WIP) Leading a project on building a NPU-PIM compiler for LLM inferece </li>
<li> Previous works: <a href = https://drive.google.com/file/d/1dzya1rxSW3tfZLDukVvnE_hjkgleHydw/view?usp=drive_link> literature review of proof automation </a>, <a href = https://drive.google.com/file/d/1vH1bxcSttZ5WBi2FdlqUYEt1KuU2kGoe/view?usp=drive_link> proposal for deductive verification with LLM-based code generation </a>, <a href = https://drive.google.com/file/d/1IYV0b90sfGRSzzcp-SPib7wxeAKcRsgB/view?usp=drive_link> paper review on deductive program synthesis with separation logic </a> </li>
</ul>
</p>
<p> <h3> Education </h3>
<ul>
<li> 2018.03-2023.02, KAIST School of Computing (Undergraduate), GPA 4.04/4.3</li>
<li> 2019.12-2020.01, Yonsei University (Exchange student) </li>
<li> 2023.03-, KAIST Graduate School of Computing (Masters student)</li>
</ul>
</p>
<p>
<h3> Teaching experiences </h3>
<ul>
<li> TA of <a href = https://github.com/kaist-cp/cs420> CS420: Compiler Design</a>, 2023 Spring </li>
<li> TA of <a href = https://github.com/kaist-cp/cs220> CS220: Programming Principles</a>, 2023 Fall </li>
</ul>
</p>
<p>
<h3> External experiences </h3>
<ul>
<li> participated in <a href=https://news.skhynix.co.kr/post/kaist-aim-lecture>SK Hynix's workshop on AiM(Accelerator-in-Memory) theory & practice</a> </li>
<li> (WIP) participating in <a href=https://github.com/PyTorchKorea/pytorchcore-kr> Rebellions' PyTorch + NPU lab </a> </li>
</ul>
</p>
<p>
<h3> Honours </h3>
<ul>
<li> School of Computing, Dean's List, 2019 Spring </li>
<li> School of Computing, Department Valedictorian, 2019 Fall </li>
<li> School of Computing, Dean's List, 2020 Fall </li>
<li> Graduation from School of Computing with Summa Cum Laude, 2022 Fall </li>
<li> School of Computing, Excellent TAs, 2023 Spring </li>
<li> School of Computing, Excellent TAs, 2023 Fall </li>
</ul>
</p>
<p>
<h3> Courses I've enjoyed </h3>
These are some advanced courses that I've enjoyed so far. </br>
I believe this listing can indicate my general interests and knowledge.
<ul> <b> Programming Languages & Software Engineering </b>
<li> CS374, Introduction to Human-Computer Interaction </li>
<li> CS402, Logic for Computer Science </li>
<li> CS453, Automated Software Testing </li>
<li> CS520, Theory of Programming Languages </li>
<li> CS524, Static Program Anaylsis </li>
<li> IS593, Program Reasoning </li>
<li> Software Foundations: Logical Foundations </li>
<li> Software Foundations: Programming Language Foundations </li>
</ul>
<ul> <b> Systems & Architectures </b>
<li> CS411, Systems for AI </li>
<li> CS420, Compiler Design </li>
<li> CS431, Concurrent Programming </li>
<li> CS492A, Virtualization </li>
<li> CS510, Computer Architecture </li>
<li> EE595, Parallel Computer Architecture </li>
</ul>
<ul> <b> Machine Learning & AI </b>
<li> MAS350, Probability and Computing </li>
<li> CS470, Introduction to Artificial Intelligence </li>
<li> Stanford CS224n, Natural Language Processing with Deep Learning </li>
<li> EE534, Pattern Recognition </li>
<li> CS564, Data Science Methodology (WIP) </li>
</ul>
</p>
</main>
<p>
<h3> Languages </h3>
<ul>
<li> Korean (native, CEFR C2) </li>
<li> English (advanced, ~CEFR C1) </li>
<ul>
<li> Comfortable with communicating at workplace and discussing academic subjects </li>
<li> Working to reach the level of fluency </li>
</ul>
<li> Japanese (intermediate, ~CEFR B1) </li>
<ul>
<li> Comfortable with daily conversations </li>
<li> JLPT N3 (166/180 pts), 2024.08 </li>
<li> Doing for fun, might try to get N2 in 2025 </lI>
</ul>
</ul>
<h3> Other interests </h3>
<ul>
<li> Traveling around the world </li>
<li> Learning new languages, culture and history </li>
<li> Playing football and watching European football (huge fan of FC Barcelona) </li>
<li> Researching about how to live a better life </li>
<li> Occationally drinking beers, or playing video games with friends after work </li>
</ul>
</p>
<footer>
</footer>
</body>
</html>