-
Notifications
You must be signed in to change notification settings - Fork 1
/
main.tex
292 lines (268 loc) · 12.9 KB
/
main.tex
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
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
% -------------------------------------
% PACKAGES
% -------------------------------------
\documentclass[10pt,letterpaper,sans]{moderncv}
\moderncvstyle{banking}
\moderncvcolor{blue}
\moderncvicons{awesome}
\usepackage[utf8]{inputenc}
\usepackage{xspace, relsize}
\usepackage{verbatim}
\usepackage[scale=0.75,margin=0.65in]{geometry}
\usepackage{import}
\usepackage{etoolbox}
\usepackage[super]{nth}
% -------------------------------------
% CONDITIONALS
% -------------------------------------
\newtoggle{personalemail}
% Second email
% As I go in and out of school, I'll include one or both
\togglefalse{personalemail}
\newtoggle{silvermedal}
% CEC silver medal text
\toggletrue{silvermedal}
\newtoggle{undergradcoursework}
% "Relevant Coursework" section in CSU
\togglefalse{undergradcoursework}
\newtoggle{earlyinterndesc}
% Add description / bullet points on my pre-grad HPE internships
\togglefalse{earlyinterndesc}
\newtoggle{yashwant}
% The other practical program equivalence project
\togglefalse{yashwant}
\newtoggle{seniord}
% The other practical program equivalence project
\togglefalse{seniord}
\newtoggle{dmenu}
% dmenu-rs
\toggletrue{dmenu}
\newtoggle{hotpatch}
% dmenu-rs
\togglefalse{hotpatch}
\newtoggle{headerpadding}
% Add extra padding around the mission statement and title
% Used when there is extra space at the bottom
\toggletrue{headerpadding}
% -------------------------------------
% PREAMBLE
% -------------------------------------
% underscores in this font look really bad
\renewcommand{\_}{\textscale{.7}{\textunderscore}}
% This is how the C++ spec typesets "C++"
\newcommand{\Rplus}{\protect\hspace{-.1em}\protect\raisebox{.35ex}{\smaller{\smaller\textbf{+}}}}
\newcommand{\Cpp}{\mbox{C\Rplus\Rplus}\xspace}
% fixes location of plus sign in text
\newcommand{\+}{%
\raisebox{\dimexpr(\fontcharht\font`X-\height+\depth)/2\relax}{+}%
}
% Used to add a second email / homepage, but preserve the ordering
% If this wasn't done, homepage would be shown before email 2
% Now they're right next to eachother
\makeatletter
\RenewDocumentCommand{\social}{O{}O{}m}{
\ifthenelse{\equal{#2}{}}
{
\ifthenelse{\equal{#1}{linkedin}}{\collectionadd[linkedin]{socials}{\protect\httplink[#3]{www.linkedin.com/in/#3}}}{}
\ifthenelse{\equal{#1}{email2}} {\collectionadd[email2]{socials} {\protect\emailsymbol\emaillink[#3]{#3}}} {} % <= adding this
\ifthenelse{\equal{#1}{homepage}}{\collectionadd[homepage]{socials}{\protect\faGlobe\xspace\httplink[#3]{#3}}} {} % <= adding this
\ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httplink[#3]{www.twitter.com/#3}}} {}
\ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httplink[#3]{www.github.com/#3}}} {}
\ifthenelse{\equal{#1}{arch}} {\collectionadd[arch]{socials} {\protect\raisebox{-0.25mm}{\includegraphics[scale=0.215]{arch_logo.png}}\xspace\httplink[#3]{aur.archlinux.org/account/#3}}}{} % <= adding this
}
{\collectionadd[#1]{socials}{\protect\httplink[#3]{#2}}}}
\makeatother
% This fixes the addres field having a literal -- instead of an en dash
\NewCommandCopy{\oldaddtomakeheaddetails}{\addtomakeheaddetails}
\renewcommand{\addtomakeheaddetails}[2][\makeheaddetailssymbol]{
\ifthenelse{\equal{#1}{~--~}}{
\oldaddtomakeheaddetails[\xspace\textendash\xspace]{#2}
}{
\oldaddtomakeheaddetails[#1]{#2}
}
}
% -------------------------------------
% CONTENT
% -------------------------------------
\name{Devin}{Pohl\vspace{0.25em}}
\address{Atlanta, Georgia}{United States}
\phone[mobile]{+1 (505) 419-1052}
\email{[email protected]}
\iftoggle{personalemail}{
\social[email2]{[email protected] } % space so newline behaves
}{}
\social[github]{Shizcow}
%\social[arch]{Shizcow}
\social[homepage]{www.pohldev.in}
\begin{document}
\makecvtitle
% -------------------------------------
% SUMMARY
% -------------------------------------
\vspace{-3em} % used to remove annoying vertical space under title
\begin{center}
\small{
\begin{tabular}{l}
I am a second-year PhD student continuing my research on exploring new compiler directions for novel architectures. \\
I have identified research interests in extreme heterogeneity, software-hardware co-design, and constraint programming. \\
\end{tabular}
}
\end{center}
\vspace{-1.5em} % used to make last workaround look consistant
% -------------------------------------
% EDUCATION
% -------------------------------------
\section{Education}
\begin{itemize}
\item{\cventry{Atlanta, GA}{Doctorate of Philosophy in Computer Science}{Georgia Institute of Technology}{Aug 2023 \textendash\xspace Present}{}{
\begin{itemize}
\item Advisor: \httplink[Vivek Sarkar]{vsarkar.cc.gatech.edu/}
\item Research Experience: Compilers, Non-CMOS Architectures, Superconducting Architectures, Spiking Neural Networks
\end{itemize}
}}
\item{\cventry{Fort Collins, CO}{Bachelor of Science in Computer Engineering, Minor in Mathematics, Minor in Computer Science}{Colorado State University}{May 2022}{}{
\begin{itemize}
\item
\textbf{Academic Distinctions:}
\iftoggle{silvermedal}{
\begin{itemize}
\item
\textit{2022 CEC Silver Medal Candidate}: Recognized as the number one computer engineering undergraduate in all of Colorado
\end{itemize}
}{
\textit{summa cum laude}, 4.0 GPA
}
\iftoggle{undergradcoursework}{
\item
\textbf{Relevant Coursework:}
Compilers,
Fault Tolerant Computing,
Computer Micro-Architecture,
VLSI,
Software Engineering,
\\
Abstract and Discrete Mathematics,
Computer Networking,
Operating Systems,
Analog and Digital Circuit Design
}{}
\end{itemize}
}}
\end{itemize}
% -------------------------------------
% WORK EXPERIENCE
% -------------------------------------
\section{Work Experience}
\begin{itemize}
\item{\cventry{Oak Ridge, TN}{Oak Ridge National Laboratory \textemdash\xspace Abisko Project}
{Research Intern}{May 2024 \textendash\xspace Aug 2024}{}{
\begin{itemize}
\item Researched hardware-software co-design for running spiking neural networks on non-CMOS accelerators
\item Implemented a mapping tool with Google OR-Tools targeting heterogeneous memristor crossbar architectures
\item Extended processor simulator to correctly support multi-crossbar execution with network logging for profile-guided optimization
\item Started a body of work targeting multiple publications on optimal mapping, hotspot minimization, and architecture aware training
\end{itemize}
}}
\item{\cventry{Redmond, WA}{Microsoft \textemdash\xspace DevDiv PLINCO Team}
{Compiler Engineer}{Jun 2022 \textendash\xspace Aug 2023}{}{
\begin{itemize}
\item Implemented features and fixing bugs in MSVC's linker, assemblers, and compiler back-end
\item Contributed early implementation work towards ARM64 native toolchain bringup
\item Led implementation effort for automated testing of toolchain determinism
\item Focused on machine-dependent codegen, determinism, and build modernization
\end{itemize}
}}
\item{\cventry{Fort Collins, CO}{Hewlett Packard Enterprise \textemdash\xspace NonStop Low-Level Team}
{Platform Engineering Intern}{May 2021 \textendash\xspace Aug 2021}{}{
\iftoggle{earlyinterndesc}{
\begin{itemize}
\item Designed a performance modeling library to mock enterprise-grade RDMA behavior without dedicated hardware
\item Proved feasibility of an implementation method that would drastically reduce startup cost for new customers
\item Worked in C with InfiniBand and NSK to invisibly apply kernel-mode modifications to existing benchmarks and applications
\end{itemize}}{}
}}
\item{\cventry{Fort Collins, CO}{Hewlett Packard Enterprise \textemdash\xspace NonStop Manageability Team}
{Software Development Intern}{May 2020 \textendash\xspace Aug 2020}{}{
\iftoggle{earlyinterndesc}{
\begin{itemize}
\item Improved and optimized OSM, the main application for maintaining, updating,
and upgrading NonStop servers
\item Migrated critical security procedures from CLI to GUI, cutting down on time
overhead and human error for end-users
\item Worked in Java, using Swing, AWT, RMI, and several internal HPE libraries
\end{itemize}}{}
}}
\end{itemize}
\vspace{-1.25em} % There's an inconsistant amount of space between these two sections for some reason
% -------------------------------------
% NOTABLE PROJECTS
% -------------------------------------
\section{Notable Projects}
\begin{itemize}
\item{\cventry{\httplink[CRNCH Lab]{crnch.gatech.edu/}}{Georgia Institute of Technology \textemdash\xspace Supervised by \httplink[Tom Conte]{ece.gatech.edu/directory/tom-conte} and \httplink[Vivek Sarkar]{vsarkar.cc.gatech.edu/}}
{Syndra Compiler}{Aug 2023 \textendash\xspace Present}{}{
\begin{itemize}
\item Building an optimizing compiler for a dataflow-based superconducting processor
\item Optimizations include SMT-driven optimal scheduling, simultaneous scheduling and register allocation,\\
and profile-guided / speculative optimizations (global instruction scheduling)
\item Written from the ground-up in C++ to compile RISC-V traces and RISC-V assembly to Syndra assembly
\end{itemize}
}}
\iftoggle{yashwant}{
\item{\cventry{Department of Computer Science}{Colorado State University \textemdash\xspace Supervised by \httplink[Yashwant Malaiya]{cs.colostate.edu/~malaiya/}}
{Academic Research: Practical Program Equivalence}{Concluded May 2022}{}{
\begin{itemize}
\item Wrote a tool to prove program equivalence across software versions via LLVM symbolic execution
\item Achieved non-trivial equivalence analysis on Rust and \Cpp code, with graphical commentary on divergence
\item Implemented using Rust; symbolic computations solved with Haybale and Boolector
\end{itemize}
}}}{}
\iftoggle{seniord}{
\item{\cventry{Department of Electrical and Computer Engineering}{Colorado State University \textemdash\xspace Supervised by \httplink[Olivera Notaros]{www.engr.colostate.edu/ece/people/olivera-notaros/}}
{Senior Design Project}{Completed May 2022}{}{
\begin{itemize}
\item Designing and implementing an embedded systems framework for enterprise-grade
quadrupedal robotics applications
\item Extending existing open-source designs to provide feature-parity with existing
industry solutions at a fraction of the cost
\item Collaborating with ECE Outreach to excite middle and high school students
about Electrical and Computer Engineering
\end{itemize}
}}}{}
\iftoggle{hotpatch}{
\item{\cventry{\protect\raisebox{-0.25mm}{\includegraphics[scale=0.205,decodearray={0 0 0 0 0 0}]{rust_logo.png}}\xspace\httplink[docs.rs/hotpatch]{docs.rs/hotpatch/0.3.0/hotpatch/}}{\protect\faGithub\xspace\httplink[Shizcow/hotpatch]{www.github.com/Shizcow/hotpatch}}{hotpatch}{v0.3.0 Released Feb 2021}{}{
\begin{itemize}
\item Rust crate for cross-platform hot-reloading of functions and methods at runtime as easily as possible
\item Guarantees memory safety, thread safety, deadlock protection, type correctness, and name-space parity
\end{itemize}
}}}{}
\iftoggle{dmenu}{
\item{\cventry{\protect\raisebox{-0.25mm}{\includegraphics[scale=0.205,decodearray={0 0 0 0 0 0}]{arch_logo.png}}\xspace\httplink[arch::aur::dmenu-rs]{aur.archlinux.org/packages/dmenu-rs}}{\protect\faGithub\xspace\httplink[Shizcow/dmenu-rs]{www.github.com/Shizcow/dmenu-rs}}{dmenu-rs}{v5.5.4 Released Aug 2024}{}{
\begin{itemize}
\item A program launcher, unit-aware calculator, spellchecker, search engine
dispatcher, and general purpose menu for Linux
\item A port of the popular GNU utility dmenu to Rust, garnering thousands of users and 190\+ stars on GitHub
\end{itemize}
}}}{}
\end{itemize}
% -------------------------------------
% TECHNICAL SKILLS
% -------------------------------------
\section{Technical Skills}
\begin{itemize}
\item \textbf{Programming Languages:}
\begin{itemize}
\item \makebox[3.5cm][l]{Low-Level} ARM Assembly, RISC-V Assembly, \textbf{LLVM}, MASM, MIPS, x86 and x64 Assembly, UTC IR
\item \makebox[3.5cm][l]{High-Level} \textbf{C}, \textbf{\Cpp}, Matlab, Java, JavaScript/TypeScript, Lisp, Python, Scala, \textbf{Rust}
\item \makebox[3.5cm][l]{Synthetic} GLSL, \LaTeX, Spice, Verilog
\end{itemize}
\item \textbf{Libraries, and Tools:}
\begin{itemize}
\item \makebox[3.5cm][l]{Computational} Boolector, CaDiCaL, \textbf{Google OR-Tools}, GMP, OpenCL, OpenMP, Rink.rs, SageMath, Z3
\item \makebox[3.5cm][l]{Graphical} X11, XCB, Cairo, Pango, Unicode CLDR, GTK, Qt
\end{itemize}
\end{itemize}
% for some reason, it's assumed that multiple pages exist
% make this page look shorter so a '1/2' toast isn't visible
\vspace*{-4cm}
\end{document}