CV
PDF available here
Research Interests
Parallel Computer Architectures, GPU Programming, Graph Analytics, Machine Learning, Autonomous Systems, Robotics, Control Systems
Education
University of California, Davis
- Ph.D. Electical Engineering
- September 2018 - Present
- Focus: GPU-Accelerated Graph Algorithms
- Advisor: Dr. John Owens
- GPA: 4.00/4.00
- B.S. Electrical Engineering
- September 2014 - March 2018
- GPA: 3.96/4.00
- Awards:
- Outstanding Senior in Electrical Engineering (1 per year)
- Dean’s List: 10 Quarters
- Robert Murdoch Memorial Scholarship
- Fred Fuchslin Memorial Scholarship
- Pedrozzi Scholarship
- Best Undergraduate Poster - UC Davis ECE Industrial Affiliates Conference 2018
Experience
NVIDIA Research
Architecture Research Group Intern
June 2021 - September 2021
- Explored producer/consumer dataflow programming models in CUDA, with the goal of simplifying warp specialization, expanding GPU asynchrony, and exposing opportunities for future hardware acceleration.
Architecture Research Group Intern
March 2020 - June 2020
- Modeled the performance of load-balancing and data locality for graph analytics and sparse linear algebra using a cycle-accurate hardware simulator based on NVArchSim as part of the “Symphony” project in DARPA’s Software-Defined Hardware Program.
- Contributed to the Symphony programming model emulator (“Symphonic CUDA”) and hardware simulator (“SymSim”) as part of a team of approximately 10 researchers and software engineers.
Owens Research Group
Graduate Student Researcher
January 2019 - Present
- Researching methods to map GPU graph algorithms and load-balancing methods to reconfigurable GPU hardware and an explicit data orchestration programming model in collaboration with NVIDIA as part of DARPA’s Software-Defined Hardware program.
- Exploring the tradeoffs between load balancing and locality for sparse linear algebra workloads.
- Implemented the HITS graph ranking algorithm in CUDA and the Gunrock open-source parallel graph analytics library, now used as part of NVIDIA’s open-source RAPIDS CuGraph data analytics library. (Link)
- Co-Administrator of a Slurm compute cluster with 15+ users and 4x multi-GPU compute nodes.
NASA Jet Propulsion Laboratory
Guidance & Control Intern
June 2018 - September 2018
- Developed control algorithms and software drivers to enable automated position and attitude control of a planar air-bearing platform used for CubeSat formation flying, pointing, and rendezvous experiments.
- Formulated and executed a series of laboratory tests to fully characterize the planar platform’s physical properties, software performance, and position-control capabilities. Extensive data analysis performed using MATLAB.
- Jet Propulsion Laboratory Small Satellite Dynamics Testbed Planar Air-Bearing Propulsion System Characterization paper published in the Journal of Spacecraft and Rockets covering the platform’s design, performance capabilities, and applications to future CubeSat missions.
- Portfolio Link
Lawrence Livermore National Laboratory
Computational Engineering Intern
March 2018 - June 2018
- Researched and simulated decentralized signal detection algorithms, information-exchange schemes, and motion strategies for chemical plume identification and localization using UAV robotic swarms.
- Created a Python module to enable development and analysis of collaborative, autonomous swarm scenarios, which was used by LLNL scientists and for a 3D visualization collaboration with UCSD.
- Portfolio Link
Engineering Intern
June 2017 - September 2017
- Created a sensor and LabView virtual instrument used to measure and track the capacitance of over 4000 high energy-density capacitors for preventative maintenance. Achieved accuracy within 3% and repeatability within 1%.
- Portfolio Link
Yankelevich & Marcu Laboratory
Undergraduate Research Assistant
January 2017 - March 2018
- Implemented low-cost, automated hardware and software systems to capture, analyze, and visualize fluorescence lifetime imaging data for guided surgery applications using C++ and Python on a Raspberry Pi computer.
- Portfolio Link
Silva Laboratory
Undergraduate Research Assistant
September 2016 - June 2017
- Designed circuitry and programmed an Arduino for a digitally-controlled syringe with a team of three students. This syringe was used as a low-cost alternative for microfluidic educational and research projects.
- Portfolio Link
Varian Medical Systems
Engineering Intern
June 2016 - September 2016
- Designed PCBs and software used to validate Multi-Leaf Collimator (MLC) motors for radiation therapy machines.
- Programmed a GUI-based application to allow engineers to interface with MLC motor test equipment. Features include telemetry data visualizations, command sequence entry, and debugging tools.
- Portfolio Link
UC Davis C-STEM Center
Research Assistant
January 2016 - June 2016
- Created teaching materials for middle-school students to learn basic coding and robotics concepts.
- Developed code examples for Arduino robotic platforms such as line-following and maze-solving procedures.
- Portfolio Link
White Laboratory
Undergraduate Research Assistant
December 2016
- Created scale models of LA buildings with foam blocks for use in wind tunnel simulations.
Boy Scouts of America
- Achieved the rank of Eagle Scout with a Bronze Palm
Publications
JD Wapman, DC Sternberg, K Lo, M Wang, L Jones-Wilson, S Mohan Journal of Spacecraft and Rockets 58 (4), 954-971. https://doi.org/10.2514/1.A34857
Teaching
Senior Capstone Design (UC Davis EEC 136 A/B)
Teaching Assistant
September 2018 - March 2019
- Assisted students and project teams with circuit design/layout, embedded device programming, project management, and quarterly written reports and presentations.
Conferences
- “Gunrock GPU Graph Analytics,” UC Davis Industrial Affiliates Conference, May 2019.
poster - “Chemical Plume Detection with Collaborative, Autonomous Sensor Networks,” 2018 Signal and Image Sciences Workshop at the Lawrence Livermore National Laboratory, 2018.
poster - “Low-Cost Data Collection Systems for Fluorescence Lifetime Spectroscopy Imaging,” UC Undergraduate Research Ambassador Showcase”, February 2018.
- “Rocket Imaging Payload: Identification of Ground-Based Targets using Contour Detection and Neural Networks with Bluetooth-Enabled Inertial Measurement Unit,” UC Davis Industrial Affiliates Conference, May 2018.
poster- Award: Best Undergraduate Poster
- “Multichannel solid state photodetection system for low-cost fluorescence lifetime spectroscopy (Conference Presentation),” in Advanced Biomedical and Clinical Diagnostic and Surgical Guidance Systems XVI, 2018. (contributed slides)
Courses
Graduate
- Artificial Intelligence (ECS 170)
- Computer Architecture (EEC 270, EEC 271)
- Embedded Computing Systems (EEC 284)
- Linear Systems (EEC 250)
- Nonlinear Systems (EEC 251)
- Numerical Applied Linear Algebra (ECS 230)
- Optimal Control (MAE 298)
- Performance Optimization (EEC 289Q)
- Reinforcement Learning (EEC 289A)
- VLSI Digital Signal Processing (EEC 281)
Undergraduate
- Computer Architecture (EEC 170)
- Control Systems (EEC 157A)
- Design of Coffee (ECM 1)
- Differential Equations (MAT 22B)
- Digital Systems I/II (EEC 180 A/B)
- Discrete Math (ECS 20)
- Electromagnetics I/II (EEC 130 A/B)
- Linear Algebra (MAT 22A)
- Parallel Computer Architectures (EEC 171)
- Probabilistic Analysis (EEC 161)
- Signals & Systems (EEC 150A)
Skills
Languages
English (Fluent), Conversational German, Conversational Spanish
Programming Languages
Bash, C, C++, CUDA, MATLAB, MIPS, Python, Verilog
Tools & Frameworks
OpenCV, Numba, NumPy, SciPy, Gunrock, git, gdb/cuda-gdb, Googletest, Jekyll
Programs
Slurm, Eagle, LabView, Simulink, LaTeX, Linux, Mac OS, Windows, Microsoft Office